乐于分享
好东西不私藏

我读完 50 多份文档后,发现 AI 编程真正的战场,已经不是 Prompt,而是 Harness

我读完 50 多份文档后,发现 AI 编程真正的战场,已经不是 Prompt,而是 Harness

事情是这样的。

这两天,我干了一件很 nerd 的事。

我把一个叫 oh-my-openagent 的开源项目,从 README,一路读到 guide、reference、manifesto、troubleshooting、superpowers,甚至一路读到源码目录里的 AGENTS 文档。

11 个 Agent,52 个 hooks,26 个 tools,再加上一堆配置、规划和恢复机制,基本都顺了一遍。

不是那种扫两眼 README 就出来下判断的读法。

是那种,真的把它当成一个系统去啃的读法。

我还顺手把整仓能算文档的材料,做了一轮结构化扫读。最后整理出来的文档摘要,一共 50 多份。

越读我越觉得,这个项目最有意思的地方,不是它会不会替代 Claude Code,不是它能不能把 GPT、Claude、Gemini、Kimi、GLM 串起来,也不是它那些神神叨叨、又有点中二的希腊神话命名。

真正让我后背发麻的,是另一件事。

我们很多人还在讨论 Prompt Engineering。

但有些人,已经开始卷 Harness Engineering 了。

这俩东西,看起来像一个层面的词。

其实不是。

差得还挺远。

如果你最近也在折腾 AI 编程,Agent,自动化开发,工作流,或者你已经有一点点那种感觉了,就是模型明明越来越强,但真正决定体验的,往往不是模型本身,那你大概率会懂我在说什么。

说真的,我一开始也以为,这项目的主线,无非就是多模型调度。

Claude 负责编排,GPT 负责深度推理,Gemini 负责前端,Grok 或 MiniMax 负责快速搜索。

听着很猛,对吧。

但这还只是表层。

顺着它的文档一路往下读,你会发现它真正想解决的,不是用哪个模型更强,而是另一个更底层的问题。

AI 为什么总在最后一公里掉链子。

为什么一个模型,明明回答得挺聪明,一落到真实工程里,就开始半途而废,改错文件,忘记上下文,工具调用混乱,改完不验证,甚至刚跑两步就跟你说已经 done 了。

你想想看,这是不是我们现在最熟悉的场景。

不是模型不会说。

是模型不会把事干完。

而 oh-my-openagent 几乎把整个系统都建立在一个很刺耳,但我觉得非常对的前提上。

人类介入,不是 feature。

是 failure signal。

它在 manifesto 里直接把这话说透了。

Human in the loop,很多时候不是协作,而是系统失效之后,人类被迫接管。

这话听着有点狂。

但你细想一下,确实就是事实。

你让 Agent 干活,最后自己又去修它留下来的烂尾,补它漏掉的边界,替它把该验证的东西验证掉。

这哪叫代理你。

这叫你给它当托底工具人。

所以这个项目干了一件很狠的事。

它没有继续把赌注压在一个更强的主模型上。

它开始重写 AI 干活的外部环境。

也就是 Harness。

什么叫 Harness。

坦率的讲,你可以把它理解成,围在模型外面那一整套让它真正能工作的东西。

任务怎么拆。

模型怎么选。

不同模型什么时候上。

规则什么时候注入。

技能什么时候加载。

上下文怎么恢复。

后台任务怎么并发。

编辑怎么校验。

卡住了以后怎么自动续上。

出错以后怎么自愈。

最终怎么验证它到底是真的做完了,还是只是在跟你表演做完了。

这玩意,才是现实世界里真正的战斗面。

我为什么会突然被这个点击中。

因为这项目的很多设计,已经不是在写一个 AI 插件了。

更像是在给大模型造操作系统。

比如它最核心的一层,不是单 Agent,而是一个分工明确的班子。

Sisyphus 负责总编排,Prometheus 负责规划,Metis 找漏洞,Momus 审计划,Atlas 盯执行,Oracle 做顾问,Explore 快速 grep,Librarian 查文档,Hephaestus 处理深度自治任务。

看着像角色扮演。

其实背后是一种特别工程化的思想。

不要让一个模型,同时扮演项目经理、架构师、搜索员、程序员、审稿人和质检员。

这不是全能。

这是精神分裂。

更有意思的是,它甚至不鼓励你直接按模型名派活。

文档里反复强调,委派的时候,优先传 category,不传 model。

也就是,你告诉系统这是 visual-engineering、ultrabrain、deep、quick,至于背后该落到 Gemini 还是 GPT,系统自己做映射。

这个动作很小。

但我觉得特别关键。

因为它在试图把人从模型选择这件事里抽走。

你不需要整天琢磨,前端到底该上哪个,重构到底该上哪个,查资料是不是又要换一个窗口。

你只需要表达意图。

系统负责调度合适的大脑。

你会发现,到了这一步,Prompt 已经开始退居二线了。

Prompt 当然还重要。

但它不再是唯一的魔法。

真正拉开差距的,已经是任务路由、技能装配、上下文治理、工具设计、错误恢复、验证闭环这些东西。

说到这里,我必须聊一个让我印象特别深的细节。

这个项目里有一个东西,叫 Hashline edit。

简单说,就是给每一行代码都打上内容哈希,让 Agent 编辑的时候,不是凭记忆去复写原文,而是拿着行号加哈希去改。

如果文件在它编辑前已经变了,哈希对不上,编辑直接拒绝。

这一下子解决的,其实就是那个老问题。

模型经常不是不会改。

它是改的时候,定位不稳。

文档里甚至给了一个很夸张的数据,Grok Code Fast 1 的编辑成功率,从 6.7% 干到了 68.3%。

