先解釋一下標題。Harness 這個詞最近在 AI 圈很火,本意是馬具,套在馬身上讓它好好干活的那套東西
Agent with harness,也是很踏馬的
![]()
踏馬的Agent
這篇文章想聊的事情很簡單。過去三年,AI 圈先后流行了三個帶「Engineering」的詞:Prompt Engineering、Context Engineering、Harness Engineering。每一個新詞出來的時候,上一個詞就顯得不夠用了
這三次變化背后有一條線,順著捋一遍,會發現一些有意思的東西
先學說話
2023 年ChatGPT剛火的時候,大家遇到的第一個問題特別樸素:不會跟 AI 說話
你隨便問它一個問題,它給你一個回答,質量忽高忽低。后來有人發現,你在提示詞末尾加一句let's think step by step,模型的推理能力就能明顯提升。給幾個示例(few-shot),輸出格式就能穩定下來。再后來有人總結了一整套方法論,按場景分類,每種場景配一套模板
那個階段的隱含假設很簡單:模型夠聰明,你不會問而已
在簡單任務上,這個假設完全成立。你問一個問題,模型答一個問題,一輪結束。Prompt 寫得好就好,寫得差就差
但你讓模型寫一個完整的項目,這套邏輯就開始松了。模型需要知道項目結構、依賴關系、技術棧偏好、現有代碼長什么樣。這些東西塞不進一句提示詞里
會說話是第一課。但光會說話,確實走不太遠
然后學選信息
2025 年 9 月,Anthropic 發了一篇工程博客,標題叫「Effective context engineering for AI agents」。開頭有一句話說得挺直接:構建 AI 應用,越來越不在于找到正確的措辭,越來越在于回答一個更大的問題:什么樣的上下文配置,最可能讓模型產生你想要的行為
這就是從Prompt到Context的換擋
Prompt Engineering 關注的是怎么寫指令。Context Engineering 關注的是怎么管理模型在推理時能看到的全部信息:系統指令、工具定義、外部數據、對話歷史、MCP 接入的各種服務
模型能力在漲。上下文窗口從 4K 到 128K 再到百萬 token。RAG 來了,工具調用來了,MCP 來了。模型能接收的信息量大了好幾個數量級。相應的,你能塞給它的東西也多了好幾個數量級
你會說話了,但給多了它消化不動,給少了它缺信息,給錯了更糟糕
給錯了是最要命的。模型會非常認真地基于錯誤的上下文,產出一個看起來很對、實際上離譜的結果。它不會告訴你「你給我的信息有問題」,它只會老老實實地用錯誤的前提推出一個自洽的結論
Anthropic 在那篇博客里說,context 是一種有限資源,每一個 token 都有成本。Context Engineering 就是在這個有限窗口里,塞進信號最強的那部分,同時把噪音擋在外面
這個階段的瓶頸很明確:人不知道該給什么信息
![]()
Anthropic 的 Context Engineering 博客,2025 年 9 月
再然后,發現人才是問題
2025 年 11 月,還是 Anthropic,又發了一篇博客,叫「Effective harnesses for long-running agents」。這篇文章記錄了一個有點扎心的發現:即使用他們最好的模型Opus 4.5,配上了上下文管理能力(compaction),讓 Agent 在多個上下文窗口里跑長任務,結果還是會出問題。模型要么試圖一次性做完所有事,要么跑到一半就覺得「差不多了」提前收工
信息給對了,還是不行
2026 年 2 月,OpenAI 發了一組博客講Harness Engineering。他們在內部做了個實驗:一個小團隊完全不手寫代碼,靠 Codex Agent 交付了一個大約一百萬行代碼的產品。工程師干的活從寫代碼變成了別的東西
一開始他們用一個超長的AGENTS.md文件,把所有規則都寫進去告訴 Agent。很快就發現不行。上下文窗口有限,一個大文件把任務本身的空間都擠沒了。當所有規則都「重要」的時候,Agent 對哪條規則都不上心
文件很快過時,沒人維護,Agent 開始被一堆不再成立的規則誤導
后來改了。AGENTS.md縮到 100 行,只當一個目錄。架構文檔、設計決策、技術規范,全部拆成獨立文件,Agent 需要什么就加載什么
但最有意思的變化是思路上的
OpenAI 給 Agent 的代碼庫設了極其嚴格的分層依賴規則。業務代碼只能單向調用,越界就被系統切斷,合并都合并不進去。Anthropic 在 Harness 里設了三個角色:規劃師拆需求,生成器寫代碼,評估器做驗收。評估器直接打開產品去點擊測試,發現不對直接打回
這些約束有一個共同的特點:人沒有告訴 Agent 應該怎么做,人只告訴它哪里不能做
想想看,這個轉變其實挺微妙的。從「你應該這樣寫代碼」到「你隨便寫,但這條線不能碰」。從主動指導變成被動約束。原因說白了就是,人也不知道 Agent 具體每一步應該怎么做,人只知道邊界在哪
一直都是人的問題
回頭看這三個階段,會發現一個有點尷尬的規律
Prompt Engineering 階段,人不會跟模型說話。Context Engineering 階段,人不知道該給模型什么信息。Harness Engineering 階段,人不知道怎么指揮 Agent 做對,只能劃一條線說「這里不許過」
瓶頸從來都在人身上。只是每個階段的表現形式不一樣
模型一代比一代強。從 GPT-3.5 到 GPT-5.4,以及各家的最新版本,能力一直在漲。但更強的模型并沒有讓問題消失,反而讓問題換了個樣子出現
Anthropic 升級模型之后發現,之前為了對抗「上下文焦慮」設計的重置機制可以去掉了,新模型自己能處理。但同時冒出來的新能力又需要一套全新的 Harness 來配合
模型越強,人需要做的事情反而越多。做的事不一樣了而已
從寫提示詞,到選信息,到設計約束和環境。人的角色在持續后退,從前線退到中臺,從中臺退到后臺。但人一直都在
踏馬
回到開頭的話題。馬具的功能說白了就兩件事:約束和引導。讓馬的力量朝正確的方向走,同時保護馬自己不受傷害
Agent 跑長任務的時候,你沖它吆喝一嗓子(Prompt),它可能跑了,但方向不一定對。你把草料備好、路況摸清、裝備配齊(Context),它跑得確實好了一些,但跑遠了還是會偏。你給它套上挽具和韁繩(Harness),力量就被物理性地約束在正確的通道里了
最潮的仔,都是踏馬的
Minghao 騎馬去酒廠
有一家公司做了189 年的 Harness,叫愛馬仕。1837 年在巴黎開的馬具工坊。他們家創始人有一條產品哲學:「我們的第一個客戶是馬」。從被約束者的體驗出發來設計約束,這條經驗放到 Agent 身上一個字不用改
巧的是,最近 AI 圈還真火了一個叫Hermes的 Agent。開源的,跑在你自己的服務器上,slogan 寫的是「an agent that grows with you」
Agent with harness,也是很踏馬的
說不準半年之后又會冒出一個新的帶 Engineering 的詞。到時候再來看,是哪種新的馬具
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.