分享
我们如何为Deep Agents构建评估体系
输入“/”快速插入内容
我们如何为Deep Agents构建评估体系
用户4242
用户4242
3月29日修改
🔗 原文链接:
https://x.com/Vtrivedy10/status/203...
简而言之:最优质的智能体评估方法会直接衡量我们所关注的智能体行为。本文将介绍我们如何采集数据、构建评估指标,并持续开展范围明确、目标精准的实验,从而让智能体更加精准可靠。
评估指标塑造智能体行为
我们一直在精心设计评估体系,用以衡量并优化Deep Agents。Deep Agents是一款开源、不依赖特定模型的智能体框架,为Fleet和Open SWE等产品提供底层支撑。评估体系定义并塑造着智能体的行为表现,因此精心设计评估方案至关重要。
每一项评估都是一个导向向量,会改变智能体系统的运行行为。举例而言,如果针对高效文件读取的评估未通过,你通常会调整系统提示词或read_file工具的描述,逐步引导智能体行为优化直至评估达标。长期来看,你保留的每一项评估都会对整个系统产生持续影响。
新增评估项时必须审慎考量。人们很容易盲目添加成百上千项测试,这会造成一种“智能体性能提升”的假象——即便在这套评估体系中取得高分,也未必能真实反映其在实际生产环境中所需的行为表现。
评估项数量更多≠智能体性能更优。反之,应构建针对性评估,精准匹配生产环境中期望智能体具备的行为能力。
在开发Deep Agents时,我们会梳理出生产环境中关键的智能体行为,例如跨文件系统检索内容、精准连续完成5次及以上工具调用等。我们并未采用综合基准测试任务,而是通过以下方式开展评估设计工作:
•
确定我们希望智能体遵循的行为模式。随后调研并筛选出针对性评估方法,以可验证的方式衡量这些行为。
•
为每一项评估添加文档字符串,说明其如何衡量智能体的某项能力,确保每项评估均可自我说明。同时为各项评估打上工具使用等类别标签,以便分组运行。
•
复盘输出轨迹,梳理故障模式,并完善评估覆盖范围。
由于我们将每一次评估运行都追踪至一个共享的LangSmith</b>项目,团队中的任何人都能随时介入分析问题、进行修复,并重新评估某项评估的价值。这就形成了共同负责添加和维护优质评估的机制。在多项评估中运行大量模型也可能产生高昂成本,因此针对性评估既能节约成本,又能优化你的智能体。
本文将介绍:
•
我们如何筛选数据
•
我们如何定义指标
•
我们如何开展评估
我们如何筛选整理数据
我们获取评估数据主要有以下几种方式:
- 借助对智能体进行内部试用所获得的反馈
- 从外部基准测试(如Terminal Bench 2.0或BFCL)中选取部分评估内容,并常针对特定智能体进行适配调整
- 针对我们认为重要的行为,手动编写专属评估案例与单元测试
我们每天都会对智能体进行内部实测。每一次出现的错误,都是我们编写评估用例、更新智能体定义以及上下文工程实践方法的契机。
注:我们将SDK单元测试与集成测试(系统提示透传、中断配置、子智能体路由)和模型能力评估区分开来。所有模型都能通过这类测试,因此将其纳入评分体系并不会产生有效参考价值。你务必编写单元测试与集成测试,但本篇博客仅聚焦于模型能力评估。
对智能体进行自用测试与查阅运行轨迹,是构建评估用例的绝佳途径
这使得发现错误成为可能。追踪日志为我们提供了理解智能体行为的数据。由于追踪日志通常体量庞大,我们会使用Polly或Insights这类内置智能体对其进行大规模分析。你也可以借助其他智能体(如Claude Code或Deep Agents CLI),搭配LangSmith CLI这类工具来拉取追踪日志,实现同样的效果。我们的目标是厘清每一种故障模式,提出修复方案,重新运行智能体,并持续跟踪进展与功能回退情况。