AI写了100万行代码,人类工程师该干什么?——Harness Engineering深度解析

0 阅读11分钟

3人团队,5个月,0行人工代码,交付了一个百万行产品。这不是科幻,是OpenAI今年2月公布的真实实验。
更劲爆的是:就在昨天(4月16日),Anthropic发布了Opus 4.7,编码能力直接暴涨3倍。Harness Engineering从概念变成了正在发生的事。


先说个扎心的事实

2026年刚过完年,技术圈被一个新词刷屏了——Harness Engineering

HashiCorp联合创始人Mitchell Hashimoto在2月首次明确提出这个概念。

紧接着,OpenAI公布了一个炸裂的实验结果:

3人团队,5个月,从零到一,交付了一个100万行代码的产品,全程没有一行代码是人类写的。

腾讯汤道生在3月27日的演讲里也提到:

"AI落地不只是一道算法题,更是一道工程题。 Harness工程决定成败。"

而就在昨天(4月16日) ,Anthropic发布了 Claude Opus 4.7——

  • 编码基准测试比前代提升 13%
  • 在Rakuten-SWE-Bench上解决的生产任务是 Opus 4.6的3倍
  • 工具调用错误率 降低约1/3
  • 无限循环问题被彻底修复(之前每18次查询就会卡住一次)
  • 多步骤复杂任务成功率 提升14%,用的token更少

这不是预测了,这是正在发生的事。

今天咱们把这层窗户纸捅破。


一、Harness是什么?从"驯马"说起

Harness这个词,本意是"马具"——套在马身上那套缰绳、鞍具。

想象一下:

  • 🐴 AI大模型 = 千里马 → 跑得极快,力气极大,但不知道该往哪跑
  • 👨‍💻 人类工程师 = 骑手 → 负责指明方向
  • 🧵 Harness = 那套装备 → 约束马的速度和方向,让蛮力变成可控生产力

所以Harness Engineering翻译过来,核心就一句话:

人类掌舵,AI执行


二、AI工程化的三次进化

Harness Engineering不是凭空冒出来的,它是AI工程化演进的自然结果:

阶段核心理念做什么局限
Prompt Engineering调提示词给AI写详细的指令单轮问答还行,复杂任务管不住
Context Engineering管上下文让AI读取文档、记忆历史只知道"看什么",不知道"怎么跑"
Harness Engineering建系统约束、反馈、可观测性、架构还在演进

简单说:

  • Prompt解决**"怎么说"**
  • Context解决**"看什么"**
  • Harness解决**"怎么跑得稳、跑不偏"**

Andrej Karpathy之前力挺Context Engineering,但现在业界发现:光有上下文不够,AI该犯错还是犯错

为什么?因为AI是概率模型,它会在长任务中:

  • ⚠️ 注意力漂移
  • ⚠️ 遗忘关键约束
  • ⚠️ 自己编造不存在的API

这些毛病,给再多文档也治不了。

但Opus 4.7告诉我们:模型能力在快速逼近"不需要那么多文档"的临界点。


三、最新战况:AI编程工具这周发生了什么?

在深入Harness之前,先看看本周(4月中)  AI编程圈的动态——这能帮你理解为什么Harness变得如此紧迫:

🔥 Anthropic:Opus 4.7 + Claude Code全面升级(4月16日)

能力维度Opus 4.7 具体提升意义
复杂编码可将最困难的编码工作交给模型,无需密切监督人类监督成本大幅下降
长时任务连续工作数小时,遇到难题不放弃Ralph循环类方案更可靠
工具可靠性错误减少约1/3,工具失败时能继续执行反馈回路更稳定
循环抗性无限循环问题彻底解决(之前1/18查询会卡住)自动循环不再怕死循环
多步骤任务成功率提升14%,使用更少token成本更低效果更好
代码质量减少无意义包装函数,边写边修正产出更干净

新增功能

  • /ultrareview 命令:Claude Code中专门的深度代码审查
  • Auto Mode扩展至Max用户:Claude可自主决策,减少中断
  • xhigh努力等级:推理/延迟更精细的控制

🔥 OpenAI:Codex瞄准macOS原生控制(4月17日)

OpenAI首席营收官Denise Dresser在内部备忘录中直言:

"市场比以往任何时候都更具竞争性。"

