AI 编程与智能体工程 · 第 11 期

Agent 出 bug 你怎么复盘·tracing 与会话回放

tracing & session replay

Agent 出 bug,你只看到"失败了"——没 tracing = 黑盒,永远修不了根因。tracing 记每一步的输入/输出/工具调用/耗时,会话回放让你像看录像一样逐帧复现。没有 trace 的 Agent,调试只能靠猜。
⏱ 约 9 分钟 🎯 Agent 上线后频繁出 bug、却不知道哪步坏的工程师 📦 源:agent-harness §9

01没 trace 的 Agent,调试靠猜

Agent 一次任务跑 20 步,最后报错"测试失败"。你打开日志——只有一行 stack trace,根本不知道是第几步的哪个工具调用埋下的雷。这是没 tracing 的常态。

好的 tracing 至少记四样东西,每步都记:

有了这四样,bug 复盘从"猜哪步坏了"变成"回放看哪步坏了"。trace 是 Agent 的黑匣子,不是可选的日志。

没 trace 的 Agent,
调试只能靠猜。
灏天文库 · AI 编程与智能体工程 P.33

02tracing 时间轴:点步骤看状态

下面是一次 Agent 任务的 trace。点任意一步,看它的输入、输出、工具调用、耗时——这就是会话回放的样子。

🔎 tracing 时间轴
点任意步骤,查看该步的完整状态。
    步骤详情
    ← 点上面任意一步查看

    03会话回放:像看录像一样复现

    trace 记下来之后,会话回放是把它"播放"出来:按时间顺序逐步展示,可以前进/后退/跳转,必要时把某一步的输入重新喂给模型,看会不会复现同样的错。

    三个让回放真正可用的关键设计:

    trace 是 Agent 的黑匣子,
    不是可选的日志。
    灏天文库 · AI 编程与智能体工程 P.34

    04带走这套清单

    ✅ tracing 与回放 6 条可执行规则

    1. 每步记四样:输入、输出、工具调用、耗时与 token——少一样都复现不了。
    2. 结构化存 JSON,别只写文本日志;文本日志没法回放。
    3. 工具调用支持 mock 重放,否则联网工具结果变了,回放就断。
    4. 成功任务存摘要,失败任务存全量 trace,控制存储成本。
    5. 给 trace 加 trace_id,和用户反馈/bug 报告关联,能精准定位是哪次任务。
    6. 每周看一次失败任务的 trace,找共性根因——单次 bug 是症状,模式才是病。
    单次 bug 是症状,
    模式才是病。
    灏天文库 · AI 编程与智能体工程 P.35