用途:agent-eval 用于在自有代码库上对编码智能体做可复现的横向对比,适用于选型评估、采用新工具或模型前的性能测量、智能体更新后的回归检查,以及为团队产出有数据支撑的选型决策。
主要能力:以 YAML 声明式定义任务,每个任务指定要做什么、涉及哪些文件以及如何判定成功;支持多种判定方式,包括基于代码的确定性判定(如 pytest、npm run build 等命令)、基于模式匹配的 grep 判定,以及基于模型的 LLM-as-judge 判定。采集的指标包括通过率、成本(API 花费,若可得)、完成耗时(秒)和一致性(重复运行下的通过率,如 3/3 为 100%)。
使用方式:先创建 tasks/ 目录并编写 YAML 任务文件,任务中可指定 repo、files、prompt、judge 和 commit(固定提交以保证可复现)。随后运行 agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3,每次运行会从指定提交创建全新的 git worktree、把提示交给智能体、执行判定条件并记录通过/失败、成本与时间。最后用 agent-eval report --format table 生成对比报告。安装需从其仓库获取,安装前应审阅源码。
隔离机制:每次智能体运行使用独立的 git worktree,无需 Docker,从而保证可复现隔离,避免智能体相互干扰或破坏基础仓库。
最佳实践与限制:建议从 3-5 个代表真实工作负载的任务开始,而非玩具示例;每个智能体至少运行 3 次以捕捉方差,因为智能体具有非确定性;在任务 YAML 中固定提交以保证跨天跨周可复现;每个任务至少包含一个确定性判定,因为 LLM 判定会引入噪声;应同时跟踪成本与通过率;任务定义应像代码一样纳入版本管理。资料未提供具体支持的智能体完整列表、平台要求、收费与价格信息。