Files
ai-agent-book/chapter5/adaptive-log-parser/validation/runs/20260729T212342Z-5_7-live/manifest.json
T
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

276 lines
9.0 KiB
JSON

{
"schema_version": "1.0",
"experiment": "5-7",
"run_id": "20260729T212342Z-5_7-live",
"started_at_utc": "2026-07-29T21:23:42.501795+00:00",
"completed_at_utc": "2026-07-29T21:25:15.353838+00:00",
"provider": "ark",
"endpoint": "https://ark.cn-beijing.volces.com/api/v3",
"model": "doubao-seed-1-6-250615",
"source": {
"manuscript": "book/chapter5.md#实验-5-7",
"campaign_sha256": "cafda97001032d4720a5cdd3e920e4c025102486e6158b017be9352b3935664a"
},
"formats": [
{
"name": "live_pipe_parser",
"raw_log": "live-format-1.log",
"raw_log_sha256": "0e6df83a5a373e7adb217708ccfa45df197f2ee84edd638b9db981cba85d5b80",
"samples": 3,
"initial_failures": 3,
"required_keys": [
"timestamp",
"level",
"module",
"step",
"message"
],
"parser": "parsers/live_pipe_parser.py",
"parser_sha256": "8c03fe6676bfe61f78900065f1a4caae5f2ee16ebe563cb57ed2c68bd4e8d4d5",
"test": {
"passed": true,
"report": "[样本1] 通过,解析出字段:['level', 'message', 'module', 'step', 'timestamp']\n[样本2] 通过,解析出字段:['level', 'message', 'module', 'step', 'timestamp']\n[样本3] 通过,解析出字段:['level', 'message', 'module', 'step', 'timestamp']",
"results": [
{
"timestamp": "2026-07-30T05:23:42Z",
"level": "INFO",
"module": "checkout.worker",
"step": "1",
"message": "accepted real request req-81"
},
{
"timestamp": "2026-07-30T05:23:42Z",
"level": "WARNING",
"module": "checkout.worker",
"step": "2",
"message": "retrying payment authorization req-81"
},
{
"timestamp": "2026-07-30T05:23:42Z",
"level": "ERROR",
"module": "checkout.worker",
"step": "3",
"message": "authorization exhausted req-81"
}
]
},
"parsed_after_hot_update": [
{
"_parser": "live_pipe_parser",
"timestamp": "2026-07-30T05:23:42Z",
"level": "INFO",
"module": "checkout.worker",
"step": "1",
"message": "accepted real request req-81"
},
{
"_parser": "live_pipe_parser",
"timestamp": "2026-07-30T05:23:42Z",
"level": "WARNING",
"module": "checkout.worker",
"step": "2",
"message": "retrying payment authorization req-81"
},
{
"_parser": "live_pipe_parser",
"timestamp": "2026-07-30T05:23:42Z",
"level": "ERROR",
"module": "checkout.worker",
"step": "3",
"message": "authorization exhausted req-81"
}
]
},
{
"name": "live_bracket_parser",
"raw_log": "live-format-2.log",
"raw_log_sha256": "b52aa925d76f1c10017d42f16efd4daacf5ed73c9184067bdee9a9e50a7878b6",
"samples": 3,
"initial_failures": 3,
"required_keys": [
"timestamp",
"level",
"tool",
"latency_ms",
"status",
"message"
],
"parser": "parsers/live_bracket_parser.py",
"parser_sha256": "4f1780d6d2e9886eafc1f5a0c3cce09c9873cb4113f9de5f34482d1efc35e07c",
"test": {
"passed": true,
"report": "[样本1] 通过,解析出字段:['latency_ms', 'level', 'message', 'status', 'timestamp', 'tool']\n[样本2] 通过,解析出字段:['latency_ms', 'level', 'message', 'status', 'timestamp', 'tool']\n[样本3] 通过,解析出字段:['latency_ms', 'level', 'message', 'status', 'timestamp', 'tool']",
"results": [
{
"timestamp": "2026-07-29T21:23:42.606+00:00",
"level": "INFO",
"tool": "inventory_lookup",
"latency_ms": 34,
"status": "ok",
"message": "stock check completed"
},
{
"timestamp": "2026-07-29T21:23:42.609+00:00",
"level": "WARNING",
"tool": "payment_api",
"latency_ms": 181,
"status": "retry",
"message": "upstream requested retry"
},
{
"timestamp": "2026-07-29T21:23:42.612+00:00",
"level": "ERROR",
"tool": "payment_api",
"latency_ms": 412,
"status": "timeout",
"message": "deadline exceeded"
}
]
},
"parsed_after_hot_update": [
{
"_parser": "live_bracket_parser",
"timestamp": "2026-07-29T21:23:42.606+00:00",
"level": "INFO",
"tool": "inventory_lookup",
"latency_ms": 34,
"status": "ok",
"message": "stock check completed"
},
{
"_parser": "live_bracket_parser",
"timestamp": "2026-07-29T21:23:42.609+00:00",
"level": "WARNING",
"tool": "payment_api",
"latency_ms": 181,
"status": "retry",
"message": "upstream requested retry"
},
{
"_parser": "live_bracket_parser",
"timestamp": "2026-07-29T21:23:42.612+00:00",
"level": "ERROR",
"tool": "payment_api",
"latency_ms": 412,
"status": "timeout",
"message": "deadline exceeded"
}
]
}
],
"browser": {
"browser": "Chromium",
"version": "139.0.7258.5",
"rows": 6,
"columns": [
"_parser",
"latency_ms",
"level",
"message",
"module",
"status",
"step",
"timestamp",
"tool"
]
},
"vision_judgment": {
"pass": true,
"readable": true,
"has_multiple_parsers": true,
"observed_columns": [
"_parser",
"latency_ms",
"level",
"message",
"module",
"status",
"step",
"timestamp",
"tool"
],
"reason": "The table is readable with clear columns, contains 6 parsed rows, includes multiple parser identifiers (_parser: live_pipe_parser, live_bracket_parser), and structured fields (latency_ms, level, message, etc.)"
},
"usage": {
"calls": 3,
"prompt_tokens": 3696,
"completion_tokens": 4069,
"total_tokens": 7765,
"latency_s": 92.052
},
"artifacts": {
"evidence.json": {
"path": "evidence.json",
"sha256": "5bbdfd7a34e133c51ce96f6cb3139cc90a50462a9f1ddf3963850c7136851d75",
"bytes": 7273
},
"live-format-1.log": {
"path": "live-format-1.log",
"sha256": "0e6df83a5a373e7adb217708ccfa45df197f2ee84edd638b9db981cba85d5b80",
"bytes": 249
},
"live-format-2.log": {
"path": "live-format-2.log",
"sha256": "b52aa925d76f1c10017d42f16efd4daacf5ed73c9184067bdee9a9e50a7878b6",
"bytes": 345
},
"parsers/__pycache__/live_bracket_parser.cpython-311.pyc": {
"path": "parsers/__pycache__/live_bracket_parser.cpython-311.pyc",
"sha256": "096ea41a2b5b1a6cf683d18d05579810f499dbea75366e798c98f882eeab5a8a",
"bytes": 1232
},
"parsers/__pycache__/live_pipe_parser.cpython-311.pyc": {
"path": "parsers/__pycache__/live_pipe_parser.cpython-311.pyc",
"sha256": "fa59fd91273396f06f51866d8cc206cbad0b73a146a0de78f1d5752b6cc4be86",
"bytes": 1200
},
"parsers/live_bracket_parser.py": {
"path": "parsers/live_bracket_parser.py",
"sha256": "4f1780d6d2e9886eafc1f5a0c3cce09c9873cb4113f9de5f34482d1efc35e07c",
"bytes": 869
},
"parsers/live_pipe_parser.py": {
"path": "parsers/live_pipe_parser.py",
"sha256": "8c03fe6676bfe61f78900065f1a4caae5f2ee16ebe563cb57ed2c68bd4e8d4d5",
"bytes": 733
},
"producer-1.py": {
"path": "producer-1.py",
"sha256": "dda2a6a04f198f038d74f78375f8d03eb9e48aeadd672c0b39c13fb2900c69f2",
"bytes": 547
},
"producer-2.py": {
"path": "producer-2.py",
"sha256": "cb6999b88a3bd22a9187cc37efdeec0e02d5a0f70390f21620cab2218b53bb71",
"bytes": 638
},
"receipts.json": {
"path": "receipts.json",
"sha256": "31a3da57aa08f7ec90b591567721fb4a09698365fc7c7710cd9c958e2c647a45",
"bytes": 8546
},
"visualization.html": {
"path": "visualization.html",
"sha256": "3f236a29650312ca11579cd1918e98affc1082c2dac3aeb8dc90bcdae0aaf185",
"bytes": 1693
},
"visualization.png": {
"path": "visualization.png",
"sha256": "d8dfad31b33fc0fa5dcf60b99041e61ef531627e5bde64e92f1cb345ab2cec52",
"bytes": 96289
}
},
"acceptance_gates": {
"raw_logs_emitted_by_real_runtime_processes": true,
"initial_system_detected_every_new_format_failure": true,
"real_model_generated_both_parser_modules": true,
"generated_code_passed_automatic_tests": true,
"hot_update_parsed_every_failed_sample": true,
"persisted_parsers_loaded_after_fresh_engine_restart": true,
"fresh_engine_parsed_entire_mixed_stream": true,
"real_chromium_rendered_visualization": true,
"real_vision_model_approved_rendered_pixels": true,
"raw_provider_receipts_complete": true
},
"official_complete": true
}