LangChain发布Agent评测常见问题指南,覆盖离线与在线评测
LangChain在其博客中整理了团队在LangSmith平台上遇到的常见评测问题,涵盖从起步方法、离线与在线评测的区别、四类评测器、LLM评委可信度、基准测试到多轮对话评测等内容。
AI解读:LangChain博客发布了一篇关于Agent评测常见问题的指南,内容基于团队在LangSmith平台上的经验。
文章建议评测从阅读trace开始,先选一个关心的行为,用 10 到 20 个示例建立数据集,运行基线并持续添加失败案例。
离线评测在发布前用固定数据集运行,在线评测对生产trace打分;两者相互补充,在线发现的失败可加入离线数据集。
评测器分为代码评测、LLM评委、人工评审和成对比较四类,可作用于单步、最终回复、完整对话或环境最终状态。
文章称LLM评委需要与人工打分对比校准,并建议使用二元通过/失败或少量标签类别而非 1 到 10 分制。
基准测试被描述为一种离线评测,任务包含容器环境,通过检查运行后的环境状态来打分;Harbor是支撑Terminal-Bench的开源评测框架。
LangChain在其博客发布了一篇题为《Agent Evals最常见问题解答》的文章,整理了团队在LangSmith平台上遇到的常见评测问题。文章面向正在构建和发布Agent的开发者,介绍了从起步到成本控制、多轮对话评测和框架兼容性等话题。
文章由LangChain团队撰写,基于其在LangSmith(LangChain的Agent工程平台)上的工作经验。文中提到的具体做法、产品能力和案例均来自该团队的自述。
起步方法与离线/在线评测
文章建议评测从理解Agent的实际行为开始:阅读trace样本,找出Agent如何处理请求以及在哪里出错。然后选一个关心的行为,用 10 到 20 个示例建立数据集,运行当前Agent得到基线实验,并持续把新发现的失败加入数据集。
离线评测在发布变更前用数据集运行,可选择包含期望输出,用于比较不同Agent版本的实验结果,适合测试新提示词、模型或工具以及捕获回归。在线评测对生产trace打分,通常没有参考输出,依赖代码检查和LLM评委,用于监控质量并发现数据集遗漏的问题。文章称两者需要同时使用,在线评测标记的失败会成为离线数据集的新示例。
- 起步建议:读trace、选行为、建 10 到 20 个示例的数据集、跑基线、持续添加失败
- 离线评测:发布前用数据集运行,可含期望输出,用于版本对比和回归检测
- 在线评测:对生产trace打分,无参考输出,用于监控质量和发现数据集遗漏
- 数据集划分规则:同一行为同一评测器放同一数据集;输入不同、评测器不同或用途不同则新建数据集
评测器类型与LLM评委
文章列出四类常见评测器:代码评测器做确定性检查,快、便宜、一致,但受限于确定性输入输出;LLM评委用模型给代码难以检查的内容打分;人工评审由团队或专家直接打分,速度慢但对主观质量信号最好;成对比较评测器并排比较两个输出,用于选择提示词或模型。
对于LLM评委,文章建议将其与人工打分对比,调整评委提示词或示例直到一致;提问要窄,例如问“回复是否提到每个经停点”而非“回复好不好”;评分量表要精确,二元通过/失败或少量标签类比 1 到 10 分制更可复现。文章还提到LangSmith的标注队列和LLM-as-a-judge文档可辅助这一过程。
- 代码评测器:确定性检查,快、便宜、一致
- LLM评委:用模型给代码难以检查的内容打分,需与人工打分校准
- 人工评审:速度慢,但对主观质量信号最好
- 成对比较:并排比较两个输出,用于选择提示词或模型
- 评测对象可以是单步、最终回复、完整对话或环境最终状态
基准测试、成本与多轮对话
文章将基准测试描述为一种离线评测,由一组任务组成,每个任务包含指令、容器环境和评分测试脚本。随着Agent能执行代码、编辑文件并与服务交互,简单的LLM评委或代码评测往往不够,基准测试通过隔离容器环境来模拟多步行为。Harbor被描述为支撑Terminal-Bench的开源评测框架,可将每次运行记录为LangSmith实验。文章提到团队使用该设置改进Deep Agents在Terminal-Bench 2.0上的表现,并构建了用于LangSmith Engine的IssueBench。
关于在线评测成本,文章建议采样和过滤(如只对一定比例流量或匹配特定过滤条件的trace打分)、尽量使用代码检查、使用更便宜的评委。文中引用了一个名为Jev-as-a-Judge的实验:来自TypeSafe AI的Jev在所有通过/失败决策上与人工标签一致,总成本 0.34 美元,而Claude Sonnet 4.6为 28.17 美元。
对于多轮对话,文章建议在trace元数据中传入线程ID以将各轮分组为线程,然后附加在线评测器在对话结束后对整条线程打分,问题如“最终预订是否反映了用户要求的所有更改”。离线评测可将完整对话存为数据集示例,或用LLM模拟用户。
文章还说明LangSmith与框架无关,可通过框架集成、模型提供商包装器或 @traceable装饰器发送trace,并称从现有评测栈迁移时数据集、代码评测器、LLM评委和trace大多可以保留。
- 基准测试任务包含指令、容器环境和测试脚本,评分检查运行后的环境状态
- Harbor是支撑Terminal-Bench的开源评测框架,可将运行记录为LangSmith实验
- 在线评测成本控制:采样过滤、用代码检查代替LLM评委、使用更便宜的评委
- Jev-as-a-Judge实验称Jev与人工标签一致,成本 0.34 美元,对比Claude Sonnet 4.6的 28.17 美元
- 多轮对话评测:用线程ID分组,在线评测器在对话结束后对整条线程打分
- LangSmith称与框架无关,支持OpenAI Agents SDK、Claude Agent SDK等集成