我配了三个月评估工具,今天发现它们根本不在同一个地方——Harbor × LangChain 把 Agent 评估这件事彻底收口了

我配了三个月评估工具,今天发现它们根本不在同一个地方——Harbor × LangChain 把 Agent 评估这件事彻底收口了

配评估工具这件事,比配代码还乱。

我同时在用 SWE-bench 测编程能力、用 Terminal-Bench 测长程任务、用自家写的检查脚本测输出质量。三个地方出报告,格式全不一样,每次做横评要手动导数据,导着导着就放弃了。

后来看到 Harbor 这个框架,发现它解决的不是某一个 benchmark 的问题,而是「评估这件事本身」的问题——把benchmark、agent、模型、执行环境、指标全部解耦,再按需组合。搭配 LangChain 的 agent 生态,评估链路直接从代码库接到生产数据。

以前:评估是孤岛

我之前配的评估体系是这样的:

  • SWE-bench 跑编程题,结果在 GitHub Actions 日志里
  • Terminal-Bench 跑终端任务,结果在自家数据库里
  • 代码质量检查,用 eslint + 自定义规则,结果在 CI 日志里

每次横评要这样:导出三个 JSON → 手动对齐格式 → 写 Python 脚本画图。每次做完横评要花两天,其中一天半在导数据。

根本原因是:benchmark 之间没有统一的抽象层。每一个评估工具都是独立建设的,输出格式、调用方式、结果存储各跑各的。

Harbor 的思路:统一 harness 层

Harbor 是 Terminal-Bench 团队做的评估框架,核心思路是:把「谁来跑」「在什么环境里跑」「用什么数据集」「用什么指标」全部拆开,用配置文件组合。

# 用 Docker 本地跑 Terminal-Bench
harbor run --dataset terminal-bench@2.0 
 --agent claude-code 
 --model anthropic/claude-opus-4-1 
 --n-concurrent 4

# 切到 Daytona 云端跑,100 并发
export DAYTONA_API_KEY=<YOUR_KEY>
harbor run --dataset terminal-bench@2.0 
 --agent claude-code 
 --model anthropic/claude-opus-4-1 
 --n-concurrent 100 
 --env daytona

一套命令,切换执行环境、数据集、agent 模型,不需要改任何代码。

支持的主流 agent:Claude Code、OpenHands、Codex CLI、Cursor、Devin。支持的 benchmark:SWE-bench、Aider Polyglot、Terminal-Bench 2.0。

搭 LangChain 生态:评估即代码

Harbor 本身的定位是 harness 层,真正的评估逻辑要自己写。LangChain 这边有 LangSmith,可以把 agent 的每一次 tool call、每一条中间输出全部记录下来,配合 Harbor 的环境层,完整链路是:

  1. Harbor 定义任务和执行环境
  2. LangChain agent 在环境里跑
  3. LangSmith 记录完整 trace
  4. Harbor 的 RewardKit 评估输出质量
  5. 汇总成统一报告

这样评估不再是「跑完看分数」,而是「跑完能回放」——哪一步出了问题、哪个 tool call 失败了、token 消耗多少,全程可查。

落地步骤

如果你现在也在配 agent 评估,配 Harbor 只需要三步:

第一步:把现有 benchmark 迁移到 Harbor 配置里。Harbor 支持的 benchmark 用 harbor datasets list 查看,不支持的用自定义 JSON 定义数据集格式。

第二步:接入 LangSmith。把 LangChain agent 的 trace 接入 LangSmith,配合 Harbor 的 rewardkit 包自定义评分逻辑。

第三步:写统一报告。把 Harbor 的 JSON 输出加上 LangSmith 的 trace 数据,用 Python 脚本对齐成一张横评表。

适用场景 vs 不适用场景

这套方案适合:

  • 多 agent 横向对比:Claude Code vs Codex vs OpenHands,同一个数据集跑完直接比
  • 模型选型:同一个任务在不同模型上的表现差异,Harbor 支持切换 model 参数
  • 回归测试:每次发版前跑一遍 benchmark,diff 看退化点

不适合:

  • 单 agent 单任务快速验证:直接跑脚本比配 Harbor 快
  • 非代码类评估:Harbor 目前主要面向 terminal/coding 任务

数据参考

Terminal-Bench 2.0 团队给的数字:Claude Code 在 terminal 任务上得分 87.9,OpenHands 81.3,Codex CLI 77.3。用 Harbor 跑,100 并发 1 小时跑完,报告自动生成。

结论是:评估工具不统一,工具链再好也是散的。Harbor 把 harness 层收口了,LangChain 把 agent 层跑起来,中间再加一层 LangSmith 记录 trace——这三件事拼起来,才是完整的 agent 评估闭环。

评论区

0 条评论

登录后可评论。

Prompt 工程 1170 阅读