Agent Eval 技能
一个轻量级 CLI 工具,用于在可复现的任务上对编码代理进行头对头比较。每个“哪个编码代理最好?”的比较都基于感觉——本工具将其系统化。
何时使用
- 在你自己的代码库上比较编码代理(Claude Code、Aider、Codex 等)
- 在采用新工具或模型之前衡量代理性能
- 当代理更新其模型或工具时运行回归检查
- 为团队做出数据支持的代理选择决策
安装
核心概念
YAML 任务定义
以声明方式定义任务。每个任务指定要做什么、要修改哪些文件以及如何判断成功:
Git 工作树隔离
每个代理运行都获得自己的 git 工作树——无需 Docker。这提供了可复现的隔离,使得代理之间不会相互干扰或损坏基础仓库。
收集的指标
工作流程
1. 定义任务
创建一个 tasks/ 目录,其中包含 YAML 文件,每个任务一个文件:
2. 运行代理
针对你的任务执行代理:
每次运行:
- 从指定的提交创建一个新的 git 工作树
- 将提示交给代理
- 运行判断标准
- 记录通过/失败、成本和时间
3. 比较结果
生成比较报告:
判断类型
基于代码(确定性)
基于模式
基于模型(LLM 作为判断器)
最佳实践
- 从 3-5 个任务开始,这些任务代表你的真实工作负载,而非玩具示例
- 每个代理至少运行 3 次试验以捕捉方差——代理是非确定性的
- 在你的任务 YAML 中固定提交,以便结果在数天/数周内可复现
- 每个任务至少包含一个确定性判断器(测试、构建)——LLM 判断器会增加噪音
- 跟踪成本与通过率——一个通过率 95% 但成本高出 10 倍的代理可能不是正确的选择
- 对你的任务定义进行版本控制——它们是测试夹具,应将其视为代码