Codex现在可以自主控制macOS应用程序——这直接对标Claude Code的领地。

🔥 Google:发布Android Skills仓库 + Knowledge Base(4月17日)

面向开发者的AI Agent基础设施:

  • 全新 Android Skills GitHub仓库
  • Android Knowledge Base(知识库)
  • 目标:为AI Agent提供执行编码任务的完整信息

你看出来了吗?三巨头都在做同一件事:给AI建Harness。


四、Harness的三大支柱

支柱1:可观测性——让AI"看见"自己在干什么

AI最容易犯的错误?自说自话,不验证。

  • 它觉得代码写完了 → 没跑测试
  • 它觉得功能实现了 → 没开浏览器看一眼
  • 它觉得性能达标了 → 没看日志

OpenAI的解法:让AI直接能"看见"自己的产出。

bash复制

# UI可读:把Chrome DevTools协议接入AI运行时  # AI可以截图、解析DOM、验证UI行为  # 日志可读:暴露本地可观测性栈(LogQL、PromQL)   # AI可以查日志、查指标  # 隔离环境:每个任务单独一个worktree  # AI在里面随便折腾,完事就销毁

Opus 4.7把这个能力推到了新高度:视觉分辨率支持最高2576像素长边缘(约375万像素),是之前模型的3倍以上。

这意味着AI读取密集截图、解析复杂图表、做像素级精确参考的能力大幅提升——它真的能"看见"了。

这样AI不再是"闭着眼睛写代码",而是能自己验证、自己调试、自己修复

支柱2:架构约束——给AI画好"不能踩的线"

AI在代码库里跑久了,会产生一个致命问题:熵增

它会复制已有的模式,哪怕那些模式不理想。时间长了,代码库就烂了。

OpenAI的做法:把架构规则写死,让AI没法越界。

依赖层级(严格单向): Types → Config → Repo → Service → Runtime → UI 横切关注点(认证、日志、开关)→ 只能通过显式的Providers接口 违反规则?自定义lint直接报错,报错信息里直接告诉AI怎么修。

这套东西,传统团队要到几百人规模才会认真设计。

但OpenAI发现:对于AI来说,这是前提条件 ——没有约束,AI就会乱跑。

Opus 4.7在指令遵循上有显著改进,但同时Anthropic警告:"之前的松散提示可能产生意外结果"——换句话说,约束规则需要跟着模型能力一起升级。

支柱3:反馈回路——让AI"知道错了就改"

AI最缺的是什么?知道自己错了。

人类写代码,有编译器报错、有测试失败、有Code Review意见。AI写代码,这些反馈回路必须自己搭。

Anthropic的实践:双重Agent架构

Agent职责输出
初始化Agent搭建环境,写需求清单(JSON格式),建进度文件初始化完成标记
编码Agent每次只处理一个功能,读完进度文件,干完活,提交Git更新进度

这就像两个工程师轮班:一个搭架子,一个填内容。

Opus 4.7在Agent协调上的表现更强:角色保真度更高,跨长多会话记住重要信息的能力大幅提升。

还有一个更暴力的玩法叫 Ralph循环 —— 5行Bash脚本:

bash复制

while :; do cat PROMPT.md | claude-code; done

无限循环,反复执行同一个任务。AI看到自己上一轮留下的代码、测试结果、错误日志,就会自动修正。

之前这个循环有隐患:AI可能陷入无限循环。但Opus 4.7修复了这个bug。

Claude Code负责人公开承认自己用这个循环:过去30天提交259个PR,增加4万行代码,删除3.8万行——每一行都是AI写的。


五、OpenAI的百万行实验:到底怎么做到的?

这是最震撼的部分,值得仔细拆解。

实验规则:3人团队(后来扩展到7人),不许手写任何代码,从空仓库开始。

结果:5个月,100万行代码,1500个PR被合入,产品已有数百名内部用户。

第一步:把"说明书"从1000页缩到100行

刚开始,他们写了一个超大的AGENTS.md文件,把所有规则都塞进去。

结果惨不忍睹:AI被信息淹没,注意力被稀释,反而漏掉关键约束。

后来学聪明了:把AGENTS.md从"百科全书"变成"索引地图"——只有100行,不包含具体知识,只告诉AI"去哪儿找"。

