Harness-of-Harness: Multi-Day Autonomous Software Development with Continual Improvement
Haoyang Yan, Min-le Su, Hangfan Zhang, Zhanhao Li, Chen Zhang, Shao Zhang, Yang Chen, Lei Bai, Shuyue Hu
cs.AI
2026-09-02
HoH不改原实现,只给现成编码harness外套规划-编码-测试循环,三套模型连跑三轮平均相对增益52.25%,Codex在GameCraft分数从49.58升到71.52。
编码 agent 今天多半还是人在回路里:人拆任务、盯中间结果、失败了再插手。这篇要的是另一档:只给高层需求,agent 从空仓库把可运行的软件做完,中途不再问人。
长轨迹会把问题放大。早先的需求被忘掉,局部修补破坏别处约束,失败尝试堆起来,测试新证据推翻旧假设,检查和返工循环空转,未完成却提前宣告完工。单靠把一次会话拉长,解决不了「跨天还能往前走」。
Harness-of-Harness(HoH)不改现成编码 harness 的实现,只在外面套规划–编码–测试循环。同一套模型+harness 按角色调三次:
跨轮状态分两份:产物状态 \(At\)(代码、资源、配置)和证据状态 \(Et\)(已验证行为、缺口、失败)。下一轮规划读 \(Et\),开发从 \(At\) 接着写。上下文用渐进披露:文件系统里留完整产物,先给分类索引,需要再展开,没有另建记忆模块。约束的是可验证输出,不是 agent 内部工作流。
基准评测关闭额外工具和版本控制,只测这套协议。多日案例才打开 Godot MCP、资产工具、技能和 GitHub。
三套 harness–模型:Codex+GPT-5.5(high)、OpenCode+DeepSeek-V4-Pro、Pi+MiniMax-M3。对照是同一配置的单次 Vanilla。三轮之后平均相对增益 52.25%,最大 82.86%(Pi 在 FrontierSWE Dominance 上 35%→64%)。
| 配置 | GameCraft Overall | FrontierSWE Dominance | ProgramBench Pass Rate |
| Codex Vanilla → HoH@3 | 49.58 → 71.52 | 44% → 71% | 60.41 → 66.50 |
| OpenCode Vanilla → HoH@3 | 26.90 → 48.98 | 25% → 44% | 45.27 → 57.56 |
| Pi Vanilla → HoH@3 | 42.16 → 58.78 | 35% → 64% | 35.83 → 52.68 |
FrontierSWE 平均奖励相应从 0.31、0.23、0.26 升到 0.54、0.31、0.55。GameCraft 四项子分(机制、内容、功能视觉、美术呈现)在三套配置下全部上升。Codex 继续跑到 10 轮,在以 Vanilla 与 HoH@1–10 为池的 Dominance 上,Vanilla 27.33%,HoH@10 为 72.67%,HoH@9 到过 76.00%。
同次数对照排除「只是多跑几遍」。GameCraft 上 Codex 的 Vanilla Continuation 三遍得 58.24 分、6.33M token;HoH 两遍 64.84 分、5.67M token,已经超过三遍续跑;三遍 HoH 到 71.52 分、8.41M token。消融(Codex, \(T=3\)):冻住首份计划 −8.13,规划不看证据 −6.28,每轮从空仓库重建 −7.85,token 从 8.41M 升到 11.12M。
多日案例 Fusepoint:空仓库加一份 PRD,Codex+GPT-5.6-Sol,70 轮做出可玩的叙事 FPS。人只恢复网络和 API,不参与规划、实现、调试或验收。81 个 issue 里关闭 65 个,仍开 16 个,17 个曾关闭后因回归重开。
提升来自外循环的状态管理,不是更强基座。三套相差很大的 Vanilla 都被抬起来,说明协议能接到现成 harness 上。对要做长程 coding agent 的人,可迁移的是四件事:增量必须可验证、实现与验收拆开、产物和证据一起往下传、计划每轮按证据改。多花一点 token 换的是不会在续跑里原地打转。
这仍是渐进改进。HoH 没有新模型,也没有新的单次编码能力,它把已有 harness 组织成可迭代的项目。
GameCraft 抽了 45/140,FrontierSWE 15/17,样本不大。基准评测里 HoH 关掉了案例里那些工具和版本控制,两套实验不是同一系统。Fusepoint 是单案例,成功标准是「人能玩」,没有对照另一套 70 轮协议。QA 证据不回流进基准的官方评分器,避免泄漏,也意味着循环看不到最终分数。ProgramBench 上 Pi 在 HoH@2 见顶(53.57),第三轮掉到 52.68,不是单调涨。token 含缓存,不能直接跨厂商比成本。人虽然不写代码,断网抢修仍在,完全无人值守还没演示。