核心要点
- 好的 eval 不是越多越好,而是越贴近生产中关键行为越好。
- LangChain 通过 dogfooding、外部 benchmark 和手写 eval 三类来源构建数据。
- 每个 eval 都要说明自己测什么行为,并通过 trace 回看失败模式。
- 评测本身会反过来塑造 agent 行为,因此必须谨慎设计。
原文链接 English Original — LangChain Blog, by LangChain Team
这篇文章从实践角度回答了一个常见误区:更多 eval 并不等于更好的 agent。 作者强调,真正好的评测应该直接衡量你在生产里关心的行为,而不是为了“分数更高”盲目堆上成百上千个测试。 LangChain 在构建 Deep Agents 的 eval 时,先列出他们在真实场景里在乎的行为,例如跨多个文件正确取内容、连续准确地组织 5 次以上工具调用等。然后再反过来决定该设计哪些 targeted eval 去覆盖这些行为,而不是先收一大堆 benchmark 再看能不能解释现实问题。 文章把评测数据来源分成三类:第一类是日常 dogfooding 中暴露的问题;第二类是外部 benchmark 中挑出来、并针对自身 agent 做适配的题目;第三类是人工编写的 eval 与单元测试,用来覆盖团队特别在意但公开 benchmark 不一定有的行为。这个组合很现实——既借助外部标准,也保留内部行为导向。 另一点很关键:每个 eval 都应该是“自解释”的。LangChain 会为 eval 写 docstring,说明它到底在测什么能力,并打上标签,便于后续按类别跑实验。所有运行又统一接入 LangSmith,方便全团队查看 traces、分析失败模式、讨论某条 eval 是否真的值得保留。 这篇文章最大的启发是:评测本身会塑造 agent 行为。你保留什么 eval,系统就会长期朝那个方向被“压”过去。所以 eval 设计不是附属工作,而是 agent 行为定义的一部分。