北大 2026 年研究对比 6 种 agent harness,Claude Code 凭借工具、缓存、子代理编排领先,纯模型能力不等于实际表现。
Claude Code 的 harness——最大化工具、上下文缓存和子 agent 编排——驱动了 23.8 分的性能差距。利用 CLAUDE.md 和 /compact 优化你的上下文窗口。
2026 年 5 月,北京大学的研究人员使用同一模型池,让六个不同的 agent harness 运行了 106 项任务,记录超过 5000 次运行。结果如何?最好和最差的 harness 之间存在 23.8 分的性能差距——完全来自 harness,而非模型。Claude Code 就是为了成为那个最佳 harness 而构建的,理解其中的原因能让你今天就变得更快。
这项名为 Harness-Bench 的研究表明,agent 能力应该在"模型-harness 配置"层面进行报告,而不应仅归因于基础模型。对于 Claude Code 用户而言,这意味着你的工作流——如何配置 CLAUDE.md、如何管理上下文、如何进行委托——和你使用的模型一样重要。
普林斯顿的 SWE-agent 论文表明,一次向模型展示 100 行代码能修复 18% 的真实 GitHub 问题,但展示整个文件,这一比例下降到了 12.7%。更多信息,反而更差的结果。Claude Code 的 harness 围绕这一原则设计:它仔细控制模型何时看到什么。
Claude Code 的 harness 是最大化的——约 45 个工具名槽位,覆盖约 95 个工具,每个工具都有详尽描述。仅 Bash 工具的描述就跨越 39 个模板文件。这个丰富的工具面是一个深思熟虑的赌注:普林斯顿的研究表明,描述完善的工具面比裸 shell 好 64%。
但真正的洞察是 Claude Code 的上下文工程。系统提示在 __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ 处分割——其上方的内容对每个用户都是相同的,并被缓存,节省 token 并加速每个请求。
将 CLAUDE.md 用作你的 harness 控制层:Claude Code 读取你的 CLAUDE.md 来塑造其上下文。包含关于项目结构、命令和常见陷阱的简洁、高信号指令。这是你对 harness 的杠杆——让它发挥价值。

练习上下文卫生:harness 只向模型展示部分对话历史。使用 /compact 总结长会话,只保留最后几个工具输出。这与普林斯顿的发现一致——将历史修剪到最近五个工具输出值 3 分。
让 Claude 委托——但只在必要时:Claude Code 的系统提示包含一个协调器块,决定何时生成子 agent。它明确警告:"Subagents multiply cost and time." 对可并行、独立的任务使用子 agent,但将验证保留在你的主循环中。
利用工具描述:Claude Code 的工具描述极为详细,所以它精确知道每个命令的作用。不要对抗这一点——编写自描述的脚本和命令,Claude 就能更有效地使用它们。
缓存你的上下文:动态边界意味着静态系统提示部分是缓存的。保持你的 CLAUDE.md 在不同会话间稳定,以最大化缓存命中并减少 token 使用。
harness 不是黑箱——它是你可以影响的一系列决策。通过理解 Claude Code 的 harness 如何工作,你可以每天调优自己的使用方式,获得那 23.8 分的优势。

[Updated 17 Aug via devto_claudecode]
该研究的原始分数现已公开:最佳 harness 达到 76.2,最差 52.4,23.8 分的差距在 106 项任务和 5000+ 次运行中得到证实。[per dev.to] 这篇文章还曝光了具体的 harness 内部机制——OpenCode 的 agentic loop 在 session/prompt.ts 中是一个字面的 while (true),而 Claude Code 的上下文工程包含一个用于缓存的 __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__。普林斯顿的文件窗口实验(100 行对比整个文件)值 5.3 分,将历史修剪到五个工具输出增加 3 分,linter 阻止破坏性编辑又增加 3 分——全都是 harness,而非模型。
Originally published on gentic.news