AgentEvals 今日发布
给Agent执行轨迹做评测的评估器
产品简介
AgentEvals 是 LangChain 团队开源的 Agent 轨迹评测包,关注的不是最终答案,而是 Agent 走到答案之前那串中间步骤。理由很实在:Agentic 应用把控制流的一部分交给了模型,改动一个环节却可能悄悄影响下游,黑箱属性让"改完就崩"难以归因。这个包提供一组现成的评估器与工具,专门用来给 Agent 的执行轨迹打分,在 GitHub 上有七百五十余星、六十余次 fork,MIT 协议,2025 年 2 月建仓。
核心能力
- 轨迹 LLM 裁判:
create_trajectory_llm_as_judge用一个裁判模型给整条轨迹打分,内置TRAJECTORY_ACCURACY_PROMPT,另有带参考答案的TRAJECTORY_ACCURACY_PROMPT_WITH_REFERENCE以及异步版本create_async_trajectory_llm_as_judge。 - 轨迹表示方式统一:轨迹就是一组 OpenAI 风格的 message 列表,因此任何框架产出的中间步骤都能直接喂进评估器,不必为不同 Agent 框架各写一套适配。
- 严格匹配:
create_trajectory_match_evaluator配trajectory_match_mode="strict",要求实际轨迹与参考轨迹包含完全相同的消息序列,用于回归测试中最严格的对齐校验。 - 无序匹配:
trajectory_match_mode="unordered"只要求工具调用集合一致而不管顺序,适合允许 Agent 自主探索路径、但要求信息收集完整无误的场景。 - 子集与超集匹配:
subset与superset模式允许实际轨迹比参考轨迹多或少若干步,用于检查 Agent 是否多做了不该做的事。 - 工具参数匹配策略:
tool_args_match_mode与tool_args_match_overrides可以自定义"两次工具调用是否算同一次",默认只有同名工具且参数相同才判为相等。 - 图轨迹评测:
create_graph_trajectory_llm_as_judge与graph_trajectory_strict_match针对有分支结构的轨迹,另有图轨迹工具函数可做预处理。
安装与使用
Python 端 pip install agentevals,TypeScript 端 npm install agentevals @langchain/core。作为裁判的 LLM 客户端默认走 LangChain 的 chat model 集成,开箱即带 langchain_openai;如果更习惯直接用 OpenAI SDK,也可以把 OpenAI 客户端直接接进来。
使用步骤
- 装包并配置裁判模型凭据,确认 LLM-as-judge 侧可用。
- 跑通轨迹匹配类评估器:写一份参考轨迹,选定 strict / unordered / subset / superset 模式,必要时用
tool_args_match_mode放宽工具参数比较。 - 再接轨迹 LLM 裁判:把实际轨迹交给
create_trajectory_llm_as_judge,用内置或自写的提示词给整段路径打分。 - 两类评估器组合使用——匹配类负责"必须走这一步"的硬约束,裁判类负责"走得是否合理"的软判断,最后把两者结果一起接进回归流程。
特色优势
它填的是一个真实存在的空白:常规评测只看最终输出对不对,但 Agent 出错往往错在中途——调错了工具、跳过了检查、绕了远路,答案却碰巧看着对。轨迹评测把过程纳入考核,才能定位到具体哪一步出了问题。与 OpenEvals 分工明确,LLM 应用评输出、Agent 评轨迹,两者可以拼成一套完整评测体系。
应用场景
给带工具调用的 Agent 做回归测试;排查 Agent 为什么"这次对了下次错了";给多步工作流设定必须经过的检查点;对比不同模型或不同提示词对 Agent 路径选择的影响;审核 Agent 是否调用了不该调用的工具或越权操作。
适用人群
构建 LangGraph 或其他 Agent 框架应用的工程师、需要给 Agent 立质量标准的团队负责人、关注安全与越权问题的 Agent 平台团队、做模型选型对比的工程师,以及想给 Agent 补上过程性评测的开发者。
出品方
LangChain 官方出品,与 OpenEvals、LangSmith 同属一套评测体系,MIT 协议开源,仓库地址为 github.com/langchain-ai/agentevals。
官网链接
评论与建议
登录 后参与评论或提建议