{"content_id":"uxrumphsyw","slug":"prompt-context-harness-agentic-loop-engineering","locale":"zh-hant","schema_type":"TechArticle","category":"comparison","category_name":"比較分析","title":"提示、上下文、作業框架、代理式、迴圈工程的差異與設計法","summary":"提示、上下文、作業框架、代理式、迴圈工程分別處理指示、資訊、作業環境、自主執行與反覆改善。本文從實務角度說明這五種方式的界線與結合結構、適用順序、驗證指標與防止失敗的方法。","author":{"name":"Injoys Admin","url":"https://injoys.com/ko/about"},"key_points":["提示工程是讓目標、限制、範例、輸出契約與成功標準變得明確的工作。","上下文工程管理AI在當前判斷中所使用資訊的相關性、即時性、來源與權杖效率。","作業框架工程透過工具、權限、沙盒、文件結構、驗證器與日誌，打造讓AI能穩定工作的環境。","代理式工程是在受限範圍內，將達成目標所需的下一步行動與工具選擇委託給AI。","迴圈工程連結生成、驗證、原因分析、修正、重新執行與結束條件，使結果收斂。"],"content_markdown":"若把提升生成式 AI 品質的工作都概括為「把提示詞寫好」，就很難準確診斷失敗原因。提示詞、脈絡、Harness、代理式、迴圈工程並不是彼此替代的流行語，而是處理**請求表達、資訊選擇、執行環境、自主決策、反覆改善**這些不同控制面的互補性設計方式。\n\n## 五個概念的核心定義\n\n| 區分 | 核心問題 | 主要設計對象 | 代表產出物 | 代表成功標準 |\n|---|---|---|---|---|\n| 提示詞工程 | 要如何指示 AI 做事？ | 指示語、限制、範例、輸出格式 | 提示詞範本、範例輸入·輸出 | 指示遵循率、格式準確度、第一版結果品質 |\n| 脈絡工程 | 現在要讓 AI 看到什麼？ | 系統指引、搜尋文件、對話狀態、記憶、工具結果 | 脈絡組裝規則、搜尋·摘要政策 | 相關性、時效性、有根據性、權杖效率 |\n| Harness 工程 | 要建立什麼樣的工作環境，讓 AI 不容易犯錯？ | 工具、權限、沙盒、儲存庫結構、驗證器、日誌 | 工作規則、工具介面、測試·CI、執行手冊 | 可重現性、安全性、可驗證性、可復原性 |\n| 代理式工程 | 下一步行動由誰、在什麼範圍內決定？ | 目標、計畫、工具選擇、狀態轉移、委派 | 代理程式迴圈、編排、核准節點 | 任務完成率、適當的工具選擇、人類介入率 |\n| 迴圈工程 | 第一個結果錯了時，要如何收斂？ | 生成、評估、原因分類、修改、重新執行、終止條件 | 評估器、迴歸測試、重試政策、失敗分類 | 第一版通過率、復原率、反覆次數、最終通過率 |\n\n把五個概念連成一句話如下。\n\n**表達請求 → 顯示必要資訊 → 提供安全的工作環境 → 讓 AI 選擇下一步行動 → 驗證並改善，直到結果通過標準。**\n\n### 解讀術語時的注意事項\n\n提示詞工程和代理程式是相對廣泛使用的術語，但 Harness 工程目前的使用範圍仍會因脈絡而異。有些文章把模型以外幾乎所有執行層都稱為 Harness，有些文章則把它縮小解釋為編碼代理程式使用者在儲存庫外部建立的規則·驗證·回饋結構。「迴圈工程」也與其說是由單一標準固定下來的正式分類，不如理解為把生成與驗證設計成封閉式回饋流程的實務名稱會更準確。([OpenAI][1])\n\n## 1. 提示詞工程：設計指示的品質\n\n提示詞工程是讓傳達給模型的指示變得明確且可驗證的工作。它通常在一次請求與回應中產生最明顯的效果，但也適用於系統訊息或多輪對話規則。\n\n好的提示詞通常會分離以下要素。\n\n- **目標：** 必須完成什麼\n- **輸入：** 分析對象和輸入邊界到哪裡為止\n- **限制：** 不該做的事、允許範圍、長度與格式\n- **輸出契約：** JSON、表格、程式碼修補等結果結構\n- **成功標準：** 滿足什麼條件才可視為正解\n- **不確定性處理：** 資訊不足或互相衝突時要如何處理\n- **範例：** 展示預期行為的代表性輸入·輸出\n\n實務範本可以像下面這樣簡單開始。\n\n```text\n目標：\n輸入：\n限制：\n輸出格式：\n成功標準：\n驗證方法：\n不確定時的處理：\n代表範例：\n```\n\n重要的是，在打磨提示詞之前，必須先定義成功標準和經驗性測試方法。並非所有失敗都能透過修改提示詞解決，成本、延遲時間、工具錯誤、錯誤的資料選擇都可能是其他層級的問題。([Claude Platform Docs][2])\n\n### 提示詞工程善於解決的問題\n\n- 結果格式經常破壞的問題\n- 指示優先順序模糊的問題\n- 分類、擷取、轉換、摘要等輸入與輸出相對明確的問題\n- 提供代表範例後效能會穩定的問題\n\n### 只靠提示詞難以解決的問題\n\n- 必要事實或檔案不在輸入中的情況\n- 混入過時或互相衝突的文件時\n- 必須安全地查詢·修改外部系統時\n- 需要多個步驟的執行狀態與失敗復原時\n- 沒有客觀方法檢查結果是否正確時\n\n## 2. 脈絡工程：設計 AI 看到的資訊\n\n脈絡工程是在模型生成答案的瞬間，選擇、排序、壓縮、更新可使用資訊整體的工作。脈絡不只包含提示詞，也可能包含系統指引、使用者請求、對話歷史、搜尋文件、記憶、工具說明、工具執行結果、目前時間、權限狀態與工作進度狀態。\n\n脈絡視窗是有限的，因此目標不是「放很多」，而是**在適當時機放入必要資訊**。Anthropic 將脈絡說明為代理程式重要但有限的資源，並建議在長時間互動中採用最小工具集合、代表範例、執行時搜尋、壓縮與記憶等策略。([Anthropic][3])\n\n### 核心設計原則\n\n1. **相關性優先：** 只放入目前階段所需的資訊。\n2. **來源與時效性：** 一併管理文件的撰寫時間、版本、擁有者、可信度。\n3. **即時搜尋：** 與其預先注入所有資料，不如在需要時從檔案·DB·搜尋系統取得。\n4. **資訊分層：** 區分固定規則、目前任務、參考資料、工具結果。\n5. **衝突處理：** 多份資料不同時，明示優先順序與基準來源。\n6. **壓縮與狀態保存：** 摘要舊對話，但不要丟失決策、未解決問題、依據連結。\n7. **指示與資料分離：** 設定邊界，避免把網頁或文件中的句子當成系統命令處理。\n\n### 範例\n\n當客戶支援 AI 回答退款政策時，即使只強化「請準確回答」這個提示詞也有其限制。正確的脈絡工程會在必要瞬間查詢並一併提供客戶的國家、購買日、商品類型、目前政策版本、例外條款、訂單狀態，並讓回答中使用的政策條款可被追蹤。\n\n## 3. Harness 工程：設計 AI 工作的環境\n\nHarness 是把模型智慧連接到實際業務的執行骨架。Harness 工程是透過文件、工具、權限、結構、自動驗證與回饋，設計工作環境，以預防 AI 經常犯的錯誤或及早發現錯誤。\n\n### Harness 的主要組成要素\n\n| 組成要素 | 角色 | 範例 |\n|---|---|---|\n| 工作指引 | 明示重複業務的程序與禁止事項 | `AGENTS.md`、執行手冊、檢查清單 |\n| 知識結構 | 讓 AI 容易找到所需資料 | 儲存庫地圖、ADR、術語表、範例集合 |\n| 工具介面 | 明確限制行動的輸入·輸出 | 檔案搜尋、DB 查詢、程式碼執行、部署 API |\n| 執行環境 | 隔離失敗並提高可重現性 | 沙盒、容器、固定相依性 |\n| 驗證器 | 自動確認結果是否滿足標準 | 結構描述檢查、單元測試、linter、政策檢查 |\n| 權限·核准 | 限制危險行動 | 最小權限、讀取/寫入分離、人類核准 |\n| 可觀測性 | 記錄看到了什麼、做了什麼行動 | 追蹤、日誌、工具呼叫記錄、成本 |\n| 復原結構 | 失敗後安全回復並重新開始 | 檢查點、回滾、重試預算 |\n\nOpenAI 的 Harness 工程案例把工程師的角色說明為不只是寫程式碼，而是設計環境、意圖、儲存庫知識、測試·驗證·審查·復原迴圈。核心不是重新請求 AI「再努力一點」，而是把不足的能力與訊號明確加入環境中。([OpenAI][1])\n\n### 資料結構範例\n\n```text\n/ai\n  /instructions   # 共通規則與各角色指引\n  /skills         # 重複工作程序\n  /examples       # 好結果與壞結果\n  /evals          # 評估資料與評分規則\n  /policies       # 權限、安全、核准政策\n  /runbooks       # 障礙·例外應對\n```\n\n這個結構本身並不是正解。重要的是資料是否維持最新狀態、重複·衝突是否少、AI 是否能在需要時找到，以及規則是否能連到自動檢查。\n\n## 4. 代理式工程：給予目標與工具，委派下一步行動\n\n代理式工程是把目標、工具、工作狀態與邊界條件交給 AI，並讓它在一定範圍內自行選擇為達成目標所需下一步的設計。\n\nAnthropic 將**工作流程**區分為以預先決定的程式碼路徑協調 LLM 與工具的系統，將**代理程式**區分為模型動態決定自身流程與工具使用的系統。OpenAI 也將代理程式說明為由 LLM 管理工作流程執行，並動態選擇與外部系統互動工具的系統。([Anthropic][4])\n\n### 基本代理程式迴圈\n\n1. 觀察目前目標與狀態。\n2. 規劃下一個子目標或行動。\n3. 選擇工具並執行。\n4. 確認結果與環境變化。\n5. 在完成、修改、重試、轉交人類之中決定一項。\n\n### 適合使用代理程式的情況\n\n- 工作順序會因輸入而異的情況\n- 必須解讀自然語言、文件、程式碼等非結構化資訊的情況\n- 必須選擇性使用多個工具的情況\n- 需要根據中間結果改變計畫的情況\n- 失敗原因多樣且可進行一定程度復原的情況\n\n### 代理程式過度的情況\n\n- 規則與順序固定的簡單自動化\n- 可用單一 API 呼叫或 SQL 明確解決的業務\n- 沒有驗證手段且錯誤成本非常高的業務\n- 未經核准就執行付款、刪除、部署等難以回復行動的結構\n- 單一代理程式已足夠，卻只是增加角色的多代理程式結構\n\n自主性不是二分法。可以分為只做推薦的輔助型、只允許有限讀取·寫入的執行型、每個主要階段都取得核准的監督型、在低風險範圍內長時間運作的高自主型。必須配合業務風險與驗證能力，分階段擴大。\n\n## 5. 迴圈工程：設計可驗證的改善過程\n\n迴圈工程不是單純的重試。它是把**生成 → 驗證 → 失敗原因分析 → 修改策略選擇 → 重新執行 → 終止判斷**做成明確的封閉式回饋系統。\n\n### 正確迴圈的構成\n\n1. **候選生成：** 產生草稿、程式碼、計畫、資料轉換結果。\n2. **驗證：** 執行測試、結構描述、參考資料、政策、依據檢查。\n3. **原因分類：** 區分指示錯誤、脈絡遺漏、工具失敗、實作缺陷、評估器缺陷。\n4. **修改：** 套用符合失敗原因的最小變更。\n5. **重新執行：** 不要從頭重複整體，而是從必要階段重新執行。\n6. **終止：** 在通過、最大反覆次數、成本上限、時間上限、不確定性臨界值之中任一條件下停止。\n7. **迴歸保護：** 確認新的修改沒有破壞既有成功案例。\n\n代理程式評估比只看輸入與輸出的單回合評估更複雜。代理程式會多次呼叫工具並改變環境狀態，因此不只最終結果，也必須一併檢查流程與環境變化。自動評估的核心是給予輸入，並將評分邏輯套用到輸出或改變後的狀態。([Anthropic][5])\n\n### 驗證器的優先順序\n\n- **決定性驗證：** 編譯、單元測試、結構描述、數學限制、權限檢查\n- **參考式驗證：** 基準資料、原文引用、資料庫對照\n- **規則式驗證：** 禁用詞、必填欄位、政策條件\n- **模型式評估：** 文體、語意保留、綜合品質等難以規則化的項目\n- **人類評估：** 高風險判斷、目標本身的妥當性、例外核准\n\n可以的話先使用決定性驗證，不要只用模型評估讓模型為自己的結果評分。使用模型評估時，應同時設置評估標準、範例、偏誤檢查、樣本人類審查。\n\n## 五種方式是層級，不是替代品\n\n在實際系統中，五種方式會一起運作。\n\n- 提示詞建立**目前行動的契約**。\n- 脈絡提供**判斷所需的狀態與依據**。\n- Harness 提供**可行動的環境與安全裝置**。\n- 代理式設計分配**下一步行動的選擇權**。\n- 迴圈設計**發現錯誤並收斂品質**。\n\n因此，像是「脈絡工程已取代提示詞工程」或「用了代理程式就不需要工作流程」這類理解並不準確。更寬的層級只是包含或運用較窄的層級，而對於簡單問題，簡單設計可能更穩定。\n\n## 實務範例：修正 bug 的 AI 編碼系統\n\n假設 AI 要修正「登入後只有特定使用者發生 500 錯誤」這個 bug。\n\n### 提示詞工程\n\n- 確認錯誤重現條件。\n- 不要變更公開 API。\n- 以最小修改解決。\n- 修改後回報測試結果與剩餘風險。\n\n### 脈絡工程\n\n- 議題說明與錯誤日誌\n- 相關請求追蹤 ID\n- 與認證·使用者模型相關的檔案\n- 最近變更紀錄\n- 架構規則與編碼標準\n- 失敗的測試與執行環境資訊\n\n### Harness 工程\n\n- 儲存庫搜尋、檔案讀取·編輯、測試執行工具\n- 隔離的分支與沙盒\n- formatter、linter、單元·整合測試\n- 禁止變更區域與權限政策\n- 所有命令與檔案變更的日誌\n- 失敗時的回滾與檢查點\n\n### 代理式工程\n\nAI 會依情況選擇重現、建立假設、探索相關程式碼、修補、測試、摘要結果的順序。不過部署或資料變更需要人類核准。\n\n### 迴圈工程\n\n測試失敗時，不是重複相同命令，而是分類失敗類型。如果是重現失敗，就補強脈絡收集；如果是迴歸失敗，就縮小修補；如果是環境錯誤，就復原相依性與設定。當所有必要測試通過且留下變更依據時即終止。\n\n## 依問題症狀找出需要哪種工程的方法\n\n| 症狀 | 優先檢查的領域 |\n|---|---|\n| 輸出格式或文體經常偏離 | 提示詞 |\n| 回答缺少必要事實·檔案 | 脈絡 |\n| 選錯工具或執行危險命令 | Harness 與權限設計 |\n| 有許多難以用固定順序處理的變形 | 代理式設計 |\n| 第一個結果經常錯，但可自動判定 | 迴圈與評估器 |\n| 無法得知失敗原因且難以重現 | Harness 的可觀測性 |\n| 越反覆成本越增加，但品質沒有改善 | 原因分類、驗證訊號、終止條件 |\n| 資料越多，答案反而越差 | 脈絡整理與搜尋政策 |\n\n## 建議建置順序\n\n### 第 1 階段：先建立成功標準與評估集\n\n收集代表業務、困難案例、禁止案例，並定義如何判定結果。若沒有正解資料，至少要建立結構描述、必要依據、政策遵循、人類評估標準。\n\n### 第 2 階段：建立單次呼叫基準線\n\n用最簡單的提示詞與必要的最小脈絡，測量效能、成本、延遲時間。若沒有基準線就導入代理程式，會很難區分複雜性帶來的效果。\n\n### 第 3 階段：量測脈絡供應\n\n記錄哪些文件與工具結果被放入、它們有多舊、是否實際用於回答。區分搜尋失敗與過度脈絡。\n\n### 第 4 階段：建立最小 Harness\n\n減少工具數量，並明確化名稱與輸入。優先處理沙盒、最小權限、自動測試、日誌、檢查點。\n\n### 第 5 階段：賦予有限自主性\n\n讓單一代理程式先從以讀取為主的低風險業務開始執行。明示終止條件與轉交人類條件，寫入·刪除·付款·部署權限則另行核准。\n\n### 第 6 階段：閉合驗證·復原迴圈\n\n連接失敗分類、修改策略、最大反覆次數、成本上限、迴歸測試。只有在成功率穩定後，才擴大工具與自主範圍。\n\n## 營運指標\n\n沒有普遍適用的目標數值，因此必須配合業務風險與成本制定標準。\n\n| 指標 | 意義 |\n|---|---|\n| 任務完成率 | 滿足最終成功標準的比例 |\n| 第一版通過率 | 不需反覆修改、一開始就通過的比例 |\n| 復原率 | 第一次失敗後透過迴圈成功的比例 |\n| 平均反覆次數 | 到成功或中止為止所需的循環數 |\n| 工具選擇錯誤率 | 不適當或不必要的工具呼叫比例 |\n| 依據完整性 | 核心主張具有可追蹤來源的比例 |\n| 人類介入率 | 需要核准、修改、重新指示的比例 |\n| 單位成功成本·延遲 | 完成一個成功任務所耗費的資源 |\n| 安全事件數 | 權限違反、錯誤寫入、不可逆行動發生數 |\n| 迴歸失敗率 | 新變更破壞既有成功案例的比例 |\n\n## 常見設計錯誤\n\n| 領域 | 錯誤 | 改善方法 |\n|---|---|---|\n| 提示詞 | 把所有例外累積在一句話中 | 結構化規則，並分離代表範例與評估 |\n| 提示詞 | 沒有成功標準，只指示「好好撰寫」 | 明示格式、必要內容、禁止事項、判定標準 |\n| 脈絡 | 把不相關文件全部放入 | 使用執行時搜尋與分階段脈絡 |\n| 脈絡 | 同時提供舊政策與最新政策 | 管理版本·有效日·基準來源 |\n| Harness | 提供許多功能重疊的工具 | 設計最小工具集合與明確參數 |\n| Harness | 沒有寫入權限與回復功能 | 設置最小權限、沙盒、檢查點 |\n| 代理式 | 一開始就建立多代理程式 | 先從單一代理程式與決定性工作流程開始驗證 |\n| 代理式 | 讓它在沒有完成條件下持續執行 | 設置明確終止·預算·轉交條件 |\n| 迴圈 | 原樣重複相同請求 | 分類失敗原因並改變修改位置 |\n| 迴圈 | 用一個生成模型自我評估所有結果 | 結合決定性檢查、參考對照、人類樣本審查 |\n\n## 實作檢查清單\n\n- [ ] 成功條件不只以句子描述，也能在可行範圍內由機器檢查嗎？\n- [ ] 提示詞、參考資料、工具結果的優先順序是否已分離？\n- [ ] 是否能追蹤文件的來源、版本、有效日與擁有者？\n- [ ] 工具名稱與參數是否不互相重疊且明確？\n- [ ] 讀取、寫入、刪除、付款、部署權限是否依風險程度分離？\n- [ ] 是否有隔離失敗的沙盒與回復手段？\n- [ ] 是否以可重現的形式記錄所有重要行動與工具呼叫？\n- [ ] 是否有測試、結構描述、政策檢查等外部驗證器？\n- [ ] 最大反覆次數、成本、時間、人類轉交條件是否已定義？\n- [ ] 是否有不讓新改善破壞既有案例的迴歸評估？\n\n## 結論\n\n好的 AI 系統不是擁有最長提示詞的系統。它是能分辨失敗發生在**指示**、**資訊**、**環境**、**決策**、**驗證·復原**之中的哪一處，並在該層級配置最簡單解決方案的系統。先建立成功標準與單次呼叫基準線，只在必要程度補強脈絡與 Harness，接著在可驗證的範圍內擴大自主性與反覆迴圈，才是穩定的方法。","content_html":"\u003cp\u003e若把提升生成式 AI 品質的工作都概括為「把提示詞寫好」，就很難準確診斷失敗原因。提示詞、脈絡、Harness、代理式、迴圈工程並不是彼此替代的流行語，而是處理\u003cstrong\u003e請求表達、資訊選擇、執行環境、自主決策、反覆改善\u003c/strong\u003e這些不同控制面的互補性設計方式。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#五個概念的核心定義\" class=\"anchor\" id=\"五個概念的核心定義\"\u003e\u003c/a\u003e五個概念的核心定義\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e區分\u003c/th\u003e\n\u003cth\u003e核心問題\u003c/th\u003e\n\u003cth\u003e主要設計對象\u003c/th\u003e\n\u003cth\u003e代表產出物\u003c/th\u003e\n\u003cth\u003e代表成功標準\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e提示詞工程\u003c/td\u003e\n\u003ctd\u003e要如何指示 AI 做事？\u003c/td\u003e\n\u003ctd\u003e指示語、限制、範例、輸出格式\u003c/td\u003e\n\u003ctd\u003e提示詞範本、範例輸入·輸出\u003c/td\u003e\n\u003ctd\u003e指示遵循率、格式準確度、第一版結果品質\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e脈絡工程\u003c/td\u003e\n\u003ctd\u003e現在要讓 AI 看到什麼？\u003c/td\u003e\n\u003ctd\u003e系統指引、搜尋文件、對話狀態、記憶、工具結果\u003c/td\u003e\n\u003ctd\u003e脈絡組裝規則、搜尋·摘要政策\u003c/td\u003e\n\u003ctd\u003e相關性、時效性、有根據性、權杖效率\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHarness 工程\u003c/td\u003e\n\u003ctd\u003e要建立什麼樣的工作環境，讓 AI 不容易犯錯？\u003c/td\u003e\n\u003ctd\u003e工具、權限、沙盒、儲存庫結構、驗證器、日誌\u003c/td\u003e\n\u003ctd\u003e工作規則、工具介面、測試·CI、執行手冊\u003c/td\u003e\n\u003ctd\u003e可重現性、安全性、可驗證性、可復原性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e代理式工程\u003c/td\u003e\n\u003ctd\u003e下一步行動由誰、在什麼範圍內決定？\u003c/td\u003e\n\u003ctd\u003e目標、計畫、工具選擇、狀態轉移、委派\u003c/td\u003e\n\u003ctd\u003e代理程式迴圈、編排、核准節點\u003c/td\u003e\n\u003ctd\u003e任務完成率、適當的工具選擇、人類介入率\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e迴圈工程\u003c/td\u003e\n\u003ctd\u003e第一個結果錯了時，要如何收斂？\u003c/td\u003e\n\u003ctd\u003e生成、評估、原因分類、修改、重新執行、終止條件\u003c/td\u003e\n\u003ctd\u003e評估器、迴歸測試、重試政策、失敗分類\u003c/td\u003e\n\u003ctd\u003e第一版通過率、復原率、反覆次數、最終通過率\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e把五個概念連成一句話如下。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e表達請求 → 顯示必要資訊 → 提供安全的工作環境 → 讓 AI 選擇下一步行動 → 驗證並改善，直到結果通過標準。\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#解讀術語時的注意事項\" class=\"anchor\" id=\"解讀術語時的注意事項\"\u003e\u003c/a\u003e解讀術語時的注意事項\u003c/h3\u003e\n\u003cp\u003e提示詞工程和代理程式是相對廣泛使用的術語，但 Harness 工程目前的使用範圍仍會因脈絡而異。有些文章把模型以外幾乎所有執行層都稱為 Harness，有些文章則把它縮小解釋為編碼代理程式使用者在儲存庫外部建立的規則·驗證·回饋結構。「迴圈工程」也與其說是由單一標準固定下來的正式分類，不如理解為把生成與驗證設計成封閉式回饋流程的實務名稱會更準確。([OpenAI][1])\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#1-提示詞工程設計指示的品質\" class=\"anchor\" id=\"1-提示詞工程設計指示的品質\"\u003e\u003c/a\u003e1. 提示詞工程：設計指示的品質\u003c/h2\u003e\n\u003cp\u003e提示詞工程是讓傳達給模型的指示變得明確且可驗證的工作。它通常在一次請求與回應中產生最明顯的效果，但也適用於系統訊息或多輪對話規則。\u003c/p\u003e\n\u003cp\u003e好的提示詞通常會分離以下要素。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e目標：\u003c/strong\u003e 必須完成什麼\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e輸入：\u003c/strong\u003e 分析對象和輸入邊界到哪裡為止\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e限制：\u003c/strong\u003e 不該做的事、允許範圍、長度與格式\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e輸出契約：\u003c/strong\u003e JSON、表格、程式碼修補等結果結構\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e成功標準：\u003c/strong\u003e 滿足什麼條件才可視為正解\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e不確定性處理：\u003c/strong\u003e 資訊不足或互相衝突時要如何處理\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e範例：\u003c/strong\u003e 展示預期行為的代表性輸入·輸出\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e實務範本可以像下面這樣簡單開始。\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e目標：\n\u003c/span\u003e\u003cspan\u003e輸入：\n\u003c/span\u003e\u003cspan\u003e限制：\n\u003c/span\u003e\u003cspan\u003e輸出格式：\n\u003c/span\u003e\u003cspan\u003e成功標準：\n\u003c/span\u003e\u003cspan\u003e驗證方法：\n\u003c/span\u003e\u003cspan\u003e不確定時的處理：\n\u003c/span\u003e\u003cspan\u003e代表範例：\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e重要的是，在打磨提示詞之前，必須先定義成功標準和經驗性測試方法。並非所有失敗都能透過修改提示詞解決，成本、延遲時間、工具錯誤、錯誤的資料選擇都可能是其他層級的問題。([Claude Platform Docs][2])\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#提示詞工程善於解決的問題\" class=\"anchor\" id=\"提示詞工程善於解決的問題\"\u003e\u003c/a\u003e提示詞工程善於解決的問題\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e結果格式經常破壞的問題\u003c/li\u003e\n\u003cli\u003e指示優先順序模糊的問題\u003c/li\u003e\n\u003cli\u003e分類、擷取、轉換、摘要等輸入與輸出相對明確的問題\u003c/li\u003e\n\u003cli\u003e提供代表範例後效能會穩定的問題\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"#只靠提示詞難以解決的問題\" class=\"anchor\" id=\"只靠提示詞難以解決的問題\"\u003e\u003c/a\u003e只靠提示詞難以解決的問題\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e必要事實或檔案不在輸入中的情況\u003c/li\u003e\n\u003cli\u003e混入過時或互相衝突的文件時\u003c/li\u003e\n\u003cli\u003e必須安全地查詢·修改外部系統時\u003c/li\u003e\n\u003cli\u003e需要多個步驟的執行狀態與失敗復原時\u003c/li\u003e\n\u003cli\u003e沒有客觀方法檢查結果是否正確時\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"#2-脈絡工程設計-ai-看到的資訊\" class=\"anchor\" id=\"2-脈絡工程設計-ai-看到的資訊\"\u003e\u003c/a\u003e2. 脈絡工程：設計 AI 看到的資訊\u003c/h2\u003e\n\u003cp\u003e脈絡工程是在模型生成答案的瞬間，選擇、排序、壓縮、更新可使用資訊整體的工作。脈絡不只包含提示詞，也可能包含系統指引、使用者請求、對話歷史、搜尋文件、記憶、工具說明、工具執行結果、目前時間、權限狀態與工作進度狀態。\u003c/p\u003e\n\u003cp\u003e脈絡視窗是有限的，因此目標不是「放很多」，而是\u003cstrong\u003e在適當時機放入必要資訊\u003c/strong\u003e。Anthropic 將脈絡說明為代理程式重要但有限的資源，並建議在長時間互動中採用最小工具集合、代表範例、執行時搜尋、壓縮與記憶等策略。([Anthropic][3])\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#核心設計原則\" class=\"anchor\" id=\"核心設計原則\"\u003e\u003c/a\u003e核心設計原則\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e相關性優先：\u003c/strong\u003e 只放入目前階段所需的資訊。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e來源與時效性：\u003c/strong\u003e 一併管理文件的撰寫時間、版本、擁有者、可信度。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e即時搜尋：\u003c/strong\u003e 與其預先注入所有資料，不如在需要時從檔案·DB·搜尋系統取得。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e資訊分層：\u003c/strong\u003e 區分固定規則、目前任務、參考資料、工具結果。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e衝突處理：\u003c/strong\u003e 多份資料不同時，明示優先順序與基準來源。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e壓縮與狀態保存：\u003c/strong\u003e 摘要舊對話，但不要丟失決策、未解決問題、依據連結。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e指示與資料分離：\u003c/strong\u003e 設定邊界，避免把網頁或文件中的句子當成系統命令處理。\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\u003ca href=\"#範例\" class=\"anchor\" id=\"範例\"\u003e\u003c/a\u003e範例\u003c/h3\u003e\n\u003cp\u003e當客戶支援 AI 回答退款政策時，即使只強化「請準確回答」這個提示詞也有其限制。正確的脈絡工程會在必要瞬間查詢並一併提供客戶的國家、購買日、商品類型、目前政策版本、例外條款、訂單狀態，並讓回答中使用的政策條款可被追蹤。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#3-harness-工程設計-ai-工作的環境\" class=\"anchor\" id=\"3-harness-工程設計-ai-工作的環境\"\u003e\u003c/a\u003e3. Harness 工程：設計 AI 工作的環境\u003c/h2\u003e\n\u003cp\u003eHarness 是把模型智慧連接到實際業務的執行骨架。Harness 工程是透過文件、工具、權限、結構、自動驗證與回饋，設計工作環境，以預防 AI 經常犯的錯誤或及早發現錯誤。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#harness-的主要組成要素\" class=\"anchor\" id=\"harness-的主要組成要素\"\u003e\u003c/a\u003eHarness 的主要組成要素\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e組成要素\u003c/th\u003e\n\u003cth\u003e角色\u003c/th\u003e\n\u003cth\u003e範例\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e工作指引\u003c/td\u003e\n\u003ctd\u003e明示重複業務的程序與禁止事項\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eAGENTS.md\u003c/code\u003e、執行手冊、檢查清單\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e知識結構\u003c/td\u003e\n\u003ctd\u003e讓 AI 容易找到所需資料\u003c/td\u003e\n\u003ctd\u003e儲存庫地圖、ADR、術語表、範例集合\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e工具介面\u003c/td\u003e\n\u003ctd\u003e明確限制行動的輸入·輸出\u003c/td\u003e\n\u003ctd\u003e檔案搜尋、DB 查詢、程式碼執行、部署 API\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e執行環境\u003c/td\u003e\n\u003ctd\u003e隔離失敗並提高可重現性\u003c/td\u003e\n\u003ctd\u003e沙盒、容器、固定相依性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e驗證器\u003c/td\u003e\n\u003ctd\u003e自動確認結果是否滿足標準\u003c/td\u003e\n\u003ctd\u003e結構描述檢查、單元測試、linter、政策檢查\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e權限·核准\u003c/td\u003e\n\u003ctd\u003e限制危險行動\u003c/td\u003e\n\u003ctd\u003e最小權限、讀取/寫入分離、人類核准\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e可觀測性\u003c/td\u003e\n\u003ctd\u003e記錄看到了什麼、做了什麼行動\u003c/td\u003e\n\u003ctd\u003e追蹤、日誌、工具呼叫記錄、成本\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e復原結構\u003c/td\u003e\n\u003ctd\u003e失敗後安全回復並重新開始\u003c/td\u003e\n\u003ctd\u003e檢查點、回滾、重試預算\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eOpenAI 的 Harness 工程案例把工程師的角色說明為不只是寫程式碼，而是設計環境、意圖、儲存庫知識、測試·驗證·審查·復原迴圈。核心不是重新請求 AI「再努力一點」，而是把不足的能力與訊號明確加入環境中。([OpenAI][1])\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#資料結構範例\" class=\"anchor\" id=\"資料結構範例\"\u003e\u003c/a\u003e資料結構範例\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003e/ai\n\u003c/span\u003e\u003cspan\u003e  /instructions   # 共通規則與各角色指引\n\u003c/span\u003e\u003cspan\u003e  /skills         # 重複工作程序\n\u003c/span\u003e\u003cspan\u003e  /examples       # 好結果與壞結果\n\u003c/span\u003e\u003cspan\u003e  /evals          # 評估資料與評分規則\n\u003c/span\u003e\u003cspan\u003e  /policies       # 權限、安全、核准政策\n\u003c/span\u003e\u003cspan\u003e  /runbooks       # 障礙·例外應對\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e這個結構本身並不是正解。重要的是資料是否維持最新狀態、重複·衝突是否少、AI 是否能在需要時找到，以及規則是否能連到自動檢查。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#4-代理式工程給予目標與工具委派下一步行動\" class=\"anchor\" id=\"4-代理式工程給予目標與工具委派下一步行動\"\u003e\u003c/a\u003e4. 代理式工程：給予目標與工具，委派下一步行動\u003c/h2\u003e\n\u003cp\u003e代理式工程是把目標、工具、工作狀態與邊界條件交給 AI，並讓它在一定範圍內自行選擇為達成目標所需下一步的設計。\u003c/p\u003e\n\u003cp\u003eAnthropic 將\u003cstrong\u003e工作流程\u003c/strong\u003e區分為以預先決定的程式碼路徑協調 LLM 與工具的系統，將\u003cstrong\u003e代理程式\u003c/strong\u003e區分為模型動態決定自身流程與工具使用的系統。OpenAI 也將代理程式說明為由 LLM 管理工作流程執行，並動態選擇與外部系統互動工具的系統。([Anthropic][4])\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#基本代理程式迴圈\" class=\"anchor\" id=\"基本代理程式迴圈\"\u003e\u003c/a\u003e基本代理程式迴圈\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e觀察目前目標與狀態。\u003c/li\u003e\n\u003cli\u003e規劃下一個子目標或行動。\u003c/li\u003e\n\u003cli\u003e選擇工具並執行。\u003c/li\u003e\n\u003cli\u003e確認結果與環境變化。\u003c/li\u003e\n\u003cli\u003e在完成、修改、重試、轉交人類之中決定一項。\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\u003ca href=\"#適合使用代理程式的情況\" class=\"anchor\" id=\"適合使用代理程式的情況\"\u003e\u003c/a\u003e適合使用代理程式的情況\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e工作順序會因輸入而異的情況\u003c/li\u003e\n\u003cli\u003e必須解讀自然語言、文件、程式碼等非結構化資訊的情況\u003c/li\u003e\n\u003cli\u003e必須選擇性使用多個工具的情況\u003c/li\u003e\n\u003cli\u003e需要根據中間結果改變計畫的情況\u003c/li\u003e\n\u003cli\u003e失敗原因多樣且可進行一定程度復原的情況\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"#代理程式過度的情況\" class=\"anchor\" id=\"代理程式過度的情況\"\u003e\u003c/a\u003e代理程式過度的情況\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e規則與順序固定的簡單自動化\u003c/li\u003e\n\u003cli\u003e可用單一 API 呼叫或 SQL 明確解決的業務\u003c/li\u003e\n\u003cli\u003e沒有驗證手段且錯誤成本非常高的業務\u003c/li\u003e\n\u003cli\u003e未經核准就執行付款、刪除、部署等難以回復行動的結構\u003c/li\u003e\n\u003cli\u003e單一代理程式已足夠，卻只是增加角色的多代理程式結構\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e自主性不是二分法。可以分為只做推薦的輔助型、只允許有限讀取·寫入的執行型、每個主要階段都取得核准的監督型、在低風險範圍內長時間運作的高自主型。必須配合業務風險與驗證能力，分階段擴大。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#5-迴圈工程設計可驗證的改善過程\" class=\"anchor\" id=\"5-迴圈工程設計可驗證的改善過程\"\u003e\u003c/a\u003e5. 迴圈工程：設計可驗證的改善過程\u003c/h2\u003e\n\u003cp\u003e迴圈工程不是單純的重試。它是把\u003cstrong\u003e生成 → 驗證 → 失敗原因分析 → 修改策略選擇 → 重新執行 → 終止判斷\u003c/strong\u003e做成明確的封閉式回饋系統。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#正確迴圈的構成\" class=\"anchor\" id=\"正確迴圈的構成\"\u003e\u003c/a\u003e正確迴圈的構成\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e候選生成：\u003c/strong\u003e 產生草稿、程式碼、計畫、資料轉換結果。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e驗證：\u003c/strong\u003e 執行測試、結構描述、參考資料、政策、依據檢查。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e原因分類：\u003c/strong\u003e 區分指示錯誤、脈絡遺漏、工具失敗、實作缺陷、評估器缺陷。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e修改：\u003c/strong\u003e 套用符合失敗原因的最小變更。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e重新執行：\u003c/strong\u003e 不要從頭重複整體，而是從必要階段重新執行。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e終止：\u003c/strong\u003e 在通過、最大反覆次數、成本上限、時間上限、不確定性臨界值之中任一條件下停止。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e迴歸保護：\u003c/strong\u003e 確認新的修改沒有破壞既有成功案例。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e代理程式評估比只看輸入與輸出的單回合評估更複雜。代理程式會多次呼叫工具並改變環境狀態，因此不只最終結果，也必須一併檢查流程與環境變化。自動評估的核心是給予輸入，並將評分邏輯套用到輸出或改變後的狀態。([Anthropic][5])\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#驗證器的優先順序\" class=\"anchor\" id=\"驗證器的優先順序\"\u003e\u003c/a\u003e驗證器的優先順序\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e決定性驗證：\u003c/strong\u003e 編譯、單元測試、結構描述、數學限制、權限檢查\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e參考式驗證：\u003c/strong\u003e 基準資料、原文引用、資料庫對照\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e規則式驗證：\u003c/strong\u003e 禁用詞、必填欄位、政策條件\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e模型式評估：\u003c/strong\u003e 文體、語意保留、綜合品質等難以規則化的項目\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e人類評估：\u003c/strong\u003e 高風險判斷、目標本身的妥當性、例外核准\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e可以的話先使用決定性驗證，不要只用模型評估讓模型為自己的結果評分。使用模型評估時，應同時設置評估標準、範例、偏誤檢查、樣本人類審查。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#五種方式是層級不是替代品\" class=\"anchor\" id=\"五種方式是層級不是替代品\"\u003e\u003c/a\u003e五種方式是層級，不是替代品\u003c/h2\u003e\n\u003cp\u003e在實際系統中，五種方式會一起運作。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e提示詞建立\u003cstrong\u003e目前行動的契約\u003c/strong\u003e。\u003c/li\u003e\n\u003cli\u003e脈絡提供\u003cstrong\u003e判斷所需的狀態與依據\u003c/strong\u003e。\u003c/li\u003e\n\u003cli\u003eHarness 提供\u003cstrong\u003e可行動的環境與安全裝置\u003c/strong\u003e。\u003c/li\u003e\n\u003cli\u003e代理式設計分配\u003cstrong\u003e下一步行動的選擇權\u003c/strong\u003e。\u003c/li\u003e\n\u003cli\u003e迴圈設計\u003cstrong\u003e發現錯誤並收斂品質\u003c/strong\u003e。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e因此，像是「脈絡工程已取代提示詞工程」或「用了代理程式就不需要工作流程」這類理解並不準確。更寬的層級只是包含或運用較窄的層級，而對於簡單問題，簡單設計可能更穩定。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#實務範例修正-bug-的-ai-編碼系統\" class=\"anchor\" id=\"實務範例修正-bug-的-ai-編碼系統\"\u003e\u003c/a\u003e實務範例：修正 bug 的 AI 編碼系統\u003c/h2\u003e\n\u003cp\u003e假設 AI 要修正「登入後只有特定使用者發生 500 錯誤」這個 bug。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#提示詞工程\" class=\"anchor\" id=\"提示詞工程\"\u003e\u003c/a\u003e提示詞工程\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e確認錯誤重現條件。\u003c/li\u003e\n\u003cli\u003e不要變更公開 API。\u003c/li\u003e\n\u003cli\u003e以最小修改解決。\u003c/li\u003e\n\u003cli\u003e修改後回報測試結果與剩餘風險。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"#脈絡工程\" class=\"anchor\" id=\"脈絡工程\"\u003e\u003c/a\u003e脈絡工程\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e議題說明與錯誤日誌\u003c/li\u003e\n\u003cli\u003e相關請求追蹤 ID\u003c/li\u003e\n\u003cli\u003e與認證·使用者模型相關的檔案\u003c/li\u003e\n\u003cli\u003e最近變更紀錄\u003c/li\u003e\n\u003cli\u003e架構規則與編碼標準\u003c/li\u003e\n\u003cli\u003e失敗的測試與執行環境資訊\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"#harness-工程\" class=\"anchor\" id=\"harness-工程\"\u003e\u003c/a\u003eHarness 工程\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e儲存庫搜尋、檔案讀取·編輯、測試執行工具\u003c/li\u003e\n\u003cli\u003e隔離的分支與沙盒\u003c/li\u003e\n\u003cli\u003eformatter、linter、單元·整合測試\u003c/li\u003e\n\u003cli\u003e禁止變更區域與權限政策\u003c/li\u003e\n\u003cli\u003e所有命令與檔案變更的日誌\u003c/li\u003e\n\u003cli\u003e失敗時的回滾與檢查點\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"#代理式工程\" class=\"anchor\" id=\"代理式工程\"\u003e\u003c/a\u003e代理式工程\u003c/h3\u003e\n\u003cp\u003eAI 會依情況選擇重現、建立假設、探索相關程式碼、修補、測試、摘要結果的順序。不過部署或資料變更需要人類核准。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#迴圈工程\" class=\"anchor\" id=\"迴圈工程\"\u003e\u003c/a\u003e迴圈工程\u003c/h3\u003e\n\u003cp\u003e測試失敗時，不是重複相同命令，而是分類失敗類型。如果是重現失敗，就補強脈絡收集；如果是迴歸失敗，就縮小修補；如果是環境錯誤，就復原相依性與設定。當所有必要測試通過且留下變更依據時即終止。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#依問題症狀找出需要哪種工程的方法\" class=\"anchor\" id=\"依問題症狀找出需要哪種工程的方法\"\u003e\u003c/a\u003e依問題症狀找出需要哪種工程的方法\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e症狀\u003c/th\u003e\n\u003cth\u003e優先檢查的領域\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e輸出格式或文體經常偏離\u003c/td\u003e\n\u003ctd\u003e提示詞\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e回答缺少必要事實·檔案\u003c/td\u003e\n\u003ctd\u003e脈絡\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e選錯工具或執行危險命令\u003c/td\u003e\n\u003ctd\u003eHarness 與權限設計\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e有許多難以用固定順序處理的變形\u003c/td\u003e\n\u003ctd\u003e代理式設計\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e第一個結果經常錯，但可自動判定\u003c/td\u003e\n\u003ctd\u003e迴圈與評估器\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e無法得知失敗原因且難以重現\u003c/td\u003e\n\u003ctd\u003eHarness 的可觀測性\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e越反覆成本越增加，但品質沒有改善\u003c/td\u003e\n\u003ctd\u003e原因分類、驗證訊號、終止條件\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e資料越多，答案反而越差\u003c/td\u003e\n\u003ctd\u003e脈絡整理與搜尋政策\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\u003ca href=\"#建議建置順序\" class=\"anchor\" id=\"建議建置順序\"\u003e\u003c/a\u003e建議建置順序\u003c/h2\u003e\n\u003ch3\u003e\u003ca href=\"#第-1-階段先建立成功標準與評估集\" class=\"anchor\" id=\"第-1-階段先建立成功標準與評估集\"\u003e\u003c/a\u003e第 1 階段：先建立成功標準與評估集\u003c/h3\u003e\n\u003cp\u003e收集代表業務、困難案例、禁止案例，並定義如何判定結果。若沒有正解資料，至少要建立結構描述、必要依據、政策遵循、人類評估標準。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#第-2-階段建立單次呼叫基準線\" class=\"anchor\" id=\"第-2-階段建立單次呼叫基準線\"\u003e\u003c/a\u003e第 2 階段：建立單次呼叫基準線\u003c/h3\u003e\n\u003cp\u003e用最簡單的提示詞與必要的最小脈絡，測量效能、成本、延遲時間。若沒有基準線就導入代理程式，會很難區分複雜性帶來的效果。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#第-3-階段量測脈絡供應\" class=\"anchor\" id=\"第-3-階段量測脈絡供應\"\u003e\u003c/a\u003e第 3 階段：量測脈絡供應\u003c/h3\u003e\n\u003cp\u003e記錄哪些文件與工具結果被放入、它們有多舊、是否實際用於回答。區分搜尋失敗與過度脈絡。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#第-4-階段建立最小-harness\" class=\"anchor\" id=\"第-4-階段建立最小-harness\"\u003e\u003c/a\u003e第 4 階段：建立最小 Harness\u003c/h3\u003e\n\u003cp\u003e減少工具數量，並明確化名稱與輸入。優先處理沙盒、最小權限、自動測試、日誌、檢查點。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#第-5-階段賦予有限自主性\" class=\"anchor\" id=\"第-5-階段賦予有限自主性\"\u003e\u003c/a\u003e第 5 階段：賦予有限自主性\u003c/h3\u003e\n\u003cp\u003e讓單一代理程式先從以讀取為主的低風險業務開始執行。明示終止條件與轉交人類條件，寫入·刪除·付款·部署權限則另行核准。\u003c/p\u003e\n\u003ch3\u003e\u003ca href=\"#第-6-階段閉合驗證復原迴圈\" class=\"anchor\" id=\"第-6-階段閉合驗證復原迴圈\"\u003e\u003c/a\u003e第 6 階段：閉合驗證·復原迴圈\u003c/h3\u003e\n\u003cp\u003e連接失敗分類、修改策略、最大反覆次數、成本上限、迴歸測試。只有在成功率穩定後，才擴大工具與自主範圍。\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"#營運指標\" class=\"anchor\" id=\"營運指標\"\u003e\u003c/a\u003e營運指標\u003c/h2\u003e\n\u003cp\u003e沒有普遍適用的目標數值，因此必須配合業務風險與成本制定標準。\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e指標\u003c/th\u003e\n\u003cth\u003e意義\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e任務完成率\u003c/td\u003e\n\u003ctd\u003e滿足最終成功標準的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e第一版通過率\u003c/td\u003e\n\u003ctd\u003e不需反覆修改、一開始就通過的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e復原率\u003c/td\u003e\n\u003ctd\u003e第一次失敗後透過迴圈成功的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e平均反覆次數\u003c/td\u003e\n\u003ctd\u003e到成功或中止為止所需的循環數\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e工具選擇錯誤率\u003c/td\u003e\n\u003ctd\u003e不適當或不必要的工具呼叫比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e依據完整性\u003c/td\u003e\n\u003ctd\u003e核心主張具有可追蹤來源的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e人類介入率\u003c/td\u003e\n\u003ctd\u003e需要核准、修改、重新指示的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e單位成功成本·延遲\u003c/td\u003e\n\u003ctd\u003e完成一個成功任務所耗費的資源\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e安全事件數\u003c/td\u003e\n\u003ctd\u003e權限違反、錯誤寫入、不可逆行動發生數\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e迴歸失敗率\u003c/td\u003e\n\u003ctd\u003e新變更破壞既有成功案例的比例\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\u003ca href=\"#常見設計錯誤\" class=\"anchor\" id=\"常見設計錯誤\"\u003e\u003c/a\u003e常見設計錯誤\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e領域\u003c/th\u003e\n\u003cth\u003e錯誤\u003c/th\u003e\n\u003cth\u003e改善方法\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e提示詞\u003c/td\u003e\n\u003ctd\u003e把所有例外累積在一句話中\u003c/td\u003e\n\u003ctd\u003e結構化規則，並分離代表範例與評估\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e提示詞\u003c/td\u003e\n\u003ctd\u003e沒有成功標準，只指示「好好撰寫」\u003c/td\u003e\n\u003ctd\u003e明示格式、必要內容、禁止事項、判定標準\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e脈絡\u003c/td\u003e\n\u003ctd\u003e把不相關文件全部放入\u003c/td\u003e\n\u003ctd\u003e使用執行時搜尋與分階段脈絡\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e脈絡\u003c/td\u003e\n\u003ctd\u003e同時提供舊政策與最新政策\u003c/td\u003e\n\u003ctd\u003e管理版本·有效日·基準來源\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHarness\u003c/td\u003e\n\u003ctd\u003e提供許多功能重疊的工具\u003c/td\u003e\n\u003ctd\u003e設計最小工具集合與明確參數\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHarness\u003c/td\u003e\n\u003ctd\u003e沒有寫入權限與回復功能\u003c/td\u003e\n\u003ctd\u003e設置最小權限、沙盒、檢查點\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e代理式\u003c/td\u003e\n\u003ctd\u003e一開始就建立多代理程式\u003c/td\u003e\n\u003ctd\u003e先從單一代理程式與決定性工作流程開始驗證\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e代理式\u003c/td\u003e\n\u003ctd\u003e讓它在沒有完成條件下持續執行\u003c/td\u003e\n\u003ctd\u003e設置明確終止·預算·轉交條件\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e迴圈\u003c/td\u003e\n\u003ctd\u003e原樣重複相同請求\u003c/td\u003e\n\u003ctd\u003e分類失敗原因並改變修改位置\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e迴圈\u003c/td\u003e\n\u003ctd\u003e用一個生成模型自我評估所有結果\u003c/td\u003e\n\u003ctd\u003e結合決定性檢查、參考對照、人類樣本審查\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\u003ca href=\"#實作檢查清單\" class=\"anchor\" id=\"實作檢查清單\"\u003e\u003c/a\u003e實作檢查清單\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e 成功條件不只以句子描述，也能在可行範圍內由機器檢查嗎？\u003c/li\u003e\n\u003cli\u003e 提示詞、參考資料、工具結果的優先順序是否已分離？\u003c/li\u003e\n\u003cli\u003e 是否能追蹤文件的來源、版本、有效日與擁有者？\u003c/li\u003e\n\u003cli\u003e 工具名稱與參數是否不互相重疊且明確？\u003c/li\u003e\n\u003cli\u003e 讀取、寫入、刪除、付款、部署權限是否依風險程度分離？\u003c/li\u003e\n\u003cli\u003e 是否有隔離失敗的沙盒與回復手段？\u003c/li\u003e\n\u003cli\u003e 是否以可重現的形式記錄所有重要行動與工具呼叫？\u003c/li\u003e\n\u003cli\u003e 是否有測試、結構描述、政策檢查等外部驗證器？\u003c/li\u003e\n\u003cli\u003e 最大反覆次數、成本、時間、人類轉交條件是否已定義？\u003c/li\u003e\n\u003cli\u003e 是否有不讓新改善破壞既有案例的迴歸評估？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"#結論\" class=\"anchor\" id=\"結論\"\u003e\u003c/a\u003e結論\u003c/h2\u003e\n\u003cp\u003e好的 AI 系統不是擁有最長提示詞的系統。它是能分辨失敗發生在\u003cstrong\u003e指示\u003c/strong\u003e、\u003cstrong\u003e資訊\u003c/strong\u003e、\u003cstrong\u003e環境\u003c/strong\u003e、\u003cstrong\u003e決策\u003c/strong\u003e、\u003cstrong\u003e驗證·復原\u003c/strong\u003e之中的哪一處，並在該層級配置最簡單解決方案的系統。先建立成功標準與單次呼叫基準線，只在必要程度補強脈絡與 Harness，接著在可驗證的範圍內擴大自主性與反覆迴圈，才是穩定的方法。\u003c/p\u003e\n","tags":["提示詞工程","上下文工程","測試框架工程","AI 代理人","AI 評估"],"faqs":[{"question":"五種工程方式是否必須按順序導入？","answer":"它們不是固定的成熟度階段。不過，在建立成功標準與單次呼叫基準線後，整理提示詞與上下文，並在需要時加入工具框架、自主性與迭代迴圈，會更容易衡量複雜性所帶來的效果。"},{"question":"上下文工程會取代提示詞工程嗎？","answer":"不會取代。提示詞定義應執行的行為與輸出契約，而上下文則提供該行為所需的事實、狀態與依據。好的系統會將兩者一起設計。"},{"question":"上下文工程與工具框架工程有什麼差異？","answer":"上下文工程聚焦於模型在特定時刻所看到的資訊。工具框架工程則包含尋找該資訊、執行動作並檢查結果的工具、權限、執行環境、文件結構、日誌與復原機制。"},{"question":"代理程式與一般工作流程自動化有何不同？","answer":"一般工作流程會遵循預先定義的順序與分支，而代理程式會解讀當前狀態，動態選擇下一步行動與工具。對於規則穩定的工作，確定性的工作流程可能更便宜且更可預測。"},{"question":"迴圈工程與單純重試有什麼不同？","answer":"單純重試只是在相同條件下再次生成。迴圈工程則透過外部驗證訊號確認失敗並分類原因，接著修改提示詞、上下文、工具或實作中必要的部分，並套用終止條件與迴歸測試。"},{"question":"什麼時候應該使用多代理程式？","answer":"當各角色的工具與權限明顯不同，且單一代理程式的上下文或工具集合變得過於龐大，導致效能與評估惡化時，可以考慮使用。若只是為了簡單的角色分工而建立多個代理程式，可能會增加成本、延遲、錯誤傳播與除錯難度。"},{"question":"可以讓 AI 評估自己的結果嗎？","answer":"可以作為輔助訊號使用，但將其作為唯一驗證器是危險的。若可能，應先套用測試、結構描述、參考資料與政策規則，並以明確的評分規準與人工抽樣審查來補充模型評估。"},{"question":"工具框架文件中應放入哪些內容？","answer":"應放入重複性作業流程、儲存庫與系統結構、允許與禁止的行為、工具使用方法、良好與不良範例、測試命令、故障應對、核准政策與完成標準。文件應簡短、可搜尋，並納入版本管理。"},{"question":"將外部文件放入上下文時，最重要的安全原則是什麼？","answer":"外部文件應視為不可信資料，並與系統指示分離。應將工具權限最小化，以避免執行文件中的命令；對於重要的寫入、刪除、付款、部署行為，則應設置獨立的政策檢查與人工核准。"},{"question":"小型團隊最好從哪裡開始？","answer":"蒐集小型且具代表性的評估集與失敗案例，衡量單一模型呼叫的基準線。之後確認最大的失敗原因是在指示、資訊、工具環境、規劃或驗證中的哪一項，逐層改善會更有效率。"}],"sources":[{"url":"https://platform.claude.com/docs/ko/build-with-claude/prompt-engineering/overview","title":"提示詞工程概述 - Claude Platform Docs","type":"source"},{"url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","title":"面向 AI 代理程式的有效上下文工程","type":"source"},{"url":"https://openai.com/index/harness-engineering/","title":"Harness 工程：在代理程式優先的世界中運用 Codex","type":"source"},{"url":"https://www.anthropic.com/engineering/building-effective-agents","title":"建構有效的代理程式","type":"source"},{"url":"https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/","title":"建構代理程式的實用指南","type":"source"},{"url":"https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents","title":"揭開 AI 代理程式評估的神秘面紗","type":"source"},{"url":"https://martinfowler.com/articles/harness-engineering.html","title":"面向編碼代理程式使用者的 Harness 工程","type":"source"}],"images":[{"id":192,"url":"https://injoys.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg0NywicHVyIjoiYmxvYl9pZCJ9fQ==--9f1b84d1d297642915a0d27477d3800017987668/ChatGPT%20Image%202026%E1%84%82%E1%85%A7%E1%86%AB%207%E1%84%8B%E1%85%AF%E1%86%AF%2016%E1%84%8B%E1%85%B5%E1%86%AF%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2004_12_32.webp","is_representative":true,"generation_method":"upload","mime_type":"image/webp","original_filename":"ChatGPT Image 2026년 7월 16일 오후 04_12_32.png","translations":{"ko":{"alt":"중앙 AI 허브와 지시, 정보, 도구, 자율 실행, 검증 루프 모듈이 연결된 시스템 구조","caption":"다섯 가지 AI 엔지니어링 방식이 하나의 시스템에서 연결되고 반복 개선되는 구조를 보여준다.","description":null},"en":{"alt":"Central AI hub connected to instruction, context, tools, autonomous action, and validation loop modules","caption":"The illustration shows five AI engineering approaches working together in a connected improvement cycle.","description":null},"ja":{"alt":"中央のAIハブに指示、情報、ツール、自律実行、検証ループの各モジュールが接続された構成","caption":"5つのAIエンジニアリング手法が連携し、反復的に改善される仕組みを表している。","description":null},"es":{"alt":"Núcleo central de IA conectado con módulos de instrucciones, contexto, herramientas, acción autónoma y validación","caption":"La ilustración muestra cinco enfoques de ingeniería de IA integrados en un ciclo de mejora continua.","description":null},"id":{"alt":"Pusat AI terhubung ke modul instruksi, konteks, alat, tindakan otonom, dan siklus validasi","caption":"Ilustrasi ini menunjukkan lima pendekatan rekayasa AI yang bekerja bersama dalam siklus perbaikan.","description":null},"pt":{"alt":"Núcleo central de IA ligado a módulos de instruções, contexto, ferramentas, ação autônoma e validação","caption":"A ilustração mostra cinco abordagens de engenharia de IA integradas em um ciclo contínuo de melhoria.","description":null},"zh-hant":{"alt":"中央 AI 核心連接指令、情境、工具、自主執行與驗證迴圈模組的系統架構","caption":"圖中呈現五種 AI 工程方法如何協同運作並形成持續改進的循環。","description":null}}},{"id":193,"url":"https://injoys.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg1NCwicHVyIjoiYmxvYl9pZCJ9fQ==--47acd549387f7a60f4c18de6ac673ca1b551dd36/ChatGPT%20Image%202026%E1%84%82%E1%85%A7%E1%86%AB%207%E1%84%8B%E1%85%AF%E1%86%AF%2016%E1%84%8B%E1%85%B5%E1%86%AF%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2004_36_26.webp","is_representative":false,"generation_method":"upload","mime_type":"image/webp","original_filename":"ChatGPT Image 2026년 7월 16일 오후 04_36_26.png","translations":{"ko":{"alt":"지시 설정부터 정보 선별, 안전 환경, 자율 실행, 검증 반복까지 이어지는 AI 구축 파이프라인","caption":"AI 시스템을 단계적으로 설계하고 검증 결과를 앞 단계에 반영하는 실무 흐름을 보여준다.","description":null},"en":{"alt":"AI build pipeline from instruction setup and context filtering to safe execution, autonomous action, and validation loops","caption":"The illustration shows a step-by-step AI workflow with feedback loops returning results to earlier stages.","description":null},"ja":{"alt":"指示設定、情報選別、安全な実行環境、自律動作、検証ループへ続くAI構築パイプライン","caption":"AIシステムを段階的に設計し、検証結果を前の工程へ反映する流れを示している。","description":null},"es":{"alt":"Flujo de creación de IA con instrucciones, filtrado de contexto, entorno seguro, acción autónoma y validación iterativa","caption":"La ilustración muestra un proceso gradual de diseño de IA con ciclos de retroalimentación hacia etapas anteriores.","description":null},"id":{"alt":"Alur pembangunan AI dari pengaturan instruksi dan penyaringan konteks hingga eksekusi aman, tindakan otonom, dan validasi","caption":"Ilustrasi ini menunjukkan tahapan perancangan sistem AI dengan umpan balik ke proses sebelumnya.","description":null},"pt":{"alt":"Fluxo de construção de IA com instruções, filtragem de contexto, ambiente seguro, ação autônoma e validação iterativa","caption":"A ilustração mostra um processo gradual de projeto de IA com ciclos de retorno às etapas anteriores.","description":null},"zh-hant":{"alt":"從指令設定、情境篩選與安全環境，到自主執行和反覆驗證的 AI 建置流程","caption":"圖中呈現 AI 系統的分階段設計流程，以及驗證結果回饋至前序階段的機制。","description":null}}}],"published_at":"2026-07-16T17:00:54+09:00","updated_at":"2026-07-16T17:00:54+09:00","license":"cc_by","translation_status":"machine","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/en/articles/prompt-context-harness-agentic-loop-engineering"}