Harness Engineering 是什麼?從 Karpathy 舊影片被重新包裝,看懂 AI Agent 真正的工程重點

X 貼文把 Karpathy 舊課重新包裝成 Graph Engineering 新課。本文先查核來源,再拆解 Harness、Loop、Graph 與可靠 Agent 的最小做法。

Share
Andrej Karpathy 的 Deep Dive into LLMs like ChatGPT 官方影片封面
這則 X 貼文使用的內容,源自 Karpathy 於 2025 年發布的《Deep Dive into LLMs like ChatGPT》。 圖片來源:Andrej Karpathy 官方 YouTube(https://www.youtube.com/watch?v=7xTGNNLPyMI)。

Harness Engineering 是設計 AI Agent 執行環境的方法。它把模型接上工具、工作狀態、權限與驗收機制,讓 Agent 不只會回答,還能在可控制、可驗證的條件下完成任務。

最近一則 X 貼文宣稱,Andrej Karpathy 用 2 小時講完「Agents → Loops → Graphs → Self-Improving Systems」,還把它形容成勝過多數付費 AI 工程課程的新內容。

影片是真的,講者也是 Karpathy,但包裝方式並不準確。這段約 2 小時的影片,其實是從他在 2025 年 2 月發布、全長約 3.5 小時的《Deep Dive into LLMs like ChatGPT》截取而來。原課程談的是大型語言模型如何訓練、為什麼會產生幻覺、如何使用工具,以及強化學習等主題,不是 2026 年新發布的 Graph Engineering 課程。

不過,貼文引用的長文仍碰到一個真正重要的趨勢:當 AI Agent 開始操作檔案、瀏覽器、程式碼與公司系統,可靠度不能只靠 Prompt(提示詞,也就是給模型的指令)。模型外面的執行環境,也就是 Harness,正成為 AI 產品能否落地的關鍵。

我的判斷是,Harness Engineering 值得產品與工程團隊現在就理解,但不需要一開始就做成複雜的多 Agent Graph。最實際的路線,是先讓一個 Agent 在有限工具、清楚驗收與可回復環境中完成任務,再根據真實失敗逐步加上記憶、評測與分工。

官方影片從 1:20:32 開始播放,對應 X 裁切影片的開頭;讀者仍可回到原始影片觀看完整 3.5 小時內容。影片來源:Andrej Karpathy 官方 YouTube

這則 X 貼文說了什麼?哪裡不精確?

這則貼文把三種不同來源混在一起:Karpathy 的舊影片、@0xwhrrari 撰寫的 Harness Engineering 長文,以及貼文作者自己的宣傳式結論。拆開後,讀者才不會把二手整理誤認為講者原話。

貼文說法 查核結果 應該怎麼理解
Karpathy 上週發布一堂免費 2 小時課程 不正確 影片開頭對應《Deep Dive into LLMs like ChatGPT》約 1:20:32 的段落;原片發布於 2025 年 2 月 5 日,全長 3:31:24
課程主線是 Agents → Loops → Graphs → Self-Improving Systems 不符合原始章節 原課程主題是 LLM 訓練、幻覺、工具使用、推理與強化學習;這組箭頭是社群貼文的重新包裝
內容勝過多數付費 AI 工程課程 無法驗證 沒有課綱、評量標準與比較樣本,屬於宣傳評語,不是可查證事實
Agent 失敗不一定是模型不夠聰明 有實務依據 OpenAI 與 Anthropic 的官方工程案例都顯示,工具、環境、狀態與驗證方式會顯著影響結果

這不代表 Karpathy 的原課程不值得看。相反地,它仍是理解 LLM(Large Language Model,大型語言模型)很完整的入門材料。問題在於,想學 Agent 架構的人若只看這段重新上傳的影片,會以為自己正在學一套從 Loop 升級到 Graph 的新方法,實際內容卻不是如此。

Harness Engineering 是什麼?

AI Agent 是能替使用者分解任務、選擇工具並執行多個步驟的 AI 系統。LLM 負責理解與判斷,Harness 則是包在模型外面的執行層,決定它能看到什麼、可以做什麼、如何保存進度,以及怎樣才算完成。

如果把模型想成駕駛,Harness 就是車輛、儀表板、道路規則與煞車系統。只換一位更會開車的駕駛,不能解決煞車失靈、路標消失或油量無法讀取的問題。

一套可用於正式工作的 Harness,通常包含以下能力:

  • 任務合約:把目標、輸入、限制與完成條件說清楚。
  • 工具與權限:提供搜尋、讀檔、改檔或呼叫服務的能力,同時限制高風險操作。
  • 狀態與記憶:把進度、決策與產物存到對話以外,避免換一個工作階段就失憶。
  • 隔離環境:使用 Sandbox,也就是可限制影響範圍的測試空間,避免錯誤直接碰到正式資料。
  • 驗證與評測:用測試、規則或人工關卡判斷結果是否真的正確。
  • 追蹤與回復:記錄每一步做了什麼,失敗後能從最近的安全狀態繼續。

OpenAI 的 Harness Engineering 案例很能說明這個差別。團隊讓 Codex 產生程式碼時,初期速度慢的主因不是模型不會寫,而是工作環境缺少清楚的工具、結構與可驗證規則。後來他們把文件做成可搜尋的知識地圖,讓 Agent 能直接讀取介面、紀錄與指標,再用自動測試維持架構邊界。

這個案例的重點不是「AI 寫了多少行程式碼」,而是人類工作的重心改變了。工程師不再只交代一句任務,而是設計一個讓 Agent 看得懂、做得到,也能被驗證的工作環境。

Anthropic 圖解 LLM 如何連接 Retrieval、Tools 與 Memory
Anthropic 將 Retrieval、Tools 與 Memory 視為擴充 LLM 的基本能力;Harness 要負責把這些能力接成可控制的工作環境。 圖片來源:Anthropic 官方工程文章

Prompt、Context 與 Harness 有什麼差別?

這三個詞常被混在一起,但它們解決的問題不同。

層級 白話解釋 主要解決的問題 無法單獨解決的問題
Prompt Engineering 把指令寫清楚 Agent 應該做什麼、用什麼格式回答 權限、長期記憶、真實結果驗證
Context Engineering 安排模型這一輪應看到的資訊 哪些文件、歷史與工具結果最相關 系統是否允許執行、失敗後如何回復
Harness Engineering 設計模型實際工作的整套環境 工具、狀態、權限、迴圈、驗證與追蹤 模型本身欠缺的推理能力

Prompt 仍然重要,只是它變成整套系統中的一個元件。當 Agent 只要整理一份文件時,清楚的 Prompt 可能已經足夠;當它要連續工作 6 小時、修改數十個檔案並開啟 Pull Request(程式碼合併請求)時,只有 Prompt 就不夠了。

Agent、Loop、Graph 不是一條固定的升級路線

社群貼文常把「Agent → Loop → Graph」畫成能力階梯,好像架構越複雜就越先進。這個理解容易讓團隊在需求還沒驗證前,先投入大量時間做多 Agent 平台。

Agent 是會根據目前狀態選擇下一步的執行者。Loop 是讓它重複「判斷 → 使用工具 → 讀取結果 → 再判斷」的運作方式,直到任務完成、發生錯誤或達到次數上限。Graph 則是用節點與連線表示分支、平行工作與交接關係的編排方式。

三者不是互相取代。單一 Agent 本來就需要 Loop;多 Agent 可以畫成 Graph,但固定流程也能畫成 Graph。對只有一條清楚路徑的任務來說,普通程式流程往往更便宜、更容易維護。

Anthropic 的 Agent 設計原則也是從最簡單的可行方案開始。工作步驟固定時,用預先定義的 Workflow 比讓模型自由決定更穩定;只有當步驟無法預測、又需要模型根據現場資訊調整時,才值得提高 Agent 的自主程度。

任務情境 建議做法 原因
摘要、分類、格式轉換 單次模型呼叫 路徑短,沒有必要加入持續迴圈
每一步都可預先列出 固定 Workflow 成本低,也容易測試與追蹤
步驟不固定,但只有一個主要目標 單 Agent Loop 保留彈性,同時控制架構複雜度
任務可拆成多個獨立專業工作 調度 Agent 加工作 Agent 中央角色負責分工,其他 Agent 平行處理
有多個分支、回圈與交接規則 Graph 當流程本身難以用單一路徑表達時才有價值

我的立場很明確:Graph 是編排工具,不是成熟度勳章。若單一 Agent 加一組清楚工具就能完成任務,加入五個角色只會增加延遲、費用與除錯難度。

Anthropic 自主 Agent 在 LLM、環境與回饋之間循環的流程圖
Agent Loop 讓模型根據環境回饋持續採取行動,直到達到停止條件;它不是多 Agent Graph 的同義詞。 圖片來源:Anthropic 官方工程文章

AI Agent 為什麼會「做了很多,卻沒有完成」?

長時間任務最常見的問題,不是 Agent 完全不動,而是它做出看似合理的過程,最後卻沒有留下可用結果。

Anthropic 在長時間 Agent 實驗中發現,Agent 可能一次做太多事情,直到內容空間耗盡才停下;下一個工作階段不知道前面做了什麼,只能重新猜測。另一種情況是專案只完成一部分,Agent 看到已有成果後就過早宣告完成。

這裡的「內容空間」指 Context Window,也就是模型在一次工作中能直接讀取的資訊範圍。擴大它能延後失憶,卻不能保證 Agent 正確交接,更不能代替完成條件。

Anthropic 的處理方式很樸素:先建立功能清單與進度檔,每次只推進一小段,工作結束前留下結構化紀錄,下一個工作階段先讀取紀錄並跑基本測試。這些做法沒有讓模型本身變聰明,卻讓工作可以跨越多次 Context 重整而不斷線。

真正重要的判斷是:對話紀錄不能當成唯一的系統紀錄。產品規格、完成狀態、測試結果與風險,應存成可讀、可比對、可回復的資料。

自我改善不是讓 Agent 一直重試

只要 Agent 會讀取錯誤訊息再試一次,就稱為「Self-Improving」,這個說法太寬鬆。

真正的改善至少需要四個條件。系統要先定義可衡量的成功標準,再保存每次嘗試的結果。新方法必須與舊方法比較,通過驗證後才能成為新的預設。如果沒有改善,系統要能回復,而不是把錯誤永久寫進記憶。

Anthropic 對 Agent 評測的說明特別區分「Agent 說自己完成」與「環境中真的出現正確結果」。例如訂位 Agent 回覆「已完成預約」不算成功,資料庫中真的存在預約紀錄才算。Eval 就是用來測量這類結果的評測方法。

因此,可靠的 Loop 需要明確的停止條件、重試上限、成本預算與升級處理方式。沒有外部證據的無限重試,只是把同一種錯誤放大。

Anthropic Managed Agents 將 Session、Harness、Sandbox、Tools 與 Orchestration 分離的架構圖
Anthropic 把 Session、Harness、Sandbox、Tools 與 Orchestration 拆成獨立介面,讓狀態、推理與執行環境能分別回復或替換。 圖片來源:Anthropic 官方工程文章

產品團隊如何做最小可行的 Agent Harness?

如果目標是快速完成 MVP,不需要先做一套通用平台。先挑一個步驟不固定、但成功結果可驗證的任務,建立最小閉環即可。

1. 把需求改寫成任務合約

任務合約至少要有輸入、輸出、限制與完成條件。不要只寫「整理客戶回饋」,而要說明資料來源、分類欄位、不可更動的內容,以及什麼結果才算完成。

2. 只開放完成任務所需的工具

讀取工具與寫入工具應分開。刪除資料、付款、發布內容或傳送訊息等難以回復的操作,不應只靠模型自己判斷是否執行。先讓 Agent 提出操作,再由規則或人工批准,通常是更安全的 MVP。

3. 把工作狀態放到對話以外

保存任務清單、已完成項目、輸出檔案與失敗原因。Session 是一次工作的完整事件紀錄,應能在 Agent 或執行環境重啟後繼續使用,而不是只留下最後一句回答。

4. 先有驗收,再增加自主程度

能用程式驗證的項目,優先使用測試、資料庫查詢、格式檢查或畫面比對。涉及語氣與商業判斷時,再加入人工關卡或另一個評估角色。驗收標準若不清楚,多一個 Agent 也只是多一個不確定來源。

5. 限制每次 Loop 的成本與風險

設定最大步數、最大重試次數、時間與費用上限。Agent 遇到缺少權限、資料衝突或連續失敗時,應停止並回報,而不是為了「完成」偷偷改變目標。

6. 為每次執行留下收據

Trace 是 Agent 每一步輸入、工具呼叫、結果與錯誤的完整軌跡。產品端不一定要把全部細節顯示給使用者,但至少要留下精簡收據:做了哪些變更、使用哪些來源、通過哪些檢查,以及還有哪些限制。

這六步已足以支撐多數第一版 Agent。當真實紀錄顯示單一 Agent 的工具太多、任務確實能平行拆分,或不同專業判斷互相干擾時,再升級到多 Agent 或 Graph,維護成本會低很多。

Harness Engineering 也可能做過頭

Harness 不是越厚越好。每增加一個 Planner、Evaluator、記憶層或回復機制,都會增加模型呼叫、等待時間與維護介面。

Anthropic 在 2026 年的長時間應用開發實驗中,比較過單一 Agent 與包含規劃、生成、評估三種角色的完整 Harness。後者產出品質較好,但成本超過前者 20 倍。這只是特定模型與任務的單次實驗,不代表所有 Agent 專案都有相同倍數。隨著新模型本身更能處理長任務,原本用來補強舊模型的 Context 重整機制也可能變成負擔。

這表示 Harness 是一組對模型弱點的工程假設,不是一次建好就永遠適用的基礎設施。團隊應定期移除不再有用的層,而不是讓架構只會增加、不會縮減。

如果一個任務成功率可以用更好的單一 Prompt 從 70% 提升到 95%,就先改 Prompt。如果錯誤來自資料不可見、工具回傳模糊、權限太大或沒有驗收,再投資 Harness。先找失敗原因,才知道該升級模型、資訊還是環境。

FAQ

Harness Engineering 會取代 Prompt Engineering 嗎?

不會。Prompt 仍負責說明任務與行為,Harness 則負責工具、狀態、權限與驗證。簡單任務可能只需要 Prompt,長時間或會影響真實系統的任務才需要更完整的 Harness。

做 AI Agent 一定要使用 Graph 嗎?

不一定。Graph 適合多分支、平行執行與角色交接;如果任務只有一個主要目標,單 Agent Loop 通常更容易開發、測試與維護。

多 Agent 一定比單 Agent 準確嗎?

不一定。多 Agent 能分工,也會增加資訊交接、成本與錯誤來源。只有當工具過多、專業範圍明確分離,或任務真的可以平行處理時,才值得增加角色。

AI Agent 可以自己變得更聰明嗎?

Agent 可以根據測試結果調整下一次行動,也能把成功方法存成規則或記憶。但這不等於模型自己完成全面升級。沒有比較基準、驗證與回復機制的「自我改善」,很可能只是把偶然結果寫成新的錯誤。

非工程團隊也需要理解 Harness 嗎?

需要理解產品層級的部分。PM 不必自己實作執行框架,但要定義完成條件、可用資料、操作權限、失敗處理與使用者可見的執行紀錄。這些決定直接影響 Agent 的 UX 與商業風險。

結語:真正的升級不是從 Prompt 換成 Graph

這則 X 貼文最有價值的地方,不是它提供了一堂新的 Karpathy 課程,而是讓更多人注意到模型外面的工程問題。只是如果把舊影片、二手文章與宣傳式結論混在一起,讀者很容易學到錯誤的技術演進圖。

AI Agent 的進步不是固定沿著「Prompt → Agent → Loop → Graph」往上爬。真正的差別在於,系統能不能看見正確資訊、使用合適工具、保留工作狀態、限制危險操作,並用外部證據確認完成。

對多數團隊來說,現在最值得做的不是先畫一張華麗的多 Agent Graph,而是挑一個真實任務,做出最小可驗證閉環。當每次失敗都能變成新的測試、規則或工具改善時,Agent 才不是一次性的 Demo,而是能持續維護的產品。

資料來源