AI 知識
Harness 決定 Agent 能不能被信任
AI Agent 最吸引人的地方,是它不只回答問題,還能自己呼叫工具、修改檔案、執行命令,甚至一路把多步驟任務做完。
但也正因如此,判斷一個 Agent 能不能被信任,不能只看模型有多聰明。
一個模型可能很會推理,也可能在 benchmark 上拿到漂亮成績;可是一旦它被接上檔案系統、Shell、資料庫、付款或發布 API,真正決定風險的,往往是模型外面的執行環境。
這一層環境,現在愈來愈常被稱為 Agent Harness。
Harness 不是模型,而是模型外面的執行系統
Microsoft 將 Agent harness 描述為把語言模型變成可執行 Agent 的外圍系統:它負責工具呼叫迴圈、context 與 history、approval、安全政策、可觀測性,以及任務何時完成。
OpenAI 在分享 Agent-first 軟體開發經驗時,也把重點放在環境設計、repository knowledge、工具、規則與 feedback loops。官方公開的實驗中,三位工程師驅動 Codex,在約五個月內建立約百萬行 repository 內容,而且人類沒有直接手寫程式碼。
這個數字很吸睛,但真正值得注意的是方法:人類不是消失,而是把工作從每一行都自己寫,轉成設計 Agent 能可靠工作的環境。
模型像引擎,Harness 則同時扮演方向盤、煞車、安全帶與行車紀錄器。只有引擎更強,車子不會因此自動變安全。
第一層:最小權限,不讓任務半徑無限擴大
Agent 要整理一個專案,不代表它需要讀取整台電腦;要更新一份文件,也不代表它應該擁有刪除所有檔案的能力。
最小權限的核心很簡單:每個任務只提供完成任務所需的最小存取範圍。
實務上要問的不是 Agent 有沒有檔案工具,而是:
- 它能讀哪些目錄?
- 它能寫哪些檔案?
- 刪除是否被禁止或另行審批?
- API token 是否只含這次任務需要的 scope?
- 子 Agent 是否會繼承不必要的權限?
Prompt 裡寫不要碰其他檔案,只是行為要求,不是安全邊界。真正的限制必須落在作業系統、容器、工具註冊、API scope 或 policy 層。
第二層:隔離執行,讓錯誤停在可控範圍
Agent 會犯錯,工具也可能回傳非預期結果。可靠系統不應建立在這次一定不會出錯的假設上,而是先設計出錯時的爆炸半徑。
隔離工作區、暫存資料、測試帳號與非正式環境的目的,就是讓 Agent 可以嘗試、失敗與重做,而不直接改到真實系統。
一個好的隔離層通常包含:
- 任務專屬工作目錄
- 與個人家目錄、共享磁碟和正式資料分離
- 網路與外部服務採 allowlist
- 測試與正式 credential 分開
- 任務結束後能清除或回收環境
隔離不是讓 Agent 變笨,而是讓它有安全的犯錯空間。
第三層:高風險動作要有真正的審批點
不是每一個 tool call 都值得打斷人類,但也不能把所有動作都交給同一套自動批准規則。
刪除資料、付款、發布公開內容、修改權限、碰正式環境與不可逆操作,應該被明確分類為高風險動作。系統必須在執行前停下來,顯示具體影響並取得授權。
關鍵不是跳出一句模糊的是否繼續,而是讓人看得懂:
- 會修改哪個環境?
- 會碰哪些資料?
- 影響是否可逆?
- 使用的是哪組權限?
- 失敗時如何回復?
審批點愈具體,人類愈能做真正的判斷,而不是反射性按下同意。
第四層:完成要靠證據,失敗要能回復
Agent 說已完成,不等於任務真的完成。
公開研究對 Harness Engineering 的一個重要主張,是把完成綁定在 verification evidence,而不是自然語言自我宣告。這些證據可以是針對需求的 deterministic checks、測試、回歸驗證、差異檢查、平台讀回或部署後 smoke test。
同時,驗證不能只確認有產出,還要確認:
- 產出是不是正確版本?
- 是否修改到不該碰的地方?
- 原有功能有沒有退化?
- 真實平台是否已生效?
- 如果錯了,能不能 rollback?
可追蹤紀錄也很重要。沒有 action log、tool trace、candidate identity 與驗證結果,就很難在失敗後判斷問題發生在哪一步,更無法讓另一個人或 Agent 接手修復。
四個問題,快速判斷一個 Agent 能不能放手執行
當你看到一個新的 Agent 產品,不妨先別只問它用了哪個模型,而是問:
- 它能碰哪些資料與工具?
- 它是在隔離環境,還是直接操作真實系統?
- 哪些高風險動作一定會停下來等人確認?
- 它如何證明完成,錯誤又如何撤回?
如果這四個問題沒有清楚答案,再強的模型也只是把不確定性執行得更快。
AI Agent 的下一場競爭,不只在模型
模型能力仍然重要,但真正能進入長時間、自動化與正式工作流程的 Agent,競爭焦點會愈來愈往外移。
誰能提供更清楚的 context、更穩定的工具、更小的權限半徑、更可靠的驗證、更完整的追蹤與回復,誰才能把模型能力轉成可被信任的結果。
可靠的 AI Agent,不是保證永遠不犯錯。它真正的標準是:犯錯時碰不到不該碰的地方、影響範圍有限、每一步看得見,而且結果驗得過、回得去。
查證摘要
- OpenAI 說明 Agent-first 開發的重點不在要求模型再努力,而是環境、工具、repository knowledge、規則與 feedback loops 是否設計得可讀、可執行。
- Microsoft 將 Agent harness 定義為包住模型的執行層,負責 tool calling loop、context/history、approval 與 safety policy。
- Harness engineering 研究把 Agent 能力看成 model、harness 與 environment 的組合結果,並把完成綁定在 deterministic checks、測試與 verification evidence,而不是自然語言自我宣告。
- 本文不宣稱任何 sandbox、approval 或 verification 能消除所有風險;重點是把錯誤限制在可控範圍,並留下可驗證、可回復的路徑。
- 主要資料:https://openai.com/index/harness-engineering/
- https://learn.microsoft.com/en-us/agent-framework/agents/harness
- https://arxiv.org/abs/2605.13357
