Harness is Everything — Detailed Analysis
来源:[玉澄],2026-03-20 原文:狠人揭秘ClaudeCode、Cursor、OpenAI智能体工程技术
核心论点
模型几乎无关紧要,Harness 就是一切。
同一个模型,在不同的 Harness 下,性能差距可达 64%(SWE-agent 论文数据)。真正的区别在于 Harness——语言模型运行的完整设计环境。
什么是 Harness
Harness 是语言模型运行的完整设计环境,包括:
- 可调用的工具
- 信息接收的格式
- 历史记录的压缩与管理方式
- 在错误级联前拦截错误的护栏
- 允许 agent 将工作移交给"未来的自己"而不丢失连贯性的脚手架
"接口不是便利层;对于语言模型 agent 来说,接口即思想。"
三大公司的 Harness 实践
1. SWE-agent 与 ACI(Agent-Computer Interface)
普林斯顿 NLP 小组 2024 年发表的 SWE-agent 论文证明了精心设计的 ACI 与标准 Linux Shell 相比,能让同一模型在基准测试中的性能产生 64% 的相对提升。
ACI 的四个核心组件:
| 组件 | 功能 | 关键设计 |
|---|---|---|
| 搜索与导航 | 取代 grep/find | 结果限制 50 条,强制细化搜索 |
| 文件查看器 | 有状态的文件浏览 | 每次显示 100 行,带行号 |
| 带 Lint 的文件编辑器 | 编辑文件 | 每次编辑后自动运行 Linter |
| 上下文管理 | 管理历史记录 | 旧观察结果折叠成单行摘要 |
关键洞察:上下文窗口不是内存条,而是智能体的"整个工作意识"。
2. Anthropic 的长程运行 Harness
双 Agent 架构:
- 初始化 Agent:创建脚手架(init.sh、功能列表、进度文件)
- 编码 Agent:增量开发,每次处理一个功能
核心机制:
- 功能列表作为认知锚点(JSON 格式,明确 pass/fail 状态)
- 干净状态要求(每次会话以 git 提交结束)
- 启动序列标准化(pwd → 进度文件 → 功能列表 → init.sh → 测试)
- Puppeteer MCP 浏览器自动化(端到端验证)
3. OpenAI 的零人工代码 Harness
实验数据(2025 年 8 月 - 2026 年 2 月):
- 约 100 万行代码
- 1,500 个 PR
- 3 名工程师 → 7 名工程师
- 平均每名工程师每天处理 3.5 个 PR
核心实践:
- 结构化 docs/ 目录:渐进式披露,而非单一超大 AGENTS.md
- 应用可读性:按 git worktree 启动、Chrome DevTools 协议、本地可观测性栈
- 机械化架构强制执行:自定义 Linter、结构化测试、CI 流水线
- 最小化阻塞式合并门禁:纠错比等待便宜
Awesome Agent Harness 七层分类法
| 层级 | 名称 | 功能 |
|---|---|---|
| 7 | 人类监督 | 批准提案、审查 PR、设定优先级 |
| 6 | 规划与需求 | 将想法转化为结构化规约和任务 DAG |
| 5 | 全生命周期平台 | 端到端流程管理 |
| 4 | 任务运行器 | 连接问题跟踪器与编码智能体 |
| 3 | 智能体编排器 | 多智能体并行执行 + git worktree 隔离 |
| 2 | 智能体 Harness 框架与运行时 | 框架 = 构建基础;运行时 = 持久基础设施 |
| 1 | 编码智能体 | 执行层(Claude Code、Codex 等) |
第 1 层已成为商品,真正的差异化在于上方的所有层级。
五大重复出现的设计模式
模式 1:渐进式披露
只给智能体定位自身所需的最小值,以及在需要时寻找更多信息的指针。
模式 2:Git Worktree 隔离
一个智能体,一个工作树。并行智能体互不干扰,更改在隔离中验证。
模式 3:规约优先,仓库作为唯一事实来源
任何存在于 Slack、Google Docs 或人脑中的知识对智能体都是不可见的。
模式 4:机械化架构强制执行
人工代码审查无法扩展到智能体驱动的开发。将架构约束编码为自动运行的机械化检查。
模式 5:集成反馈循环
语法错误由 Linter 在编辑时捕获,运行时错误通过可观测性工具浮现,UI 缺陷通过浏览器自动化捕获。
最小可行 Harness
- 持久的进度文件:每次会话读取/写入,防止"过早宣布胜利"
- 结构化的任务列表:具体的、可验证的完成标准清单
- 版本控制作为一级部分:每次会话以 git 提交结束
- 浏览器自动化(Web 应用):能真正使用所构建的应用
环境审计清单
当智能体系统表现不佳时,问自己:
- 智能体需要哪些目前无法访问的信息?
- 在任务流的哪些环节,智能体经常卡住或犯错?
- 缺少了哪些反馈能让智能体自行捕获这些错误?
- 上下文在哪里被无关信息污染了?
- 有哪些约束需要强制执行,而目前却依赖于智能体的判断?
关键引用
"模型是推理引擎。Harness 是上下文、约束、反馈循环、内存、工具和脚手架,它们决定了推理引擎究竟能成就什么。"
"你停止调试代码,转而开始调试生产代码的系统。"
"当智能体吞吐量远超人类注意力时,纠错是廉价的,而等待是昂贵的。"