![]()
文:王智遠 | ID:Z201440
先說明下,這篇文章有點費腦。
適合對AI趨勢感興趣、想搞懂2026年開發者圈在吵什么的人,得稍微跟著動動腦筋。
咱們從一個大家都有過的感受說起:用過 AI 寫代碼的人,多半經歷過同一條情緒曲線:第一天覺得這玩意兒要革命,第三天開始罵街。
它會跑偏、反復犯同一個錯、忘了你三分鐘前說的要求,甚至項目做到一半,就突然跟你說「大功告成」。
大部分人的第一反應:這模型不行,換一個更強的;但 2026 年初,海外開發者社區突然認為,也許問題在模型外面那一圈東西。
他們給這圈東西起了個名字,叫 Harness。
01
Harness本意是馬具,就是韁繩、馬鞍、嚼子、馬蹄鐵那一套,用來駕馭馬匹的裝備。用在 AI 這兒,意思也差不多。比如:管理大模型的運行環境、工具接口、驗證機制、反饋回路、約束規則等等。
這個詞的走紅,有一條很清晰的時間線:
2026年2月5日,HashiCorp聯合創始人Mitchell Hashimoto發了一篇博客。這人很厲害,做過Terraform,全球開發者都在用的基礎設施工具,在基礎設施圈子里算是教父級人物。
他在博客里分享了自己用AI編程的經歷,寫到第五步時說了一句話,大意是:Agent每次犯錯,別在提示詞里加一句「請你下次注意」,沒用。
不如去改環境,寫一條規則、加一個腳本,讓它從結構上就沒法再犯同樣的錯;他管這叫Engineer the Harness(去設計那套駕馭系統)。
六天后,OpenAI跟進了。2月11日,他們發了一篇實驗報告,標題直接用了Harness Engineering。
報告里說,三個工程師從空倉庫開始,五個月沒寫一行手動代碼,全靠OpenAI的編程Agent(Codex Agent生成),最后倉庫里攢了約一百萬行代碼,合并了1500個代碼合并請求,產品還有真實的日活用戶。
這三個人五個月里沒干啥別的,就是設計讓Agent寫代碼的環境。
之后,Martin Fowler站臺、LangChain(做AI應用開發框架的公司)跟進,一個月之內,這個詞就從一篇個人博客,變成了開發者圈的黑話。
那Harness具體能干嘛?最直觀的理解就是:讓Agent干不了壞事、記得住東西、做完有檢查、搞砸能回滾。
比如:約束這件事,OpenAI的實驗里,工程師要求代碼必須遵守分層架構,每個模塊只能引用相鄰層。注意,這不是在提示詞里寫一句「請遵守分層架構」,那沒用,Agent下一秒就忘。
他們把這條規則寫成了CI流水線里的自動化代碼檢查,Agent敢違反,代碼合并請求直接過不了。一條程序化的規則,比提示詞里一萬句叮囑都管用。
再比如記憶,大模型天生只有一種記憶,就是上下文窗口,滿了前面的內容就被擠掉。OpenAI的做法是在倉庫里維護一套結構化文檔,設計規范、架構決策、執行計劃全放里面,Agent隨時能查。
說白了,別指望金魚能記住事兒,你得在魚缸外面貼滿便簽。
最有意思的是驗證。Agent做完一件事,你問它「做得怎么樣」,它幾乎永遠會說「我做得很好」,這不是Anthropic的段子,是真的。
Agent評估自己的產出,總是盲目自信,哪怕在人看來質量很一般。怎么辦?
Anthropic的解法有點像生成對抗網絡(一種讓兩個AI互相博弈的技術):做事的和評判的分開,一個Agent寫,另一個專門挑毛病,選手和裁判不能是同一個人。
還有糾錯。Anthropic在做長時間運行的Agent時發現,Agent跑一半掉進死胡同是常事,硬做只會越錯越遠。他們的做法簡單粗暴但有效:
每次改動都走Git,卡住了就用Git回滾到上一個干凈狀態,然后直接換一個新Agent接手,只給它一張交接單,寫清楚前面做了什么、接下來該做什么。
不指望金魚能自我修復,直接換一條新的,再塞給它一張紙條,這些加起來,就是Harness。
聽起來好像也沒什么了不起,無非是規則、文檔、測試、回滾,都是軟件工程里早就有的東西。
但看一個數字你就懂了:LangChain用同一個模型,提示詞一個字沒改,只調整了外面那一圈,換了工具定義、改了上下文管理、加了錯誤恢復循環。
結果,在主流的編程能力基準測試TerminalBench 2.0里,得分從52.8%漲到66.5%,排名從30名開外沖進前5。馬沒換,就換了套馬具,這個數字比任何解釋都有說服力。
02
概念火了之后,開發者社區迅速分成兩派,吵得挺兇的。
一派覺得 Harness 被吹過頭了。好玩的是,這派最猛的代言人,來自 Anthropic 自己家。
Boris Cherny,Claude Code 的創造者,就是那個目前市面上最火的 AI 編程工具,他做的,他在AI 工程圈很有影響力的播客社區的討論里,說了一段讓對面很不舒服的話,大意是:
Claude Code 的所有秘訣都在模型本身,它是模型上最薄的一層包裝,我們不可能做得比這更精簡了。
你品品,一幫人在喊「Harness就是一切」,結果做出最成功的Agent產品之一的人告訴你,他的產品基本沒有Harness,這多少有點打臉。
OpenAI的Noam Brown更直接,他說在推理模型上搭腳手架,很多時候都是添亂;模型的推理能力一直在飛速進步,你今天費半天勁搭的編排邏輯,過幾個月新模型出來,就成了絆腳石。
獨立測試也在幫這派說話:
專門做AI能力評估的機構METR做了嚴格對比,結論是Claude Code和Codex,并沒有顯著贏過一個基礎腳手架。
Scale AI的SWE-Atlas測試結論更扎心,你換哪個Harness框架,差距基本在誤差范圍內,說白了,折騰半天跟沒折騰一樣。
聽到這,你可能會想,得,Harness就是個營銷概念吧?
別急,還有更離譜的實驗。安全研究員Can Boluk做了個叫Hashline的實驗,他沒碰模型、沒改提示詞,就改了一件事,Agent編輯代碼的格式。
怎么改的?他給每行代碼加了2到3個字符的哈希標識,Agent改代碼時不用復述整行,只需要說「把2:f1那行換成這個」就行。
就這一個小改動,一個模型的編程得分從6.7%漲到了68.3%,模型權重一個字節沒動過。你說Harness有沒有用?
另一家做AI應用框架的公司LlamaIndex,創始人直接喊口號:模型的駕馭系統就是一切。他說自己一個下午優化Harness,15個大模型的編碼能力全漲了。
這派還有一張最硬的商業牌,Cursor。
這家公司沒有自己的基礎模型,底層用Anthropic和OpenAI的能力,相當于用別人的馬,但它靠模型上面那一層Harness,2025年底估值到了293億美元,2026年3月在談500億,年化收入突破20億美元,超過半數財富500強都在用來。
它的護城河在哪?在馬具。
所以到底誰對?我覺得他們在說不同層面的東西,你把兩邊的論據攤開看,會發現一個很有意思的事情。
Boris Cherny 說 Claude Code 是「最薄的包裝」,這確實沒撒謊。Claude Code 的產品架構就是簡單,沒有什么花哨的多步編排邏輯。
但你去看Boris Cherny自己怎么用Claude Code,就不一樣了:他日常同時開10到15個Claude Code會話,5個在終端里跑,5到10個在瀏覽器里,還有幾個在手機上。
他用自動化鉤子,每次保存代碼后自動格式化;用規劃模式,強制Agent先出方案再動手,方案沒批準就不能寫一行代碼;甚至用子Agent做代碼審查,讓Agent檢查Agent的活;還把Agent接上瀏覽器自動化工具,讓它自己打開瀏覽器跑測試,看看寫的東西能不能用。
他自己都說:給模型一種驗證自身工作的方式,質量能提升兩到三倍。你說這不是Harness?
說白了,Boris Cherny說的「薄」,是產品架構層面的薄;而對面說的「厚」,是工程實踐層面的厚。
產品可以很薄,實際用時,必須在模型周圍建立規則、驗證、反饋循環,它才能在真實項目里不翻車,這兩件事一點都不矛盾。
就像賽車手說「我的車底盤結構很簡單」,但每次上賽道前,都要花三個小時調懸掛、調胎壓、調剎車平衡。
其實爭論「模型重要還是Harness重要」,本身就有點無聊,就像爭論發動機重要還是底盤重要一樣,開過車的人都不會問這種問題。
03
但是,等一下,如果 Harness 真有那么重要,有一件事就說不通了:為什么做得最好的那些團隊,反而一直在拆掉自己搭的 Harness?
Manus 你應該聽過。
他們半年重寫了五次Harness,每次都是砍功能,用通用的Shell執行,替換掉復雜的工具定義;用結構化的交接文件,替換掉管理型Agent,越做越簡單。
Next.js背后的公司,在他們的v0產品里刪掉了80%的Agent工具,效果反而更好;Anthropic自己也在干這事,Boris Cherny說Claude Code的代碼每三到四周就重寫一次。
為什么要重寫?
因為新版本模型出來后,上一版Harness里的很多邏輯,已經被模型內化了,那些代碼就成了多余的,不切掉反而礙事。
這就和前面說的「Harness就是一切」矛盾了。如果它是壁壘,為什么大家都在拆?因為Harness本身,根本不是壁壘。
Anthropic的研究員Nicholas Carlini,用Claude的上一代旗艦模型Opus 4.5時,做出了一個能用的編譯器;后來換成Opus 4.6,同樣的任務,產出能編譯Linux內核了。
關鍵是,每升一級模型,他都得重新設計Harness。
因為模型變強了,舊Harness里那些「保護性」的邏輯,就變成了約束,限制了新模型本來能自主完成的事。他反復強調:設計Harness時,得站在Claude的角度想。
這揭示了一個不太舒服的真相:
今天精心設計的Harness,大概率會被下一代模型「吃掉」;今天你需要規則防止Agent搞亂架構,明天新模型可能天生就知道不該這么做;今天你得用專門的評審Agent檢查質量,后天模型自己的自我評估可能就靠譜了。
反過來也成立。
LangChain在調Harness的過程中,積累了大量執行軌跡數據:哪些路徑成功、哪些模式失敗、工具調用的序列是什么、Agent卡在哪一步、為什么卡住?
這些數據很有價值,能反饋回模型訓練,讓下一代模型更適配這個工作環境;LangChain自己也說:模型和Harness,正在共同進化。
所以真正的情況是:
模型在吃Harness,Harness也在喂模型,它們像一條咬住自己尾巴的蛇,誰也停不下來。
真正壁壘在于蛇轉動的速度,誰能更快發現Agent的失敗模式,把它編碼進環境,再用環境跑出來的數據喂給下一代模型,讓這個飛輪再轉一圈,誰就贏了。
Cursor 值那么多錢,因為幾百萬開發者每天在上面寫代碼,每一次使用都在給這個飛輪加燃料,它積累的不是 Harness,是飛輪的轉速。
說到底,所有人都在爭「馬重要還是馬具重要」,但真正跑在前面的人,早就不關心這個了;他們關心,換馬具的速度有多快,以及換下來的舊馬具里攢下的經驗,能不能讓馬跑得更快。
這條蛇還在轉,而且越轉越快。嗯,整個事情就是這樣;就在我寫完這篇文章的時候,Anthropic 昨天把 Harness 做成產品發布了出來。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.