Demystifying Evals for AI Agents
Anthropic 文章学习笔记 + Langfuse / LangSmith 对比。重点放在多 Agent 产品真正需要的:trace、handoff、自主闭环、回归测试与线上监控。
Sources: Anthropic Engineering, Langfuse Docs, LangSmith Docs
Agent eval 不是“答案打分”,而是评估系统行为
普通 LLM eval 看 input → output;Agent eval 必须看 task → trajectory → tool use → environment state → outcome。
为什么更难
- 多轮、长链路、状态会变。
- 工具调用与外部环境引入不可控因素。
- 同一任务可能有多条正确路径。
- 非确定性要求多次 trial,而不是一次样本。
必须同时观察
- Transcript / Trace:每一步决策和工具调用。
- Outcome:最终环境是否真的变对了。
- Metrics:成本、延迟、轮数、工具调用次数。
- Failure taxonomy:失败到底发生在哪一层。
一个 Agent Eval 的最小组成
Task
有输入、约束、成功标准的测试用例。最好来自真实用户任务和线上失败。
Trial
同一 task 的一次运行。Agent 非确定性强,所以要重复运行观察方差。
Grader
判断结果/过程是否合格:代码、LLM judge、人工评审可组合。
Transcript / Trace
完整轨迹:消息、tool calls、handoff、错误、重试、状态变化。
Eval Harness
运行任务、隔离环境、收集结果、聚合指标的基础设施。
Eval Suite
围绕一类能力的一组任务,成熟后可升级为 regression gate。
三类 Grader:能确定就别“玄学”
| 类型 | 适合什么 | 优点 | 风险 |
|---|---|---|---|
| Code-based | 单测、schema、状态检查、side effect、工具调用约束 | 快、便宜、稳定、可复现 | 容易过拟合路径,难评开放式质量 |
| LLM Judge | 完整性、协作质量、handoff 充分性、用户沟通 | 灵活、覆盖开放任务 | 非确定、需校准、成本更高 |
| Human | 专家抽样、标注、judge 校准、错误分类 | 黄金标准 | 慢、贵,不适合高频 CI |
推荐原则:优先评估 outcome,而不是强制 agent 走某条固定路径;但对安全、权限、成本、危险工具调用,要明确设 forbidden checks。
Capability eval 和 Regression eval 要分开
Capability / Quality Eval
回答“Agent 现在能做到什么?”初期通过率可以低,用来发现能力边界和改进方向。
探索爬坡错误分类
Regression Eval
回答“以前能做到的,现在还稳不稳?”应接近 100% pass,适合作为 release gate。
稳定CI/CD防退化
Agent 需要看稳定性,而不是只看平均分
pass@k
k 次尝试中至少一次成功。适合“允许多次尝试,只要最终成功”的后台任务。
pass^k
k 次尝试全部成功。更贴近用户体验和生产可靠性:用户一般只给你一次机会。
对 Crewden:pass@1 衡量首次解决能力,pass^3 / pass^5 衡量稳定性,配合 成本、延迟、工具调用数、人类介入率 才完整。
Langfuse:开源、自托管优先的 LLM/Agent observability + eval 底座
Observability
- 记录 traces / sessions / observations。
- 捕获 LLM、工具、RAG、API、token、成本、延迟。
- 支持 OpenTelemetry、metadata、tags、环境区分。
- Agent Graphs / MCP tracing 对 agent 产品友好。
Evaluation
- Offline:dataset → experiment → scores。
- Online:对线上 traces 自动或人工打分。
- score 可挂在 trace、observation、session、dataset run。
- 支持 LLM-as-Judge、annotation queues、UI/API 打分。
适合 Crewden 的点:如果想保留数据控制权、减少 vendor lock-in,并且技术栈不想绑定 LangChain,Langfuse 是更自然的主 observability 层。
LangSmith:LangChain / LangGraph 生态里最顺手的 agent 开发评估平台
Observability
- Project / Trace / Run / Thread 数据模型。
- 自动集成 LangChain、LangGraph,也支持其他框架。
- 支持 tags、metadata、feedback、dashboards、alerts。
- Polly assistant 可辅助分析 traces / runs / threads。
Evaluation
- Offline eval:dataset、experiment、repetitions、caching。
- Online eval:生产 runs / threads 监控。
- Evaluators:Human、Code、LLM-as-Judge、Pairwise。
- Annotation queues、assertions、evaluator audit。
适合 Crewden 的点:如果 Crewden 深度采用 LangGraph/LangChain,LangSmith 的 tracing、eval、deployment、annotation 工作流会更一体化。
选择不是“谁更强”,而是“你的系统重心在哪里”
| 维度 | Langfuse | LangSmith |
|---|---|---|
| 定位 | 开源、自托管优先 LLM engineering platform | LangChain 生态核心平台,构建/调试/评估/部署一体化 |
| Tracing | traces / sessions / observations,OTel、Agent Graphs、MCP tracing | project / trace / run / thread,LangChain/LangGraph 集成成熟 |
| Eval | dataset、experiments、scores、LLM judge、annotation queues | datasets、experiments、evaluators、assertions、online eval |
| 优势 | 开放、可控、自托管、低绑定 | 生态完整、agent dev workflow 顺、LangGraph 友好 |
| 注意 | 要自己把流程和 release gate 串起来 | 平台绑定和商业属性更强 |
Crewden 应该把这些维度升成一等指标
任务完成
是否真的完成用户目标?看最终状态,而不是只看文本回答。
Handoff / 协作
是否交给正确 agent?上下文是否完整?是否重复/冲突?
自主性
能否主动拆解、选工具、补信息;该澄清时澄清,不该越权时不越权。
闭环解决
执行 → 观察 → 发现失败 → 修正 → 再验证,而不是“假设成功”。
工具使用
tool args 是否有效?错误能否恢复?是否调用了危险或无关工具?
效率可靠
pass@1、pass^k、成本、延迟、轮数、人类介入率。
推荐的 Crewden Eval Stack
- Tracing 层:每个用户任务一个 trace;每个 agent step/tool call/handoff/memory 操作一个 span。
- Offline Dataset:先做 30–50 条,覆盖 happy path、常见任务、边界异常、多 agent handoff、长链路闭环。
- Hybrid Graders:确定性检查 outcome/schema/side effect;LLM judge 评协作质量;人工每周抽样校准。
- Online Eval:对生产 traces 监控工具错误、循环卡死、未验证完成、unsafe action、人类接管。
- Regression Gate:每次改 prompt/model/tool/agent graph/memory 策略前跑回归。
早期建议:不要一上来堆复杂平台。先把 trace schema、30–50 条高质量任务、确定性 outcome checks 做扎实。
指标表:从“看起来能用”变成“知道哪里坏”
| 维度 | 指标示例 |
|---|---|
| 任务完成 | outcome_success、state_match、user_goal_achieved |
| 协作 | correct_handoff_rate、handoff_context_completeness、duplicate_work_rate |
| 自主性 | clarification_when_needed、unnecessary_clarification_rate、over_autonomy_incidents |
| 闭环 | verification_performed、retry_after_failure、self_correction_success |
| 工具 | tool_success_rate、wrong_tool_rate、tool_arg_validity |
| 稳定/效率 | pass@1、pass^3、variance、turns、tool_calls、tokens、latency、cost |
| 安全/体验 | unauthorized_action、PII_leak、helpfulness、user_feedback_score |
推荐迭代节奏:读 trace,而不是只看 dashboard
每周固定抽样阅读成功和失败轨迹:分数告诉你有问题,trace 才告诉你为什么。
最终结论
- Agent eval 的对象是 过程 + 工具 + 状态 + 结果 + 稳定性,不是单个答案。
- 没有 trace,就无法解释失败;没有 outcome check,就容易被“说得像完成了”骗过。
- Langfuse 更适合作为开放、自托管 observability/eval 底座;LangSmith 更适合 LangGraph/LangChain 深度工作流。
- 对 Crewden,最关键的是 handoff、agent 自主性、闭环验证和失败恢复,而不是再堆更多机制。
- 工具平台只是加速器;真正的壁垒是高质量任务集、稳定 harness、清晰 grader 和持续维护。
参考链接
- Anthropic Engineering — Demystifying evals for AI agents
- Langfuse Docs — Overview, Observability, Evaluation, Agent Graphs
- LangSmith Docs — Home, Observability, Evaluation, Evaluation Concepts
Prepared for Link by Claw 🐾