Benchmarks
@hotpot/benchmarks 是 M5 的评测工具:在真实仓库上跑无交互 agent 生成 patch,调用官方 swebench harness 评分,输出通过率与 token 成本报告;另有三个离线种子任务覆盖金融、软件开发、自媒体。
评分不自己实现——pass/fail 全部以官方 harness 的 resolved 列表为准。
运行器设计
用法(前置条件与命令细节见跑 Benchmark):
patch-only 基线
M5 的 agent 只改工作树:不安装 repo 依赖、不执行 repo 测试、不 commit,提示词额外要求「不要装依赖/不要跑测试」。因此通过率是 patch-only 基线,不是带测试反馈的完整 agent;空 patch 写成空串由官方 harness 记为 unresolved,不伪造通过。report.md 会显式标注这一点。
实测数据:SWE-bench Lite 10 题
2026-10-19 跑批(macmini,模型为 DeepSeek 系,非高峰价估算):
失败 1 题为 pylint-dev__pylint-7228(patch 成功应用,两个 FAIL_TO_PASS 用例失败)。模型训练语料可能覆盖公开 benchmark 题目,解读通过率时需注意。
题目沉淀
自建题遵循「筛选历史会话 → 脱敏 → 题目化 → 校验脚本 → 回归」的流程(docs/benchmark-authoring.md),三个领域(金融 / 软件开发 / 自媒体)先各 1 题打底,后续从使用历史持续沉淀。
遥测
每题结束向遥测后台发一条 benchmark_run(kind=benchmark,独立安装 ID),字段仅 benchmark、dataset、split、instanceId、passed、durationMs 与 token 数。遥测关闭或网络失败不影响跑批与报告。
