
最近這一個月,我被 Agent 的幻覺反覆摩擦, OpenClaw、Claude Code、Codex、DeerFlow、扣子……只要任務一複雜,AI 就開始"一本正經地胡說八道"。幻覺,還是幻覺。這玩意兒不解決,Agent 永遠只能是個玩具,根本進不了生產線。
我就在想,為什麼同樣的模型,別人做出來的產品能穩得一批,到了我手裡就總是掉鏈子?
直到我扒開了 "Harness Engineering" 這個概念,才發現自己之前一直在用力過猛地改錯地方。理解了 Harness 的底層邏輯,你才會明白,為什麼你的 Agent 和別人的能力有千差萬別。
今天咱們就扒開揉碎了講講,這個決定 Agent 是玩具還是生產力的關鍵玩意兒,到底是啥。
AI 工程的三個階段:從"聽懂"到"別出錯"
過去兩年,做 AI 應用其實就幹了三件事,這也是 Harness 誕生的背景。
第一階段:Prompt Engineering(提示詞工程)
核心問題:模型聽懂了嗎?
那時候大家覺得模型啥都會,關鍵看你怎麼問。你換個說法,結果天差地別。但這有個天花板——很多任務不是你說清楚就行,模型得真的"知道"。Prompt 解決的是表達問題,解決不了信息缺失。
第二階段:Context Engineering(上下文工程)
核心問題:模型拿到正確信息了嗎?
做 RAG、查資料庫、壓縮對話歷史……這些都是在給模型喂資料。這時候系統面對的不是一次回答,而是一條長鏈路。模型未必知道,但系統必須知道。
第三階段:Harness Engineering(駕馭工程)
核心問題:模型在連續執行時,能不能持續做對?
就算信息給齊了,模型跑個 50 步,可能第 30 步就忘了初心,或者中間輸出個錯東西,後面全廢。Harness 要解決的,就是誰來監督模型、誰來糾錯、誰來保底。
打個比方:模型是個聰明但健忘的工人。
實戰拆解:成熟的 Harness 長啥樣?
如果讓我把 Harness 拆開,它應該是六層結構,缺一不可。這也是我實測下來,構建企業級工作流必須踩過的坑。
第一層:上下文管理
別把模型撐著了。不是把信息一股腦塞進去就行,要分層:
- 核心知識給哪些?
- 動態信息給哪些?
- 近期記憶和長期記憶怎麼分?
重點:在合適的階段,給最恰當的信息。
第二層:工具系統
給模型裝上手腳。模型是個大腦,得有手臂去操作 API、資料庫、瀏覽器。但這層重點不是"連上",而是"管好":
- 許可權怎麼開?
- 頻率怎麼控?
- 報錯了怎麼處理?
別讓模型拿著工具把自己傷了。
第三層:執行編排
得有個工頭。複雜任務進來,誰先上?誰後上?怎麼拆解?這就像工頭排班,幾個 Agent 協同幹活,依賴關係得理順,不能亂套。
第四層:狀態與記憶
給模型裝個記事本。模型本身沒狀態,跑著跑著就忘。系統得幫它記著:
- 干到哪一步了?
- 上一步結果是啥?
- 目標是啥?
防止模型"失憶"跑偏。
第五層:評估與觀測
必須有個質檢員。模型自己檢查自己,往往全是高分。得有個獨立的評估系統,跑單元測試、做合規校驗、量化打分。這是質量驗收的最後一道防線。
第六層:約束與恢復
剎車片和急救包。模型要是發瘋怎麼辦?得有邊界:
- 敏感數據不能碰
- 重試次數得有限制
- 一旦出錯,能回滾到上一步
得有兜底方案。
大廠是怎麼玩的?
看看頭部玩家,都在 Harness 上下足了功夫。
OpenAI:Agent 自己考自己
他們把 Agent 拆成兩個角色:
- 一個寫代碼
- 一個測代碼
寫的只管寫,測的像測試工程師一樣跑用例。測不過?打回去重寫。通過獨立的評估和重試機制,把代碼生成的可靠性硬生生拉上去了。
Anthropic:治好模型的"上下文焦慮"
他們發現模型面對超長文本會焦慮,容易漏信息或草草收尾。
解法不是壓縮,而是結構化。 把長文檔變成目錄頁,讓模型像人一樣,先看目錄,再按需查閱。這是在 Harness 層面優化信息呈現,降低模型認知負擔。
寫在最後
說到底,Harness Engineering 代表了一次思維大轉彎。
以前我們總盯著模型夠不夠聰明,現在得盯著系統夠不夠穩定。
一個能在真實世界裡持續幹活的 AI,靠的從來不只是一個強大的大腦,更是一套精心設計的"流水線"。
這就是為什麼你的 Agent 總是產生幻覺,而別人的卻能穩定產出的根本原因。
你在做 AI 產品時,有沒有遇到過模型很聰明,但一跑流程就翻車的情況?來評論區聊聊你的坑。