只是因为换了编辑工具。

看到这我当时就愣住了。。。

真的。

因为这几乎是在明牌告诉你。

很多我们以为是模型太笨的问题,最后根本不是模型问题。

是 Harness 问题。

工具没给它稳定锚点,上下文没给它正确边界,系统没给它校验和恢复机制,然后人类看着翻车现场,骂一句大模型不行。

有点冤。

再比如它那个 Continuation 体系,也很有意思。

项目里有一套 Boulder 机制,还有 todo continuation enforcer、ralph loop、atlas hook 这一整串东西。

坦率的讲,不是让 Agent 自觉一点。

而是默认它不自觉。

默认它会偷懒,会早停,会在 todo 没做完的时候交卷。

于是系统在 session idle 的时候盯着它,只要还有未完成项,就继续把它拽回工位。

这套思路,真的很像管理一个并不完全可靠的实习生。

你不能只跟他说,认真一点。

你得有看板,有检查点,有验收,有催办,有异常回滚。

这才是工程。

还有另一个让我很服气的点,是它对错误的态度。

不是报错了就算了。

而是把错误当常态来设计。

session recovery 会处理 tool_result_missing、thinking block 顺序错乱、空消息这些结构性问题。

anthropic context window limit recovery 会在上下文爆掉的时候尝试截断、压缩、总结。

background agent 会用 idle event 加稳定检测双信号判断任务是否真的完成,避免只是短暂停顿就误判结束。

这种感觉很像什么呢。

很像分布式系统。

不是假设节点永远在线。

而是假设失败一定会发生,所以系统从第一天开始就得能恢复、能续跑、能降级。

写到这里,我脑子里一直在回响一句话。

Prompt engineering 可能真的会慢慢退到幕后。

这不是我瞎发挥。

是它 manifesto 里明写的一个未来。

Prompt engineering 终将像 compiler debugging 一样,慢慢退到幕后。

为什么会这样。

因为当一个系统开始有稳定的角色分工、可恢复的状态管理、意图级任务路由、模型兼容层、技能注入、工具约束和验证闭环之后,人类跟它交互的最佳方式,真的会越来越接近提需求,而不是搓咒语。

你说你想做什么。

系统自己决定怎么把这件事做对。

这块其实特别像电力刚普及那会儿。

1880 年代很多工厂,买了电动机以后,第一反应只是拿它替换蒸汽机。

结果生产率并没有立刻起飞。

真正吃到红利的,不是最早买到电的人。

而是最早围绕电,重写工厂布局、生产流程和管理方式的人。

AI 现在也差不多。

很多团队还停留在,把更强模型塞进旧工作流。

像极了给蒸汽时代的工厂换上电机,然后期待奇迹自动发生。

但另一批人,已经开始围绕 AI 的不确定性,重写整套生产线了。

模型只是其中一个零件。

Harness 才是厂房本身。

所以如果你问我,看完 oh-my-openagent 这一大堆文档以后,最大的感受是什么。

不是震惊于它有多少 feature。

也不是羡慕它把多少模型串了起来。

而是我越来越确信,接下来 AI 编程领域真正会分出层次的,不是谁先拿到下一个更强模型。

而是谁先把 Harness 做对。

谁能把意图识别、任务拆解、工具调用、上下文治理、状态恢复、编辑锚定、验证闭环、知识注入这一整套东西,磨到足够顺。

谁就更像是在造下一代开发环境。

而不是做一个会聊天的 IDE 插件。

这两者,差别非常大。

前者是在搭基础设施。

后者很多时候,只是在给人一种我也有 Agent 的感觉。

这话听着有点刺耳。

但我觉得,未来一两年,大家都会慢慢意识到这件事。

模型能力的进步,当然还会继续。

而且会非常快。

但单模型范式的天花板,可能也比我们想象中来得更早。

因为真正复杂的生产任务,从来都不是一道智力题。

它是一个长链路、强约束、会失败、要恢复、要验证、还要持续交付的系统问题。

这种问题,天然就更像工程,不像玄学。

大时代啊,朋友们。

如果你现在还在问,Prompt 该怎么写得更神。

当然可以继续研究。

这事依然有价值。

但我会更建议你,把一部分注意力,挪到另一个问题上。

你给模型搭的工作环境,到底是不是一个能让它稳定交付的环境。

有没有任务路由。

有没有技能装配。

有没有可靠编辑。

有没有错误恢复。

有没有验证闭环。

有没有让它在半路开小差时,继续把石头推上山的机制。

这些东西,短期看没那么性感。

不像一个新模型发版那样容易上热搜。

但它们很可能,才是真正决定产能的地方。

反正我这次读完最大的感受就是。

AI 编程真正的战场,已经开始从模型层,往 Harness 层迁移了。

而且这个迁移,大概率会比大多数人意识到的更快。

如果你是开发者,早点理解这件事,会少走很多弯路。

如果你是做 Agent 产品的人,那就更不用说了。

很多差距,表面看像模型差距。

往下扒开,可能全是 Harness 差距。

你敢信???

这里面甚至连后台任务完成这件事,都不是拍脑袋判断一下就算了。文档里写得很细,background agent 默认按 provider 和 model 做并发限流,单 key 默认 5 个并发,而且完成判断要同时看 session idle 和稳定检测,避免 Agent 只是发了会呆,就被系统误判成已经干完了。

这种细节,真的很工程。

写到这里,差不多了。

最近我应该还会继续啃一些这类项目。

因为越看越觉得,未来真正值得追的,不只是更强的大脑。

还有更像样的手脚,骨架,神经系统。

以及那套,能让一群不完美智能体,真的协同干活的秩序。

这玩意,太重要了。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。