# Harness Engineering 深度拆解:OpenAI 工程师 Ryan Lopopolo 的"驾驭工程"革命
> **参考来源**:Ryan Lopopolo 在 AI Engineer Conference London 2026 的主题演讲 "Harness Engineering: How to Build Software When Humans Steer, Agents Execute"(2026-04-17);Latent Space Podcast 专访(2026-04-07);OpenAI 官方博客(2026-02-11);frontiermodels.cc 演讲实录
---
## 一、一场疯狂的实验:0 人工代码,5 个月,100 万行
Ryan Lopopolo,OpenAI Frontier 产品探索团队的技术成员,在 2026 年 4 月的 AI Engineer Conference London 上分享了一个让全场工程师倒吸冷气的数字:
**他的团队在过去 5 个月里,构建了一个超过 100 万行代码的内部产品,1500+ 个 Pull Request,应用、测试、CI、文档、可观测性、内部工具——全部出自 AI Agent 之手,人类没有写过一行代码。**
更激进的是:**代码在合并前没有经过人类评审(0% human review)**。
Lopopolo 给这个实验定下了一个自我约束:**他自己和团队被禁止触摸编辑器**。如果 Agent 做不到,那就想办法让 Agent 能做到——而不是人类亲自上手补刀。
> "If we're trying to make agents that can be deployed into enterprises, they should be able to do all the things that I do. Having worked with these coding models... I do feel like the models are there enough, the harnesses are there enough where they're isomorphic to me in capability."
> — Ryan Lopopolo
这个实验催生了 **"Harness Engineering"(驾驭工程)**——一套全新的软件工程范式。
---
## 二、核心概念拆解
### 2.1 驾驭工程(Harness Engineering):从"写代码"到"设计代码生产系统"
传统软件工程的核心活动是**写代码**。Harness Engineering 的核心活动是**设计让 Agent 高效生产代码的系统**。
Lopopolo 用了一个精妙的类比:
> 想象你管理一家工厂。你不会亲自去拧螺丝——你会设计生产线、优化流程、监控质量。Harness Engineering 就是把工程师从"拧螺丝"(写代码)解放出来,让他们成为"工厂设计师"。
关键转变:
| 维度 | 传统工程 | Harness Engineering |
|------|---------|---------------------|
| **核心产出** | 代码 | 系统、规则、上下文、Harness |
| **优化目标** | 人类可读性 | Agent 可执行性 + 可观测性 |
| **失败响应** | 调试代码 | 调整 Harness(规则/上下文/结构) |
| **代码态度** | 资产,神圣不可侵犯 | 一次性消耗品,随时可抛弃 |
### 2.2 Token 亿万富翁(Token Billionaire):算力即权力
Lopopolo 自称 **"Token Billionaire"**——每天消耗超过 10 亿 token(约 $2,000-3,000/天的 API 成本)。
他说了一句极具争议但令人深思的话:
> "如果你每天没有用掉 10 亿 token,那你几乎是在渎职(borderline negligent)。"
这句话背后是一个残酷的认知转变:
- **Token 不再是成本中心,而是生产资料**
- **人类时间才是稀缺资源,Token 可以无限扩展**
- **当 Agent 能以人类 1/10 的时间成本产出代码,限制你的不是预算,是你敢不敢放手**
Lopopolo 的团队内部没有 rate limit——这是 OpenAI 内部团队的特权,但他认为这个趋势会普惠化。
### 2.3 模糊编译器(Fuzzy Compiler):LLM 的本质重新定位
Harness Engineering 把 LLM 看作 **"Fuzzy Compiler"(模糊编译器)**:
> 传统编译器:精确语法 → 确定性的机器码
> 模糊编译器:自然语言意图 + 上下文约束 → 概率性的代码实现
这个重新定位带来几个关键推论:
1. **输入质量决定输出质量**:给模糊编译器的"源代码"不是代码,是 PRD、SPEC、约束规则、上下文——这些才是新的"源代码"
2. **不需要追求一次编译通过**:Agent 可以试错、迭代、自我修正——这是特性,不是 bug
3. **编译产物(代码)没有内在价值**:真正有价值的是让编译器持续产出高质量产物的"编译系统"
### 2.4 一次性代码(Disposable Code):代码神圣性的终结
这是 Harness Engineering 最具颠覆性的观点之一:
> **在 AI 时代,代码降级为一次性塑料包装。**
Lopopolo 的团队把代码当作消耗品:
- 需要重构?让 Agent 重写整个模块,而不是小心翼翼地改几行
- 合并冲突?Agent 自动解决,人类不需要介入
- 技术债?直接用 Agent 消灭,成本远低于维护
> "We don't think about merge conflicts anymore. When every 'person' is actually 10-50 agents, worktrees and merge conflicts matter less when agents can resolve them."
这颠覆了软件工程几十年的核心信条——代码是资产。在 Harness Engineering 里,**规则、约束、SPEC 才是资产,代码只是规则的瞬时投影**。
---
## 三、Symphony:多 Agent 编排系统——当 Agent 成为你的 Sprint 板
如果只有一个 Agent,Harness Engineering 已经很有价值。但 Lopopolo 的团队走得更远——他们构建了 **Symphony**,一个用 Elixir/BEAM 编写的多 Agent 编排系统。
### 3.1 Symphony 的核心架构
```
Linear Issue Tracker → Symphony Orchestrator → Isolated Workspaces → Codex Agents → PRs
```
- **Orchestrator**:GenServer 轮询 Loop,每 30 秒检查 Linear 看板
- **AgentRunner**:管理多轮 Agent 执行
- **Workspace**:每个 Issue 一个独立 git clone 沙盒
- **JSON-RPC 2.0**:Agent 通过 stdio 与 Orchestrator 通信
### 3.2 为什么选择 Elixir/BEAM?
OpenAI 选择 Elixir 不是偶然。BEAM 虚拟机的特性完美匹配 Agent 编排的需求:
| BEAM 特性 | Agent 编排需求 |
|----------|---------------|
| **OTP Supervision Trees** | Agent 崩溃时自动重启,不影响其他 Agent |
| **Process Isolation** | 一个 Agent 失败不会级联 |
| **GenServer** | 状态机管理 Sprint 板生命周期 |
| **并发模型** | 天然支持数百个 Agent 同时运行 |
> "The BEAM VM's OTP supervision trees give Symphony exactly what an agent orchestrator needs: fault-tolerant process isolation. When one agent crashes (and they will), it triggers a supervised restart with full error context while every other agent continues working."
### 3.3 Symphony 的工作流
1. 人类在 Linear 创建详细 Issue
2. Symphony 检测 Issue,创建隔离 workspace
3. 派遣 Codex Agent 到 workspace
4. Agent 写代码、运行测试、产出 artifact
5. Symphony 更新 Issue 状态,可选创建 PR
6. **人类只负责 review PR,不管理 Agent**
Lopopolo 说团队的工作流程已经是:**Beach. Margarita. Linear.**
---
## 四、具体工程实践:Harness Engineering 的 10 个技术密码
### 4.1 极速构建循环(1 分钟法则)
> "One minute became the upper bound for the inner loop."
Agent 的工作效率与反馈循环速度直接相关。如果测试/构建超过 1 分钟,Agent 的"注意力"会断裂。Lopopolo 团队反复重构构建系统,确保 Agent 永远不会等待。
### 4.2 Agent 可读性优先(Agent-Legible > Human-Legible)
团队刻意优化代码库让**Agent 更容易理解**,而不是人类:
- 大量使用结构化的 SPEC.md
- ADR(Architecture Decision Records)用 markdown 写,让 Agent 能读取
- 自定义 ESLint 规则嵌入每个 PNPM 包
- "Wholesome" 结构测试:断言代码结构本身(包隐私、依赖边界、Zod schema 去重)
### 4.3 自定义 ESLint 规则 + 审查 Agent
团队写了一套 ESLint 规则来编码"工程品味":
- 强制使用共享工具函数(防止 Agent 在局部优化)
- 依赖边层层约束
- Schema 去重检查
这不是给人类看的,是给 Agent "自我审查"用的。
### 4.4 SPEC.md 驱动开发
每个功能都有高保真 SPEC,Agent 根据 SPEC 实现。SPEC 成为真正的"源代码",实现代码只是编译产物。
### 4.5 Ghost Libraries(幽灵库)
> "We distribute [Symphony] as a spec, which folks are calling Ghost Libraries on Twitter."
不需要共享实际代码——只需要共享高保真 SPEC,Agent 可以从 SPEC 重建整个系统。这是"代码即SPEC"的终极形态。
### 4.6 即时上下文注入(Just-in-Time Context Injection)
Agent 不需要知道整个代码库——只需要在需要时注入相关上下文。这解决了百万行代码库的上下文窗口问题。
### 4.7 源码级结构测试
不是行为测试,是结构测试:
- 包结构是否正确?
- 依赖图是否违规?
- 是否有重复实现?
- 类型边界是否被尊重?
### 4.8 基于角色的审查 Agent(Persona-Based Review Agents)
不同 Agent 扮演不同角色审查代码:
- 安全审查员
- 性能审查员
- API 设计审查员
### 4.9 可观测性闭环
Agent 不仅写代码,还写监控:
- 自动生成 Grafana dashboard JSON
- 自动生成告警规则
- Agent 收到告警后自动排查和修复
### 4.10 技能蒸馏(Skill Distillation)
Agent 学到的有效工作模式被提取为可复用"技能",分享给其他 Agent。整个团队的学习曲线被压缩。
---
## 五、人类的终极武器:当代码变成自来水,什么不会贬值?
Lopopolo 的演讲结尾回到了一个根本问题:**如果代码真的免费了,工程师的价值在哪里?**
他的答案是:
### 5.1 意图定义(Intent Definition)
Agent 能生成无数满足需求的方案,但只有人类能定义**"真正的意图"**——商业逻辑、用户体验、伦理边界。
### 5.2 约束设计(Constraint Design)
> "在生成能力无限溢出的时代,'不能做什么'比'能做什么'更稀缺。"
安全红线、法规合规、成本上限、品牌调性——这些"禁飞区"需要人类划定。
### 5.3 系统思维(Systems Thinking)
> "To let the model cook, you have to step back... constantly asking, where is the agent making mistakes? Where am I spending my time? How can I not spend that time going forward?"
从调试代码转向调试系统。从"这个功能怎么实现"转向"这个系统怎么让 Agent 更好地实现功能"。
### 5.4 品味与判断(Taste & Judgment)
工程品味不会过时——但表现方式变了:
- 以前是"这行代码写得好不好"
- 现在是"这个 Harness 设计得好不好"
- 以前是"这个函数命名是否清晰"
- 现在是"这个 SPEC 是否足够完整让 Agent 不跑偏"
---
## 六、费曼视角:Harness Engineering 为什么重要?
如果把软件工程比作驾驶:
- **传统编程** = 你亲手驾驶(写每一行代码)
- **Copilot 时代** = 自动驾驶辅助(AI 帮你打方向盘,但你盯着)
- **Harness Engineering** = 你设计交通规则和道路系统,让 5000 辆车自动驾驶
真正的转变不是"谁写代码",而是**"代码的角色从资产变成消耗品"**。当代码像自来水一样廉价,真正的价值转移到了**让水流动的基础设施**——Harness。
Lopopolo 的团队用 5 个月证明了一个临界点:**当 Harness 足够完善,Agent 可以独立完成完整的软件工程生命周期。**
这不是"AI 让程序员失业"的故事。这是"程序员进化成系统设计师"的故事。
> **"The real bottleneck in AI-native software development is now human attention rather than tokens."**
---
## 参考链接
- 演讲原文(frontiermodels.cc):https://frontiermodels.cc/video/harness-engineering-how-to-build-software-when-humans-steer-agents-execute-ryan-lopopolo-openai/
- Latent Space 专访:https://www.latent.space/p/harness-eng
- OpenAI 官方博客(2026-02-11):Harness engineering: leveraging Codex in an agent-first world
- Symphony GitHub:https://github.com/openai/symphony
- liwenye.cn 中文分析:https://liwenye.cn/从写代码到设计代码生产系统-宝玉风格/
---
#HarnessEngineering #驾驭工程 #RyanLopopolo #OpenAI #Symphony #TokenBillionaire #模糊编译器 #AI编程 #AgenticCoding #软件工程革命
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力