我配了三个月评估工具,今天发现它们根本不在同一个地方——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 的环境层,完整链路是:
- Harbor 定义任务和执行环境
- LangChain agent 在环境里跑
- LangSmith 记录完整 trace
- Harbor 的 RewardKit 评估输出质量
- 汇总成统一报告
这样评估不再是「跑完看分数」,而是「跑完能回放」——哪一步出了问题、哪个 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 评估闭环。
评论区
登录后可评论。