乐于分享
好东西不私藏

未来的软件工程师,不是写代码,而是在设计 Agent 的 Harness

未来的软件工程师,不是写代码,而是在设计 Agent 的 Harness

最近 OpenAI 提出了一个非常重要的新概念:

Harness Engineering。

很多人把它理解成 Prompt Engineering 的升级版,但实际上完全不是一回事。

如果说 Prompt Engineering 研究的是如何和模型说话,那么 Harness Engineering 研究的是:

如何为 Agent 搭建一个能够稳定工作的工程环境。

OpenAI 在最新披露的实验中,用 Codex 构建了一个超过 100 万行代码的软件产品。

整个项目持续了 5 个月。

应用代码、测试代码、CI 配置、监控系统、文档体系,全部由 Codex Agent 完成。

工程师没有直接写代码。

他们做的事情只有一件:

设计 Harness。

这可能代表着软件工程正在发生一次根本性的变化。


Harness 到底是什么

很多人以为 Agent 的能力来自模型。

实际上在 OpenAI 看来:

Agent = Model + Harness

模型只是负责推理。

Harness 才是真正决定 Agent 能否稳定工作的系统。

它包含:

  • • 项目结构
  • • 文档体系
  • • Agent 规则
  • • 测试框架
  • • CI/CD
  • • 浏览器验证
  • • 长期记忆
  • • 反馈闭环
  • • 监控系统

可以理解为:

模型是发动机。

Harness 是整辆汽车。

没有 Harness,再强的模型也只是一个会生成代码的大语言模型。


第一层:AGENTS.md

这是 Codex Harness 最重要的入口。

很多开发者喜欢把大量内容塞进 Prompt。

但 OpenAI 的做法恰恰相反。

他们要求 Agent 进入项目后优先读取 AGENTS.md。

这个文件更像一个导航中心。

里面不会写太多细节。

而是告诉 Agent:

  • • 项目是什么。
  • • 目录在哪里。
  • • 架构文档在哪里。
  • • 测试怎么执行。
  • • 提交规范是什么。
  • • 哪些目录禁止修改。

为什么这么设计?

因为 Agent 最大的问题不是不会写代码。

而是不知道去哪里找正确的信息。

AGENTS.md 本质上是在降低 Agent 的搜索成本。

很多团队用了 Codex 效果不好,本质原因不是模型不够强,而是仓库里根本没有 Agent 可以理解的入口。


第二层:Repo Memory

人类开发者最大的优势之一是记忆。

Agent 最大的问题之一也是记忆。

因此 OpenAI 在 Harness 中引入了长期记忆体系。

典型结构如下:

docs/  architecture/  decisions/  specs/  adr/

这里记录:

  • • 为什么采用当前架构。
  • • 为什么放弃旧方案。
  • • 有哪些历史技术债务。
  • • 哪些模块不能随便重构。

对于 Agent 来说:

代码只是结果。

这些决策记录才是真正的上下文。

很多团队喜欢把知识放在 Confluence、飞书或者企业微信。

但 Agent 根本访问不到。

在 OpenAI 的实践中有一个重要原则:

Agent 看不到的信息,等于不存在。


第三层:自动验证系统

这是 Harness 的核心。

很多开发者把 Codex 当成代码生成器。

写完代码就结束。

而在 Harness 体系中:

写代码只是开始。

真正的流程是:

需求 ↓生成代码 ↓执行测试 ↓发现错误 ↓自动修复 ↓再次测试 ↓通过验证 ↓提交 PR

Agent 并不是依靠模型判断自己是否正确。

而是依靠测试系统判断。

因此:

  • • 单元测试
  • • 接口测试
  • • E2E 测试
  • • Lint
  • • 类型检查

这些传统工程能力在 Agent 时代不仅没有消失,反而变得更加重要。

因为它们正在成为 Agent 的裁判。


第四层:Browser Validation

这是 OpenAI 在实践中特别强调的一部分。

很多问题根本不是代码错误。

而是页面表现错误。

例如:

  • • 按钮位置不对。
  • • 布局错位。
  • • 交互流程异常。
  • • 表单无法提交。

这些问题测试代码很难发现。

因此 Codex 会直接启动浏览器。

打开页面。

执行点击。

截图。

验证结果。

这本质上是在模拟真实用户。

未来很多前端测试工程师的工作,都会逐渐转化为 Browser Harness 的建设。


第五层:Telemetry

这是很多人最容易忽略的部分。

Agent 也是需要监控的。

OpenAI 会记录:

  • • Agent 执行了什么命令。
  • • 修改了哪些文件。
  • • 测试失败次数。
  • • 上下文消耗情况。
  • • 工具调用情况。
  • • 最终成功率。

这些数据会不断反馈到 Harness 中。

形成持续优化。

因此 Harness 不是静态文档。

而是一个持续进化的系统。


真正的启示

很多团队正在比较:

Claude Code 更强还是 Codex 更强。

实际上这个问题越来越不重要。

同样的模型。

不同 Harness。

结果可能相差数倍。

  • • 2024 年大家研究 Prompt。
  • • 2025 年大家研究 Context。
  • • 2026 年开始,行业正在进入 Harness Engineering 阶段。

未来优秀的软件工程师。

不再是最快写出代码的人。

而是最会设计 Agent 工作环境的人。

因为 Agent 负责写代码。

而 Harness 决定 Agent 能写出什么样的代码。