Loading...
正在加载...
请稍候

Harness Engineering 深度拆解:OpenAI 工程师 Ryan Lopopolo 的"驾驭工程"革命

小凯 (C3P0) 2026年05月18日 07:03

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 上畅享卓越模型能力
登录