AI Agent 上線前,你一定要做的評測與安全把關
2026年6月12日
Agent 最危險的不是當機,是安靜地做錯——回了一段看起來很合理、其實全錯的答案,沒人發現。這篇講 Agent 為什麼會無聲失敗,怎麼用 Promptfoo 測、用 AgentOps debug 多步驟、用 Langfuse 在線上監控,最後附一份上線前檢查清單。
一家做客服 Agent 的新創,上線第三週客訴量不減反增。他們很困惑——測試時明明都對。後來調出紀錄才發現:有一類問題,Agent 每次都自信滿滿地引用了一份「公司退費政策第七條」,而那份政策根本沒有第七條。它不是不會,是把不存在的東西講得太像真的,而上線前那批測試案例剛好沒涵蓋這一類。
這就是 Agent 最危險的失敗方式——它不會跳紅字、不會 throw exception。它安靜地、有禮貌地、條理分明地做錯,然後你的使用者信了。
為什麼 Agent 會「無聲失敗」
傳統軟體出錯,通常會炸給你看:噴 error、回 500、stack trace 指到第幾行。Agent 不一樣。它的輸出是「生成」出來的,語言永遠通順,所以錯誤被包裝得跟正確答案長得一模一樣。
更麻煩的是多步驟。一個 Agent 跑一輪可能呼叫五、六次工具,中間任何一步偏掉——查錯資料、傳錯參數、漏掉一個條件——後面幾步會基於這個錯誤繼續推下去,最後給你一個「自洽但錯誤」的結果。你看最終答案,完全看不出哪裡歪了。
所以 Agent 的品質保證,不能靠人工抽查,也不能靠「我跑了幾次覺得還行」。你需要一套能量化、能回放、能在線上持續監看的機制。這正是〈想自己做一個 AI Agent,該準備哪些工具〉裡提到的評測、安全、可觀測性這三層,在上線階段真正派上用場的地方。
重點:上線前要把關的四件事
- 離線評測:用一套固定題庫,量化每次改動後品質有沒有退步。
- 紅隊測試:主動找它的弱點——什麼輸入會讓它越界、唬爛、洩漏。
- 多步驟 debug:出錯時能回放整條執行軌跡,定位是哪一步偏掉。
- 線上監控與護欄:上線後持續看品質與成本,並在危險動作前設攔截。
這四件,缺一件你上線都是在賭。
怎麼測:Promptfoo
離線評測的核心精神,是把「我覺得變好了」換成「數字告訴我變好了」。Promptfoo 讓你建立一組測試案例——輸入、預期行為、判斷標準——然後每次改 prompt、換模型、調參數,就跑一遍整套,看分數變化。
判斷標準可以是字串比對、正規表達式,也可以用另一個模型當裁判(LLM-as-judge)去評「這個回答有沒有正確引用來源」。開頭那家新創如果有一條「回答中提到的政策條號,必須真實存在」的斷言,那個第七條根本上不了線。
紅隊測試也在這層做。Promptfoo 能跑一批對抗性輸入,試圖讓 Agent 洩漏 system prompt、繞過限制、執行不該執行的動作。你不去攻擊它,使用者(或惡意者)就會替你攻擊。寧可自己先打一輪。
怎麼 debug:AgentOps
評測告訴你「答案錯了」,但不會告訴你「錯在第幾步」。多步驟 debug 要靠 AgentOps。
它把 Agent 一整輪的執行串成一條可回放的時間線:第一步呼叫了什麼工具、傳了什麼參數、拿回什麼、花了多少 token、第二步根據什麼決定下一步……整條攤開來看。退費政策那個例子,在 AgentOps 裡會清楚看到——某一步檢索回來的文件片段就已經是錯的,後面全是基於錯誤資料的合理推論。沒有這條軌跡,你只會對著最終答案乾瞪眼。
怎麼監控:Langfuse
上線不是終點,是另一個起點。生產環境的輸入千奇百怪,使用者會問出你測試時想都想不到的問題。Langfuse 負責把線上每一次對話、每一筆 token 成本、每一條延遲長期記下來,讓你追蹤品質有沒有隨時間漂移、哪類問題答得最差、成本有沒有失控。
它跟 AgentOps 的分工大致是:AgentOps 偏開發期的單次深度 debug,Langfuse 偏線上長期的群體監控。實務上很多團隊兩者都用。重點是——你要有一個地方,能隨時回答「我的 Agent 這週表現如何」。答不出來,就是在裸奔。
護欄(Guardrails):最後一道攔截
評測、debug、監控都是「事後或事前知道」,護欄是「當下攔住」。在 Agent 執行危險動作前——付款、刪資料、對外發送、執行系統指令——加一層規則檢查或人工確認。
護欄該攔什麼:輸出含個資或機密時遮蔽、金額超過門檻時轉人工、偵測到 prompt injection 時中止。這層跟工具鏈裡的執行沙箱(例如 Blaxel)是搭配的——沙箱限制它「能跑什麼」,護欄限制它「能做什麼」。
三種團隊的把關重點
台灣個人開發者:至少把 Promptfoo 接起來。哪怕只有二十個測試案例,也好過每次改完憑感覺。紅隊測試挑幾個最危險的攻擊面跑就好,別追求完整。
新創團隊:AgentOps 加 Langfuse 要趁早。你的產品還在快速迭代,沒有可觀測性,每次出事都是團隊一起在 log 海撈,撈的時間夠你多做兩個功能了。護欄優先保護「會花錢」和「不可逆」的動作。
企業:紅隊測試與護欄是合規底線。資安、法務會問的「資料會不會外洩」「能不能稽核每一步決策」,答案就藏在 Promptfoo 的對抗測試紀錄和 AgentOps 的執行軌跡裡。把這些紀錄留存,等於把稽核證據先備好。
上線前檢查清單
直接照做:
- 有一套至少涵蓋常見與邊界情況的測試題庫,跑在 Promptfoo 上
- 每次改 prompt 或換模型,都跑過完整評測,分數沒退步才上
- 做過至少一輪紅隊測試,試過 prompt injection、越界、唬爛
- 對「事實宣稱」類回答,有斷言檢查來源真實存在
- 多步驟流程接了 AgentOps,出錯能回放定位到哪一步
- 線上接了 Langfuse,能看品質漂移與成本
- 危險動作(付款、刪除、對外發送)前有護欄或人工確認
- 設了 token 與成本上限,避免背景 Agent 燒錢
- 危險的程式碼執行跑在沙箱裡
- 有一個人,在出事時知道第一個該看哪裡
TheAI學院 總結與評語
Agent 上線最大的風險,從來不是技術不夠強,是「你不知道它什麼時候做錯了」。評測讓你事前知道,可觀測性讓你事後查得到,護欄讓你當下攔得住——這三件事的價值,平常感覺不到,出事那天會救你一命。
「一個你看不見內部、量不出品質的 Agent,跑得再順都是定時炸彈;能被檢查的平庸,遠勝看不見的聰明。」
給台灣讀者的具體建議:上線前,逼自己回答一個問題——「如果它明天在客戶面前做錯一件事,我多久能查出是哪一步、為什麼?」答不出「十分鐘內」,就先別上線,回去把 Promptfoo、AgentOps、Langfuse 這三層補好。完整的工具鏈怎麼搭,可以回頭看〈2026 開發者工具鏈全圖解〉。
常見問題
為什麼 AI Agent 的錯誤比傳統軟體難發現?
因為 Agent 的輸出是生成的,語言永遠通順,錯誤答案會被包裝得跟正確答案一樣有條理,不會像傳統軟體那樣噴 error 或 stack trace。多步驟流程中,某一步偏掉後面會基於錯誤繼續推論,最終給出『自洽但錯誤』的結果,光看答案看不出問題。
Promptfoo 主要解決什麼問題?
它把 Agent 的品質從『我覺得變好了』變成可量化的數字。你建立一組固定測試案例與判斷標準,每次改 prompt、換模型就跑一遍看分數有沒有退步,同時可做紅隊測試,主動找出會被繞過或讓 Agent 唬爛的漏洞。
AgentOps 和 Langfuse 有什麼差別,需要都用嗎?
AgentOps 偏開發期的單次深度 debug,把一輪執行串成可回放的軌跡,方便定位是哪一步出錯;Langfuse 偏線上長期的群體監控,記錄每次對話、成本、延遲,追蹤品質漂移。兩者側重不同,實務上很多團隊會搭配使用。
護欄(guardrails)和評測有什麼不同?
評測是事前知道品質如何,監控是事後查得到問題,護欄則是『當下攔截』——在 Agent 執行付款、刪除、對外發送等危險動作前,加上規則檢查或人工確認,例如金額超過門檻轉人工、偵測到 prompt injection 就中止。
資料來源:theai