评估与调试

一句话定义:用端到端任务基准评估 Agent,用可观测日志与回放调试 Agent——Agent 的行为由模型动态决定,调试比传统软件更难。

1. Agent 评估的难点

  • 行为由模型动态生成,非确定性,难复现。
  • 单步指标(工具选择准确率)不等于端到端成功。
  • 开放式任务缺乏自动评测。

2. 评估方式

方式 特点
端到端任务基准 给定任务看是否完成(AgentBench、τ-bench、SWE-bench)
轨迹评估 看每步思考/行动是否合理
LLM-as-Judge 用强模型评 Agent 输出
人工评测 可靠但贵
在线 A/B 真实用户反馈

3. 关键指标

  • 任务成功率:端到端是否完成。
  • 步数/效率:用了多少步收敛。
  • 成本:token 消耗。
  • 工具调用准确率:选对工具、填对参数。
  • 安全性:是否触发危险操作/被注入。

4. 调试方法

可观测性

  • 记录每步 thought/action/observation。
  • 保存完整轨迹,支持回放。
  • 工具:LangSmith、Langfuse、Phoenix。

归因分析

  • 失败时回溯:是规划错?工具错?上下文不足?循环失控?
  • 对比成功与失败轨迹找差异。

消融实验

  • 逐个组件验证:换模型、换工具、换提示、换循环结构,看影响。

评测集驱动

  • 建 bad case 集,针对性修复后回归。

5. 常见失败模式

  • 死循环:无终止条件或终止判断失效。
  • 目标漂移:长任务中丢失原始目标。
  • 工具误选:描述不清导致选错工具。
  • 上下文污染:错误信息进入上下文被当真。
  • "看似完成":绕过测试/改测试求通过。

6. 学习要点

  • Agent 评估以端到端任务为准,单步指标不够。
  • 可观测性是调试前提,无日志无从调试。
  • 常见失败模式有套路,建 bad case 集持续改进。

7. 参考资料

  • AgentBench、SWE-bench、τ-bench
  • LangSmith / Langfuse 文档
  • "Cognitive Architectures for Language Agents"(评估章节)