真正的知识库在结构化的docs/目录里,那是系统的唯一事实来源

这叫  "渐进式披露"(Progressive Disclosure)

Google这周发布的Android Knowledge Base,本质上就是同样的思路——给AI一个结构化的知识库,而不是一堆散乱的文档。

第二步:让AI能"看见"UI和日志

代码吞吐量上来后,人工QA成了瓶颈。

解法

  • 接入Chrome DevTools协议 → AI可以截图、解析DOM、验证UI行为
  • 暴露本地可观测性栈 → AI可以用LogQL查日志、用PromQL查指标

于是,"确保服务启动在800ms内完成"这样的指令,AI真能去验证了。

第三步:把规则写进代码,而不是文档

他们用自定义lint和CI作业强制执行架构约束。

每个错误信息里都直接注入修复指令,这样AI不仅能修这个bug,还能学会怎么修同类bug——  "复用效应"  就这样产生了。

第四步:定期"垃圾回收"

AI生成的代码库会慢慢"腐烂"——模式被复制、偏差被累积。

OpenAI每周花一天时间手动清理,但这显然不可扩展。

后来的思路:把"黄金原则"直接编码到仓库里,建立循环清理流程。定期跑后台Codex任务,扫描偏差、更新质量等级、发起重构PR。

这相当于给代码库装了自动垃圾回收器


六、国内厂商也没闲着

腾讯

汤道生明确提出"龙虾"服务的背后是一整套工具链:

  • Agent Runtime安全沙箱
  • SkillHub
  • WorkBuddy

腾讯云ADP通过RAG和知识库给智能体连接上"图书馆"。Agent Runtime的沙箱方案可以在1分钟内拉起超过十万个容器沙箱,百毫秒级启动速度,用完就销毁。

阿里云

提出"工程知识引擎"概念,通过六大能力构建立体化上下文感知体系:

  • 代码图谱、Commit图谱、RepoWiki、记忆系统等

Qoder实验组数据

  • 任务完成度提升12%
  • Token消耗降低14%
  • 代码检索F-Score提升21%

LangChain

公式最简洁:

Agent = Model + Harness

模型本身不是Agent。只有当Harness赋予它状态、工具、反馈循环和约束时,它才变成Agent。


七、回到最初的问题

当AI写了100万行代码,人类工程师该干什么?

答案变了。而且Opus 4.7的数据告诉我们:变化速度比任何人预期的都快。

第一:不用手写代码了,但得会设计系统

Harness Engineering的本质是让AI执行,让人类设计

你要定义系统的边界、设计模块间的约束、构建让AI不跑偏的"围栏"。这比写代码难,也比写代码值钱。

第二:要会"教"AI,而不是"指挥"AI

  • 写提示词是"指挥"
  • 给结构化的文档是"教"

把AGENTS.md变成索引地图,把架构约束写进lint,把反馈回路编进CI——这些才是高级玩法。

Opus 4.7的新特性(Task Budgets、xhigh努力等级)说明:未来的"教"不是写死的规则,而是动态的资源分配策略。

第三:得懂"垃圾回收"

AI生成的代码库会熵增,会腐烂。你要学会设计自动清理流程,把"黄金原则"编码进系统。

第四:珍惜人类的判断力

OpenAI实验里有一句话 worth 记住:

AI在运行时无法访问的任何知识,都不存在。

Google Docs里的文档、聊天记录里的决策、你脑子里的经验——对AI来说都是不可见的。

所以:把知识沉淀到仓库里,让它对AI可见、可读、可执行。这是人类工程师最核心的工作之一。


写在最后

Harness Engineering不是"AI取代程序员"的恐吓,而是"程序员如何驾驭AI"的答案。

当AI能写百万行代码,人类工程师的角色从**"生产者"变成"设计者"**:

  • 我们不再写代码,而是设计让AI写代码的环境
  • 我们不再调试bug,而是设计让AI自己修bug的反馈回路
  • 我们不再测试质量,而是设计让AI自己验证的可观测性系统

这是升级,不是降级。

而Opus 4.7告诉我们:这个未来不是"即将到来",是"已经到了"。


更多 AI 实战干货,欢迎关注公众号「老王的AI编程」,一个每天用 AI 写代码的程序员,专说实话不吹牛逼。