迈向自动化Eval Engineering(5分钟阅读)
摘要
LangChain发布了Eval Engineering Skill,通过映射智能体仓库和生产跟踪数据自动生成可执行的Harbor评估,并采用迭代式用户访谈流程以优化评估。
查看缓存全文
缓存时间: 2026/07/24 05:13
LangChain 发布了一项评估工程技能(Eval Engineering Skill),它能够将代理仓库与生产轨迹映射为可执行的 Harbor 评估。— # 迈向评估工程自动化 今天,我们发布了 评估工程技能(Eval Engineering Skill),这项技能能够帮助编码代理利用仓库上下文和代理轨迹来构建评估。该技能会检视代理的构建方式,如果有可用轨迹,则从中挖掘模式,并提出需要测试的能力。 该技能旨在与用户进行访谈式对话,用户可以就提议给出反馈,并逐步批准每一项评估。最终产出是一组可执行的 Harbor 格式评估。 ## 构建环境与任务 该技能首先读取仓库,并映射代理的表层结构,包括提示词、模型、工具、技能、钩子等。同时,它还会识别支撑这些行为的数据和服务,例如API调用。用户也可以将代理指向轨迹,这些轨迹可通过 langsmith-cli 等工具获取。轨迹展示了工具在实际运行中的行为,比如它们的参数、结果和错误。这些观察到的契约有助于技能在受控环境中复现相关的生产行为。 通过爬取仓库和轨迹,代理能够了解哪些能力对自身重要,从而提出评估任务。我们发现,与用户进行访谈式对话相比一次性生成,评估的接受度要高得多。用户可以从提议的评估方向中进行选择,并就哪些工具和依赖需要真实运行、哪些需要模拟等问题给出指导。例如,会产生费用或需要写入生产的工具调用,可以在每次评估执行时进行模拟而非实际运行。 我们在文档问答代理 chat-langchain 上测试了这一流程。针对该代理,环境需要提供通过基于生产代理的搜索工具暴露的数据语料库。任务包括从真实轨迹中提取的文档问题,以及一个验证器,该验证器通过参考答案字符串和引用的文档来检查答案。 ## 评估设计是迭代的 我们发现,虽然代理有时能够一次性生成评估,但最好的评估来自用户提供反馈并明确哪些能力值得在代理中衡量。编码代理和技能提供了一种自然的界面,其中编码了如何构建优质评估的领域知识,用户可以随着时间的推移对其进行迭代。 例如,在构建验证器时,我们发现第一个验证器很少是最终版本。一个改进它的有效方法是运行评估并检查结果的两方面: - 代理的运行轨迹,包括其消息、工具调用和操作。 - 验证器的运行轨迹、证据、推理过程和最终分数。 这有助于揭示任务或验证器设计是否真的在衡量我们所关心的内容,或者它是否可能被奖励作弊(reward hacked),即代理采取捷径。这些捷径可能包括过度引用不相关的来源以获得满分、声称从未执行过的操作、利用暴露的答案材料,或者在不完成实际任务的情况下满足某个代理指标。观察代理解决问题的轨迹往往会揭示这些失败的根源。然后可以修改任务、环境和验证器,并再次运行。 ## 评估采用 Harbor 格式 该技能将评估构建为 Harbor 任务: - 指令: 任务开始时给代理的消息,描述任务 - 环境: 以 Dockerfile 形式提供,包含任务的设置,例如安装哪些工具或在文件系统中填充哪些数据 - 验证器: 对代理是否正确完成任务进行评分 该技能将这些组件整合为一个 Harbor 任务: markdownevals// ├── task.toml ├── instruction.md ├── environment/ └── tests/ Harbor 在环境中运行代理,并记录其轨迹、工件、奖励和错误。同一评估随后可以针对不同的模型、提示词、工具和代理版本运行。 ## 为何这一点很重要 持续学习可以被视为一个持续的数据挖掘问题:利用生产数据构建评估,从而随着时间的推移改进代理。团队挖掘轨迹以发现重复的用户请求、错误、失败的工具调用和不正确的状态变更,这些都会转化为评估,以便在未来衡量和预防相同的行为。 评估是代理的训练数据。团队可以通过对 harness 工程(如更改提示词和工具或微调)来让代理行为适应这些评估。评估提供了一个固定的目标,用于判断这些更改是否改进了预期的能力。 容器化的评估加速了这一过程。任务和环境保持稳定,而代理配置发生变化,因此构建者可以交换模型、工具、提示词或完整的代理版本,并直接比较结果。多个配置可以并行运行。可复现的环境对于这种信号至关重要。当评估从生产中镜像出相关的工具、数据、权限、状态和故障模式时,构建者就获得了一个稳定的测试平台,同时仍然能够代表代理的实际运行方式。他们可以快速实验,而无需依赖不断变化的生产系统或写入生产状态。 由此产生的循环是:挖掘轨迹 -> 识别故障 -> 构建评估 -> 改进代理 -> 重新运行 ## 立即尝试 评估工程技能(Eval Engineering Skill)已在 langchain-ai/langchain-skills 仓库中提供。在 Codex 或 Claude Code 中安装该技能,打开包含你要评估的代理的仓库,将代理指向一组轨迹(如有),然后从一个简单的提示开始: 我们期待扩展这项技能,并构建工具以更轻松地自动构建评估,并使代理能够自主地适应这些评估。
相似文章
@LangChain:如何使用 @harborframework 和 LangSmith 沙箱运行智能体评估,包含完整追踪。
使用 Harbor 框架和 LangSmith 沙箱运行智能体评估的指南,提供完整追踪支持。
@LangChain: 改进智能体 旧方法:手动读取追踪、寻找模式、编写评估、创建修复。更好的办法…
这条推文对比了改进AI智能体的旧手动方法与使用LangSmith Engine的新自动化方法,后者循环进行追踪、评估和修复。
自动化智能体评估的实证研究
本文介绍了 EvalAgent,这是一个通过编码领域专业知识来自动化 AI 智能体评估的系统,旨在解决标准编程助手在此任务中的局限性。此外,本文还提出了用于测试评估流程的基准 AgentEvalBench,并展示了在评估可靠性方面的显著提升。
@Vtrivedy10: 我最喜欢的问题,昨天在AIE演讲中讨论了代码智能体的评估+改进循环基础设施和用户体验!有点偏见,但……
演讲者讨论了评估和改进代码智能体的重要性,强调了LangSmith与Harbor的集成,以提供在隔离环境中运行、追踪和改进智能体评估的统一栈。
@HamelHusain: 新博客文章:自动化评估有效吗?最近出现了一些工具,通过AI分析你的追踪数据来识别问题…
Parlance Labs的一篇博客文章在真实生产数据上测试了自动化AI评估工具(Braintrust Loop、Arize Alyx、LangSmith Engine),发现它们能捕获人类标记的87%的问题,但会遗漏领域特定的失败案例并引入噪音,建议采用迭代式人机协同使用。