# Evaluating Deep Agents: Our Learnings：深度 Agent 评估的五条核心经验

> 原文链接：https://blog.langchain.com/evaluating-deep-agents-our-learnings/
> 作者/来源：LangChain
> 阅读日期：2026-04-02

## 一句话总结
基于四个实际 agent 应用（DeepAgents CLI、LangSmith Assist、Personal Email Assistant、Agent Builder）的开发经验，总结出评估深度 agent 的五条核心方法论，强调评估逻辑需要按数据点定制而非一刀切。

## 核心论点

文章最重要的洞见是：**深度 agent 的评估不能套用传统 LLM 评估的统一逻辑**。传统 LLM eval 对整个数据集使用相同的评估逻辑，但深度 agent 的成功标准因测试用例而异。例如，一个日历调度 agent 的评估需要同时验证：调用了特定文件的 tool call、向用户发送了关于更新的通信、以及文件内容的准确性——这些检查逻辑无法泛化为统一模板。

文章提出了 **single step → full turn → multi-turn** 三个粒度层次的评估策略。Single-step evaluation 验证 agent 在特定场景下的单次决策（tool 选择和参数生成），效率最高；full turn evaluation 揭示端到端行为，覆盖 trajectory（工具调用序列）、final response（最终输出质量）和 state（生成的文件或数据等 artifact）三个维度；multi-turn evaluation 模拟用户对话，需要条件逻辑在每步之后动态调整，避免 agent 偏离预期路径后后续输入变得无意义。

另一个关键实践是 **environment setup 对可重复性的保障**。深度 agent 需要为每次测试提供干净隔离的环境——编码 agent 使用临时目录，Docker 容器化沙盒，以及通过 VCR 或 Hono proxy 模拟外部 API 请求。

## 关键概念

- **Bespoke Test Logic Per Datapoint（按数据点定制测试逻辑）**：每个测试用例可能需要不同的评估逻辑，因为深度 agent 任务的成功标准高度异构。
- **Single Step（单步）**：agent 循环的一次迭代，确定下一个动作。适合验证特定场景下的工具选择和参数生成。
- **Full Turn（完整轮次）**：agent 对单个输入的完整执行。评估维度包括 trajectory、final response 和 state。
- **Multi-Turn（多轮）**：模拟用户对话的顺序执行。需要条件检查而非硬编码的线性序列，支持在特定轮次通过设置初始状态来隔离测试。
- **Trajectory Evaluation（轨迹评估）**：检查 agent 执行过程中调用的工具序列是否合理。
- **Environment Isolation（环境隔离）**：使用临时目录、Docker 容器和 API mock 确保测试的可重复性。
- **LLM-as-Judge**：使用另一个 LLM 作为评估者，对 agent 输出进行整体分析和质量评估。

## 实践建议
1. 为每个测试用例编写定制的评估逻辑，不要追求统一的评估模板
2. 约一半测试用例使用 single-step evaluation 即可，这样既高效又能捕获回归
3. 利用 LangGraph 的 streaming 能力在单个 tool call 后中断执行，节省 token 消耗
4. Multi-turn 测试使用条件逻辑（而非硬编码序列），每步之后检查 agent 状态再决定下一步输入
5. 为每次测试建立干净隔离的环境：临时目录、Docker 沙盒、API mock
6. 可以通过设置初始状态来隔离特定对话轮次，无需从头执行完整对话

## 独到观点
文章最独特的贡献是 **"bespoke test logic per datapoint"** 这一理念。在大多数 eval 文献强调标准化和可扩展性的背景下，LangChain 明确主张评估逻辑应该按数据点定制——这看似"不优雅"，但对于行为高度多样化的深度 agent 而言是务实的选择。另外，将评估粒度分为 single step / full turn / multi-turn 三层的框架非常清晰，为不同场景下的评估策略选择提供了明确指导。大约一半测试用例使用 single-step 就够了的发现也很实用——它意味着高效的 eval 不一定需要运行完整的 agent 流程。

## 与其他文章的关联
- 与 [LangChain: Improving Deep Agents with Harness Engineering](32-langchain-improving-with-harness.md) 是姊妹篇，本文侧重评估方法，后者侧重改进手段
- [Anthropic: Demystifying Evals](29-anthropic-demystifying-evals.md) 提供了更系统的 eval 术语和分类框架，本文提供了更多实战经验
- Environment isolation 的实践与 [Anthropic: Infrastructure Noise](30-anthropic-infrastructure-noise.md) 高度相关——隔离的测试环境正是控制基础设施噪声的关键手段
- [OpenAI: Eval Skills](27-openai-eval-skills.md) 的 JSONL event stream 可以视为 trajectory evaluation 的具体实现方式
- Bespoke test logic 的理念与 [OpenHands: Evaluating Agent Skills](28-openhands-evaluating-skills.md) 中 deterministic verifier 的定制化需求一致
- [LangChain: Frameworks, Runtimes, and Harnesses](34-langchain-frameworks-runtimes-harnesses.md) 中 harness 的概念为本文讨论的评估基础设施提供了架构背景
