RedpoQ 独立开发者

Harness A/B

同一个底层模型,放进两种编码 Agent 外壳。三轮任务、冻结评分器、隐藏测试;比较功能正确性、完成时间和工具调用,并把不成立的比较写清楚。

时间 2026-10 角色 独立实验分析 对象 Codex Desktop / Claude Code 模型 gpt-6-luna · high effort

控制变量

两侧跑在同一台 Windows 主机、同一 Python 3.12 环境中,解析出的底层模型相同(gpt-6-luna),推理强度同为 high。因此轮内两侧的差异只能归因于 Harness 外壳、环境与单次随机性,不能归因于模型能力。

评分器、隐藏测试与 reference 在实验期间冻结;分析者不参与任何一轮的实现,也不修改评分规则。这个约束比多跑几轮更能决定结论是否可信。

三轮任务

三轮任务的性质与验收方式完全不同
轮次 任务 工作区 验收
HB-01 从零开发单页前端看板(localStorage、导出、移动端) A 1 文件 21 KB;B 4 文件 Playwright 真实浏览器,10 项 × 10 分
HB-02 修复 Python 包中 3 个不同根因的缺陷 各 12 文件(11 seed + 1 新增测试) 隐藏单测 10 项 × 10 分
HB-03 工单批量更新:状态机、乐观锁、原子性、幂等、审计一致性 A 12 文件;B 11 文件 隐藏单测 7 项,权重合计 100

结果

功能正确性得分与端到端完成时间(A = Codex Desktop,B = Claude Code)
轮次 A 得分 B 得分 A 用时 B 用时
HB-01 70 100 363.4 s 332.5 s(计时不可比)
HB-02 100 100 83.7 s 161.3 s
HB-03 100 100 79.2 s 355.3 s

三个观察

规范字面保真度会先于功能能力决定分数

HB-01 中 A 把规范逐字给定的简体文案写成了繁体,评分器按规范文案定位元素,导致状态切换和 390px 视口两项连带失败。功能本身完整可用,但「任一断言失败即 0 分」的规则把单一失误放大成 30 分差。准确说法是:功能完整度相当,规范字面保真度 B 更好。

时间是单样本,不能外推

HB-02 与 HB-03 中 A 明显更快(83.7 对 161.3 秒,79.2 对 355.3 秒)。但每轮各只有一次样本,且 HB-01 的 B 侧官方计时因权限拒绝没有落盘,两侧计时口径不齐,不能据此得出稳定的效率结论。

Token 与工具调用次数都不是现成的成本指标

工具调用次数为 A 33/10/10、B 36/45/47,但两侧工具粒度不同,次数不能直接当作效率。Token 方面,历史报告中 B 的数字存在重复计数,最终报告按同一基准重算,并明确不据此得出成本结论。

边界

  • 三轮任务性质与评分规则不同,总分不能相加,也不宣布绝对胜者。
  • 每轮 n = 1,结论只描述这三轮,不证明两种 Harness 的普遍优劣。
  • 两侧模型相同,实验回答不了「哪个模型更强」。

能复用的是方法:冻结评分器、隐藏测试、保留原生会话日志,并把「不可比」直接写进结论,而不是留给读者猜。