你照著教學做了一個 AI Agent,前幾次跑得好好的,今天卻突然漏掉一個步驟、亂呼叫工具,或回了一段看似專業但完全是編的內容——你盯著螢幕,卻不知道該從哪裡開始修。
這篇要解決的問題:給你一套可重複的 AI Agent 除錯流程,讓你能快速定位錯誤、修對地方、並加上護欄避免重蹈覆轍。 適合誰讀:已經做出第一個 Agent、但常被「偶爾出錯」困擾的上班族、自由工作者與中小企業導入者,不需要寫程式背景。 讀完你會得到:一個四層定位法、可複製的除錯 Prompt、Workflow 流程圖,以及一套讓 Agent 越用越穩的回歸驗證做法。
為什麼 AI Agent 除錯這麼難?
傳統程式出錯通常是「確定性」的:同樣的輸入,永遠得到同樣的錯誤,你照著錯誤訊息一行一行追,總能找到那個寫錯的地方。
AI Agent 完全不是這樣。它有三個讓人崩潰的特性:
第一,不確定性。同一個 Prompt、同一個輸入,今天對、明天錯,因為模型每次生成都有隨機性。你沒辦法用「重跑一次看看」來確認問題修好了沒。
第二,錯誤會藏在中間。Agent 的工作是「規劃步驟 → 呼叫工具 → 整合結果 → 輸出」,錯誤可能發生在任何一環。最終輸出看起來怪,根因卻可能在第二步它就把任務理解錯了。如果你只盯著最後的答案改 Prompt,往往是在錯的地方使力。
第三,錯得很有自信。程式出錯會直接報錯停掉;Agent 出錯卻會用流暢、專業的語氣把錯誤包裝起來,讓你一不小心就採信。這也是最危險的一點。
所以 AI Agent 的除錯,本質上不是「找那一行 bug」,而是「建立一套能看穿過程、定位層級、並防止復發的方法」。這篇就是要把這套方法交給你。
核心概念:把 Agent 的錯誤分成四層
除錯的第一個關鍵,是別再把 Agent 當成一個黑盒子。它的運作可以拆成四層,每一層的錯誤症狀與修法都不同。先學會分層,你就不會再亂槍打鳥。
| 層級 | 它在做什麼 | 典型錯誤症狀 | 主要修法 |
|---|---|---|---|
| 1. 輸入理解 | 看懂你要它做什麼 | 答非所問、做錯任務 | 補強 system prompt、加範例 |
| 2. 規劃步驟 | 拆解成要做哪幾步 | 漏步驟、順序錯、多做無關的事 | 明確列出步驟、限制範圍 |
| 3. 工具呼叫 | 決定用哪個工具、傳什麼參數 | 選錯工具、參數格式錯、該查不查 | 改工具說明、減少工具、加驗證 |
| 4. 最終輸出 | 把結果整理成你要的格式 | 格式跑掉、夾帶幻覺、漏資訊 | 規定輸出格式、加事實檢查 |
打個比方:AI Agent 像一位新來的助理。第 1 層是「他有沒有聽懂你交代的事」;第 2 層是「他有沒有把事情拆對、按對順序做」;第 3 層是「他會不會用辦公室的設備(影印機、報帳系統)」;第 4 層是「他交回來的報告格式對不對、有沒有亂寫」。助理出包,你會先問清楚是哪一關卡住,而不是劈頭罵他「你怎麼這麼笨」——除錯 Agent 也是同一個道理。
掌握這張表後,每次出錯你只要問自己一句:這個錯,是哪一層的錯? 答案會直接告訴你該去改哪裡。
實際教學:五步驟除錯流程
Step 1:重現並完整記錄錯誤
除錯的第一鐵律:沒有紀錄,不開始猜。
當 Agent 出錯,立刻把這次執行的四樣東西存下來:
- 原始輸入:你給它的完整指令與資料。
- 推理過程:它的思考軌跡(多數工具叫 thinking、reasoning 或 trace)。
- 工具呼叫明細:每一次它呼叫了什麼工具、傳了什麼參數、拿回什麼結果。
- 最終輸出:它實際回給你的內容。
很多人卡關,是因為錯誤發生時只截了最後一句輸出就把畫面關了,事後完全無法重建現場。把這四樣當成 Agent 的「行車紀錄器」,缺任何一段都會讓你少看到關鍵的那一秒。
Step 2:用四層定位法找出錯誤層級
有了紀錄,照著四層表由前往後比對:
- 看推理過程的第一句:它對任務的理解對嗎?錯了就是第 1 層。
- 看它列出的步驟:有沒有漏、有沒有多、順序對嗎?錯了是第 2 層。
- 看工具呼叫:選對工具了嗎?參數對嗎?該查資料卻憑空回答嗎?錯了是第 3 層。
- 看最終輸出:前面都對,只是格式跑掉或夾帶沒根據的內容?那是第 4 層。
關鍵心法:從前往後找,找到第一個出錯的點就停。 因為前面錯了,後面一定跟著錯,修後面是白費力氣。
Step 3:對症修正 Prompt 或工具
定位好層級,照下面修:
- 第 1 層(理解錯):在 system prompt 裡把角色、任務目標、適用範圍講得更死。最有效的是加 1~2 個「正確示範」(few-shot),讓它照樣造句。
- 第 2 層(規劃錯):別讓它自由發揮,直接把步驟用編號列出來,並寫清楚「不要做範圍外的事」。
- 第 3 層(工具錯):把工具的 description 寫清楚——「什麼情況該用」「參數長什麼樣」要附範例;工具太多就砍到只留必要的,選擇少了就不容易選錯。
- 第 4 層(輸出錯):明確規定輸出格式(例如指定 JSON 欄位或固定段落),並要求「資訊若來自工具結果才寫,否則標註不確定」。
一次只改一個地方,改完馬上測,才能確定是哪個改動有效。
Step 4:在會反覆出錯的地方加護欄
護欄(guardrail)是你為 Agent 設的安全網,專門對付那些「偶爾才犯、但一犯就嚴重」的錯。三種最實用的護欄:
- 格式護欄:輸出必須符合指定結構,不符就退回讓它重做一次。
- 誠實護欄:在 Prompt 明寫「找不到根據的事,就回『查無資料』,禁止編造」,直接壓低幻覺。
- 動作護欄:寄信、刪檔、付款這類不可逆的動作,一律先停下來等人工確認,不讓 Agent 自己按下去。
護欄的精神不是綁手綁腳,而是讓 Agent 即使出錯,也錯在可控範圍內。
Step 5:建評測集,每次改完都回歸驗證
這是最被忽略、卻最能讓 Agent 變穩的一步。
把你遇過的每一個錯誤案例,連同「正確答案應該長怎樣」,存成一份評測集(一個試算表或一個文字檔就夠)。每次你改完 Prompt,就把整份評測集重跑一遍,確認:舊的錯不再出現、且沒有把原本對的弄壞。
沒有評測集,你會陷入「修好 A、弄壞 B、回頭修 B、又弄壞 A」的無限輪迴。有了它,每次改動都有客觀分數,Agent 才會真正越用越可靠。
範例:除錯 Prompt 與 Workflow 流程圖
下面這段 Prompt 不是給 Agent 跑的,而是讓你把出錯紀錄丟給 Claude 或 ChatGPT,請它幫你做四層定位。實測能省下大量手動比對時間:
你是一位 AI Agent 除錯專家。我會給你一次 Agent 的完整執行紀錄,
請依「四層定位法」找出第一個出錯的層級,並給我具體修正建議。
四層定義:
1. 輸入理解:是否正確理解任務
2. 規劃步驟:步驟是否完整、順序是否正確、有無多餘動作
3. 工具呼叫:是否選對工具、參數是否正確、該查資料時有無查
4. 最終輸出:格式是否正確、有無未經查證的內容(幻覺)
請務必「從第 1 層往後找,找到第一個出錯點就停」,不要直接看最終輸出下結論。
【原始輸入】
{貼上你給 Agent 的指令}
【推理過程】
{貼上 Agent 的思考軌跡}
【工具呼叫明細】
{貼上每次工具呼叫的參數與回傳}
【最終輸出】
{貼上 Agent 實際回的內容}
請依下列格式回覆:
- 出錯層級:第幾層
- 判斷依據:引用紀錄中的哪一段
- 修正建議:具體要改 system prompt 的哪句、或工具說明的哪裡
- 建議護欄:針對這個錯,該加哪一種護欄
文字版 Workflow 流程圖(把除錯變成固定流程,照著走就不會漏):
Agent 出錯
↓
保存執行紀錄(輸入+推理+工具呼叫+輸出)
↓
四層定位:從第 1 層往後找
↓
找到第一個出錯層級
├─ 第 1 層 → 補強 system prompt + 加範例
├─ 第 2 層 → 明確列步驟 + 限制範圍
├─ 第 3 層 → 改工具說明/減工具/加參數驗證
└─ 第 4 層 → 規定輸出格式 + 加事實檢查
↓
針對反覆出錯處加護欄(格式/誠實/動作)
↓
把此案例存入評測集
↓
重跑整份評測集回歸驗證
├─ 全過 → 完成
└─ 有退步 → 回到四層定位重來
常見錯誤
一、只看最終輸出就改 Prompt。 這是最常見的坑。輸出怪不代表輸出層有問題,根因往往在前面的理解或規劃。不做四層定位就改,等於頭痛醫腳。
二、一次改一大堆東西。 同時改 system prompt、換模型、又調工具,結果對了也不知道是哪一項奏效,錯了更無從回溯。永遠一次只改一個變因。
三、用「重跑一次對了」就當作修好了。 Agent 有隨機性,跑對一次可能只是運氣。沒有評測集多次驗證,你只是把問題藏起來,下次照樣爆。
四、護欄加在錯的地方。 不是每個環節都要塞檢查,那會拖慢又難維護。護欄只加在「會反覆出錯」或「出錯後果嚴重」的地方。
五、把 Prompt 問題誤判成模型不夠強,急著換更貴的模型。 多數時候,把指令講清楚、補個範例就解決了。先窮盡 Prompt 的可能,再考慮升級模型。
最佳實務
- 留好行車紀錄器:從一開始就讓 Agent 輸出可追溯的推理與工具紀錄,別等出事才後悔沒存。
- 由前往後查、找到第一個錯就停:這是四層定位法的精髓,能避免在錯的層級白費工。
- 一次一變因:每次只動一個地方,改完立刻測,建立明確的因果。
- 護欄分三類:格式、誠實、動作,對症下藥,別亂加。
- 評測集是地基:把每個錯誤變成一道考題,讓 Agent 的進步可被量化,這是業餘與專業的分水嶺。
- 先窮盡 Prompt 再換模型:把 Prompt 當成最便宜的調整旋鈕,先轉到底。
實際案例:台灣電商客服 Agent 的除錯實戰
情境:台中一家中型網購業者,導入一個處理客戶退換貨詢問的 AI Agent,串接訂單系統與退貨政策文件,自動回覆顧客 LINE 上的問題。
導入前的痛點:上線兩週後客訴變多。Agent 看起來很會聊,卻常出兩種包:一是顧客問「我的訂單能不能退」,它沒去查訂單系統就憑感覺回「可以」,結果該商品根本不適用退貨;二是它偶爾自己編出一個「七天鑑賞期可延長到十四天」的政策,公司從沒這條規定。客服主管每天忙著善後,一度想直接關掉。
用四層定位法後的發現:團隊把幾筆出錯對話的完整紀錄調出來比對。第一類錯定位在第 3 層(工具呼叫)——Agent 在該查訂單系統時沒有觸發查詢,因為工具說明寫得太模糊,它不知道「顧客提到訂單編號或退貨」就該去查。第二類錯定位在第 4 層(輸出)——它在找不到明確政策時,會自行「腦補」一個聽起來合理的答案。
對症修正:第 3 層方面,把退貨查詢工具的 description 改寫清楚,明列「只要顧客詢問退換貨、提到訂單編號,就必須先呼叫此工具查詢實際狀態與資格」,並附參數範例;同時把原本掛上去的八個工具砍到只剩四個必要的,減少選錯機會。第 4 層方面,加上誠實護欄:「政策相關回答只能引用退貨政策文件原文,文件查無就回『這部分我幫您轉接專人確認』,禁止自行推論」;並加動作護欄:凡涉及「同意退款」的回覆一律標記、轉人工核可後才發出。最後把這幾筆錯誤對話全存進評測集,每次改 Prompt 都重跑。
成果數據(導入修正後一個月):與退換貨相關的錯誤回覆從每週約 23 件降到 2 件,降幅約 91%;因 Agent 亂回政策造成的客訴歸零;客服主管每日善後時間從約 2 小時縮短到 20 分鐘以內。更重要的是,團隊從此有了一套固定流程:每遇到新的錯誤類型,就走一次四層定位、加護欄、進評測集,Agent 的穩定度持續往上爬,而不是每次都從零開始救火。
提醒:以上為退換貨客服情境,若你的 Agent 涉及金流、合約、醫療或法律建議,務必加強人工複核與動作護欄,相關回覆建議經專業人員確認,本文方法僅供流程參考,不構成法律或財務建議。
結論
AI Agent 的除錯,難在它不確定、錯在中間、又錯得很有自信。但只要你不再把它當黑盒子,改用一套有方法的流程,它就會從「偶爾能用」變成「可以信賴」。
記住這條主線:保存紀錄 → 四層定位(由前往後找第一個錯)→ 對症修 Prompt 或工具 → 在痛點加護欄 → 用評測集回歸驗證。 一次只改一個變因,把每個錯誤都變成評測集裡的一道考題,你的 Agent 就會在每一次除錯後變得更穩一點。
下一步,建議你先回頭把手上 Agent 的「行車紀錄器」打開,確保下次出錯時你看得到全程;接著為它建立第一份評測集。想更系統地設計 Agent 與護欄,可以看本站的 AI Agent 入門指南、了解 MCP 如何讓 Agent 安全連上工具,或直接到 Prompt 產生器 把這篇的除錯 Prompt 變成你自己的版本。
❓ 常見問題 FAQ
AI Agent 出錯時,我第一步該做什麼?
怎麼知道是 Prompt 的問題還是模型能力不足?
Agent 一直亂呼叫工具或傳錯參數怎麼辦?
什麼是 AI Agent 的護欄(guardrail)?
除錯一次就好,還是要持續做?
🔗 延伸閱讀
每週把這類實戰教學寄給你
訂閱 AgentAI 智庫情報週報,新的 Prompt、AI Skills、工作流與教學第一時間收到。
免費 · 隨時取消