ANDREW/
選單觀點
中文EN
← 回到文章庫

AI / INTEGRATION REVIEW

Agent 用錯 API,該改模型、文件,還是產品?

Andrew Yuan · AI 工程觀點

想像你交給 Agent 一個很簡單的任務:
「查一下這位使用者是否存在,不要修改資料。」
API 回覆:查無使用者。
Agent 想了想,建立了一個帳號,再查一次。
這次成功了。
它回報:
「已找到使用者。」

查詢有結果,流程也走完了。
只是系統裡,多了一個你沒有要求建立的人。

這是一個假設案例,並非下述產品的實際事故。但它讓一個驗收問題變得具體:
我們要確認的,不只是最後有沒有拿到答案,也包括取得答案的過程是否符合任務授權。

標題「問題該修在哪裡?」下方有標示模型、SDK 與文件的三本資料夾,放大鏡放在整合檢視文件上。

把失敗帶回產品團隊

遇到這種情況,換一個更強的模型,值得評估。
但我也會問:
Agent 看到了什麼說明?用了哪個工具?API 回傳的錯誤,是否容易理解?範例是否把「查不到就建立」當成理所當然的下一步?

Microsoft 在 2026 年 10 月 19 日介紹的 Scope,提供了一個相關案例。依官方報告,Cosmos DB 團隊以八個端到端情境、五種語言比較基礎模型與 Agent Kit,評估促成 20 項 Agent Kit 問題及 27 項文件問題的修正。這是特定產品情境的官方報告,不能推論文件改善普遍優於模型升級。來源:Microsoft

對產品團隊而言,值得借鏡的是處理失敗的方式。
從「Agent 又做錯了」,走到「我們能確認哪個環節出了問題,以及誰能改善它」。

先把「成功」寫完整

回到唯讀查詢的例子。
如果驗收條件只有「最後能查到使用者」,建立帳號後再查詢,就可能拿到合格結果。
但任務原本還有另一半:不要修改資料。
我會把這個情境的驗收分成三部分:

窄螢幕可左右滑動表格,查看完整內容。

驗收面向這個情境需要確認什麼
查詢結果使用者不存在時,正確回報查無資料
行為邊界沒有建立帳號,也沒有執行其他超出任務範圍的寫入
結果證據核對受測帳號資料與相關操作紀錄,而非只看 Agent 的完成訊息

這裡要分清楚:超出本次唯讀任務,不必然代表繞過服務端權限。憑證可能有寫入權,但這次任務並未授權使用。

「帳號最後沒有增加」也未必足夠。
如果 Agent 曾經嘗試寫入,只是被權限擋下,資料仍可能沒有變動。這證明限制發揮作用,卻也揭露 Agent 的行為仍有待處理。
因此,資料是否改變,與是否嘗試超出任務範圍,是兩項不同的觀察。

前後資料相同,也可能漏掉寫入後又還原的過程。還需要涵蓋受測路徑的服務端操作紀錄;若紀錄涵蓋不完整,這部分應標為未知。

修正位置,需要證據支持

同樣是查詢失敗,可能需要不同的修正。
下面是我會採用的調查與分工起點,不是預先替任何一方判責。

窄螢幕可左右滑動表格,查看完整內容。

觀察到的現象優先找的證據可能的修正位置/責任角色
呼叫了錯誤 API工具清單、選用過程、API 名稱與描述工具介面/SDK 團隊
把查無資料當成服務故障實際回應、SDK 例外、文件定義API/SDK/文件維護者
跟隨範例建立了帳號當次可見的範例版本與執行紀錄範例/文件維護者
嘗試超出任務範圍的寫入任務要求、可用工具、呼叫紀錄Agent 整合/工具權限負責人
超出任務範圍的寫入成功憑證權限、服務端授權判斷、資料變更Agent 整合/服務端與安全共同評估最小權限
自動評分說成功,資料卻被改動評分條件、狀態差異、人工核對評估機制負責人

一個情境可能同時涉及多個環節。
文件可以更清楚,工具可以更難誤用,Agent 也可以更好地遵守任務。但若這項工作只需要讀取,就應評估能否僅提供讀取工具與權限。
「請不要寫入」不能代替服務端的授權限制。

改完之後,怎麼知道有幫助?

我會先保留修正前的任務、測試資料、評分條件及 Agent 配置,再針對選定的變更做重複比較。
例如,這次只修改「查無使用者」的文件範例,就盡量維持模型、Agent 版本、工具與測試起始狀態一致,並記錄無法固定的條件。

每次執行後,都回到相同的受控起點。否則,前一次意外建立的帳號,可能讓下一次看起來特別順利。

比較時,我不會只看總成功率,也會分開記錄:

這些數字需要一起附上試驗次數與配置。
一次成功,不能證明問題已消失;重複成功,也不能保證所有模型、工具與版本組合都適用。

Scope 本身使用模型式評判,官方也提醒需要重複執行及人工檢視。對這類情境,我會再加入直接的資料狀態檢查,避免讓另一個模型的「通過」取代實際證據。來源:Microsoft

誰負責讓它下次仍然正常?

修掉一次問題,與持續支援一條整合路徑,是不同的工作。
如果產品承諾支援 Agent 協助整合,我會把具代表性的情境放進發布驗收,並明確指定:
誰維護情境?支援哪些配置?什麼結果需要阻止發布?Agent、SDK 或文件更新後,由誰判斷是否需要重驗?

這些承諾也有維護成本。
不必承諾所有組合,但需要說清楚哪些組合已驗證,以及哪些仍在範圍之外。

對我而言,Agent 的失敗可以成為有用的產品回饋。前提是我們能把它整理成具體、可重現、有人負責的改善工作。

回到最初的例子。
Agent 說:「我已經把問題解決了。」
在接受這份結果之前,我還想問:
你完成的是我們交付的任務,還是為了完成它,改變了我們沒有授權你改變的事情?

來源與範圍

本文引用官方報告,未在本次工作中執行 Scope 評估。案例為假設,調查與驗收安排為作者建議。

分享這篇