Skip to content
LangSmith 文档版本 跟随上游 源快照 8da52023 更新于 2026-10-18

评估 Managed Deep Agents

使用编码 agent 和 eval-engineering 技能为 Managed Deep Agents 开发 Harbor 评估。

Managed Deep Agents 评估是 Harbor 任务。使用编码 agent 和 eval-engineering 技能检查项目、起草供你审查的 Task Spec,并在 evals/ 下编写完整任务。

Managed Deep Agents 初始化 Harbor 工作区。Harbor 在隔离环境中针对每个任务运行托管 agent 并记录结果。

NOTE

Managed Deep Agents 处于公开 beta 阶段,仅在 US 区域的 LangSmith Cloud 上可用。

前置条件

在评估之前,请确保你拥有:

  • 使用 mda init 创建的 Managed Deep Agents 项目,或具有 agent 条目的现有项目。
  • uv,用于运行固定版本的 Harbor 和插件。
  • Docker,Harbor 用于任务环境。
  • 一个编码 agent。支持 Agent Skills 的 agent 可以直接安装 eval-engineering。对于其他 agent,请在会话中提供技能说明。

添加 eval-engineering 技能

eval-engineering 技能引导编码 agent 发现 agent、提出 Task Spec 并构建经过审查的 Harbor 任务。要将它添加到当前项目,请运行:

bash
uvx --from npx-skills skills add langchain-ai/langchain-skills --skill eval-engineering --yes

你可以使用任何编码 agent。

TIP

要使用 Deep Agents Code(dcode),请使用以下命令安装:

bash
curl -LsSf https://langch.in/dcode | bash

有关提供程序设置和交互式使用,请参阅 Deep Agents Code 快速入门。

使用编码 agent 开发评估

Initialize the eval workspace

在项目根目录,运行:

bash
uv run mda evals init -i

交互式交接会列出检测到的编码 agent,包括 Deep Agents Code、Claude Code、Codex 和 Cursor。选择 agent 会在项目目录中启动该 agent 并运行 eval-engineering 提示。你也可以复制提示以供其他 agent 使用,或退出后稍后返回。

初始化会创建:

text
my-agent/
├── evals/
│   └── harbor-job.json
└── .mda/
    └── evals/
        ├── runtime.json
        └── harbor-adapter/

evals/harbor-job.json 归用户所有。Managed Deep Agents 仅在文件缺失时写入它,因此后续编辑会被保留。.mda/evals/ 下的文件是生成的。

Start the coding-agent session

交接会要求选定的编码 agent 安装 eval-engineering 技能并将其用于项目。如果你已经添加了该技能,请在该会话中继续。

要求编码 agent 遵循技能的审查流程并使用 Managed Deep Agents 任务布局:

Use the eval-engineering skill to develop Harbor evals for this Managed Deep Agent. Inspect the project and existing evals first. Draft the Task Spec and wait for my review before implementing the approved task directly under {'evals/<task>/'}.

与编码 agent 一起审查 Task Spec、任务说明、环境、验证器和可复用的项目知识。在你批准设计后,编码 agent 会编写可运行的任务。

Review the Harbor task

evals/ 下每个包含说明和测试的直接子项都是一个 Harbor 任务:

text
evals/
├── harbor-job.json
└── <task>/
    ├── Task.md
    ├── instruction.md
    ├── task.toml
    ├── environment/
    │   └── Dockerfile
    └── tests/
        ├── test.sh
        └── <verifier>

Task.md 是人工审查的规范。instruction.md 告诉 agent 要做什么。Harbor 构建任务环境、运行托管 agent,然后运行 tests/test.sh。验证器将数字奖励写入 /logs/verifier/reward.txt,或将数字指标写入 /logs/verifier/reward.json。

有关完整任务格式,请参阅 Harbor 任务文档。

Run the evals

编码 agent 交接包含一条为项目和当前 shell 配置的命令。请从项目根目录运行该命令。

在 macOS 或 Linux 上,其形式如下:

bash
HARBOR_LANGSMITH_DATASET=mda-my-agent-evals \
PYTHONPATH=.mda/evals/harbor-adapter \
uv run --env-file .env --python 3.12 --with 'harbor[langsmith]==0.21.0' harbor run \
  --config evals/harbor-job.json --yes \
  --plugin mda_harbor.job_plugin:MDAJobPlugin \
  --plugin mda_harbor.langsmith_plugin:LangSmithPlugin

将 my-agent 替换为项目目录名称。生成的命令会填入名称,并在 Windows 上使用 PowerShell 语法。

编辑 agent 后重新运行该命令可获取项目更改。

Inspect the results

打开 Harbor 结果:

bash
uv run --python 3.12 --with 'harbor[langsmith]==0.21.0' \
  harbor view .mda/evals/jobs

与编码 agent 一起审查失败的试验。当评估未衡量预期行为时,更新任务或验证器。当评估暴露产品故障时,更新托管 agent,然后再次运行相同的 Harbor 命令。

编辑 Harbor 作业

编辑 evals/harbor-job.json 以更改数据集、尝试次数、并发、环境设置或 agent 环境变量。再次运行 mda evals init 时,Managed Deep Agents 会保留该文件。

在 LangSmith 中记录运行

当 LANGSMITH_API_KEY 可用时,LangSmith 插件会将 Harbor 运行记录到 HARBOR_LANGSMITH_DATASET 指定的数据集中。

另请参阅


BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。