Back/harness engineering

Harness is Everything — Detailed Analysis

Updated 2026-04-11
2 min read
362 words

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

  1. 持久的进度文件:每次会话读取/写入,防止"过早宣布胜利"
  2. 结构化的任务列表:具体的、可验证的完成标准清单
  3. 版本控制作为一级部分:每次会话以 git 提交结束
  4. 浏览器自动化(Web 应用):能真正使用所构建的应用

环境审计清单

当智能体系统表现不佳时,问自己:

  • 智能体需要哪些目前无法访问的信息?
  • 在任务流的哪些环节,智能体经常卡住或犯错?
  • 缺少了哪些反馈能让智能体自行捕获这些错误?
  • 上下文在哪里被无关信息污染了?
  • 有哪些约束需要强制执行,而目前却依赖于智能体的判断?

关键引用

"模型是推理引擎。Harness 是上下文、约束、反馈循环、内存、工具和脚手架,它们决定了推理引擎究竟能成就什么。"

"你停止调试代码,转而开始调试生产代码的系统。"

"当智能体吞吐量远超人类注意力时,纠错是廉价的,而等待是昂贵的。"


Sources

Linked from