Session 08
Observability / Eval / Self-Improvement
Agent 架构不能只看能不能跑,还要看坏了能不能定位、改了能不能证明变好、长期任务能不能复盘。
1. 训练目标
本页要练会:能设计 agent trace、session replay、tool audit、cost/latency attribution 和 eval loop,并比较三类项目的可观测性落点。
主要依据:Claude Agent SDK observability / OpenClaw agent loop persistence / Hermes memory providers。
2. 三项目对照
| 维度 | Claude Code | OpenClaw | Hermes Agent |
|---|---|---|---|
| 可观测对象 | tool events、hooks、cost/usage、sessions、OpenTelemetry。 | agent loop、session store、routing、tool results、Gateway logs。 | provider calls、tools、terminal backend、memory sync、automation runs。 |
| 改进路径 | 通过 hooks、SDK sessions、skills、CLAUDE.md 改行为。 | 通过 runtime config、skills、workspace/context、agent routing 改行为。 | 通过 memory providers、tools/plugins、provider routing、automation 改行为。 |
| 难点 | 产品/SDK 多表面,权限和上下文变动影响结果。 | 自托管和 channel routing 增加日志边界。 | 长期记忆和后台任务让复盘更复杂。 |
3. 组件机制
| 机制 | 解释 |
|---|---|
| Trace | 记录每一步模型输入摘要、工具选择、参数、结果、耗时、成本和错误。 |
| Session replay | 用保存的 session 和工具结果复现一次行为,定位版本差异。 |
| Eval case | 把失败 trace 变成可重复测试样本。 |
| Self-improvement boundary | 自动记忆和自改进必须有审核、评测和回滚。 |
4. 失败模式
| 失败模式 | 为什么危险 |
|---|---|
| 只有日志没有结构 | 无法区分模型错、工具错、上下文错还是权限错。 |
| 记忆自改进无门禁 | agent 把错误经验写进长期记忆,越用越偏。 |
| 成本不可归因 | 多 agent、多工具、多 provider 后不知道钱花在哪里。 |
5. 架构练习
- 为一个 coding agent 设计最小 trace schema。
- 把一次错误工具调用转成 eval case。
- 说明 Hermes memory provider 的自改进为什么需要审计。
6. 知识展开
上面的卡片是索引,点击后跳到对应的详细解释。阅读时不要只记名词,要同时记住组件边界、为什么需要它、三个项目怎么体现,以及你能用什么问题自检。
Trace
记录一次 agent 任务中的输入、上下文、模型调用、工具调用、结果和决策。
Session replay
用保存的会话状态和工具结果重放或复盘 agent 行为。
Eval set
一组代表性任务、预期行为、评分标准和失败标签。
Cost / latency attribution
把成本和延迟归因到模型调用、检索、工具、等待审批和重试。
Quality loop
从 trace/eval/用户反馈中提取改进项,回到 prompt、tool、memory、policy 或 routing。
Detailed Concepts
| 概念 | 是什么 | 为什么重要 | 项目对照 | 自检问题 |
|---|---|---|---|---|
| Trace | 记录一次 agent 任务中的输入、上下文、模型调用、工具调用、结果和决策。 | trace 是调试 agent 的基本证据链。 | Claude Agent SDK 可接 OpenTelemetry;OpenClaw 可从 Gateway/session 采集;Hermes 可从 tool/terminal/memory logs 采集。 | 一次失败是否能定位到具体步骤? |
| Session replay | 用保存的会话状态和工具结果重放或复盘 agent 行为。 | 没有 replay 就只能靠用户描述复现复杂问题。 | OpenClaw session store 适合学 replay;Claude Code 可从会话/patch/命令记录复盘;Hermes 从本地日志和 memory provider 补证据。 | 重放时外部工具结果如何固定? |
| Eval set | 一组代表性任务、预期行为、评分标准和失败标签。 | agent eval 要覆盖工具、上下文、记忆、权限和交付,不只是答案准确率。 | Claude coding 任务可用仓库改动验证;OpenClaw 可用 routing/session 场景;Hermes 可用 automation 任务。 | eval 是否包含失败路径和安全拒绝? |
| Cost / latency attribution | 把成本和延迟归因到模型调用、检索、工具、等待审批和重试。 | 不知道成本来源就无法优化 agent 体验和上线预算。 | 三类系统都要记录 token、tool time、network time、retry count 和 human wait。 | 瓶颈是模型、工具、检索还是编排? |
| Quality loop | 从 trace/eval/用户反馈中提取改进项,回到 prompt、tool、memory、policy 或 routing。 | 没有闭环,agent 只能一次次重复同类失败。 | Claude Code 可调 skills/hooks;OpenClaw 可调 runtime/routing;Hermes 可调 tools/provider/backend。 | 失败修复后是否有回归用例防止复发? |