035 · 用 Boundary 重現失控的 Agent
講者說明為什麼把溫度歸零救不了失控的交易 agent,重點該放在記錄每個節點、讓失敗可以重播除錯。
原標題:Your Agent Failed in Prod. Good Luck Reproducing It. - Tisha Chawla & Susheem Koul, Microsoft
重點摘要
- 交易 agent 出包使用者要賣 1000 美元的股票,agent 卻把數字直接當股數塞進下單工具,以每股 190 美元賣出 1000 股,造成 19 萬美元的損失;但 API 回應正常、儀表板全綠,事後怎麼重跑都復現不出來。
- 溫度歸零救不了把 temperature 設成 0 只會讓模型用同一套邏輯錯誤方式再犯一次,而且貪婪解碼在硬體層本來就不是真正具決定性。
- 不確定性的四個成因取樣層面的決定性不等於系統層面的決定性、浮點數運算不滿足結合律、GPU 矩陣運算會受批次時機影響、MoE 架構的路由也會被同時間打進來的流量牽動。
- 該追的是狀態轉移與其要求模型每次吐出一模一樣的 token,不如讓系統穩定執行同一組狀態轉移,這才是真正該顧的事。
- Chronicle 的做法用 boundary annotation 包住工具呼叫、LLM 呼叫、RAG 檢索等節點,把整個 run 的輸入輸出與狀態凍結成一筆可重播的 trace。
- 兩種測試分開做deterministic node 可以直接拿凍結的輸入輸出當測試、不必呼叫模型;behavioral 的語氣與行為軌跡比較主觀,適合用 LLM as a judge 之類的做法。
時間軸
時碼點下去會跳到影片的那一段。
| 時碼 | 段落 | 重點 |
|---|---|---|
| 00:00 | 開場 | 講者 Tisha 與 Susheem 都在 Microsoft 負責串接真實正式環境後端的 agent,這場要談 agent 出包後最先失去的,就是重現問題的能力。 |
| 01:32 | 交易 agent 出包 | 使用者要求賣 1000 美元的股票,agent 卻把 1000 直接當股數塞進下單工具,以每股 190 美元的價格賣出 1000 股,造成 19 萬美元的損失。 |
| 02:30 | 溫度歸零沒用 | 把 temperature 設成 0 只會讓模型用同一套邏輯錯誤方式再犯一次,而且貪婪解碼在硬體層也不是真的具決定性。 |
| 03:24 | 不確定性的四個成因 | sampling determinism 不等於 system determinism、浮點數運算非結合律、GPU 矩陣運算受批次時機影響、MoE 路由受同時流量牽動。 |
| 04:44 | 追狀態轉移勝過追文字 | 讓系統穩定重現同一組狀態轉移,比要求模型每次吐出一模一樣的 token 更重要。 |
| 05:20 | 兩個常被混淆的詞 | bitwise determinism 是可控性,hosted API 本來就拿不到也不該要;replayability 才是可觀測性,是真正該顧的事。 |
| 06:20 | 記錄該放在邊界 | 很多 agent 步驟(本地檢索、記憶)根本不經過網路,記錄應該包在每個節點的輸入輸出邊界上,而不是網路層。 |
| 07:12 | 介紹 Chronicle | 用 boundary annotation 包住工具呼叫、LLM 呼叫、RAG 檢索等節點,把整個 run 的狀態凍結成一筆 trace。 |
| 09:58 | 從 trace 到 guardrail | 找出問題出在 LLM 產生了錯的工具呼叫後,因為無法控制 LLM,只能在工具層加上防護,再用同一筆 trace 當測試案例驗證。 |
| 12:14 | 兩種測試要分開 | deterministic node 可以凍結輸入輸出直接當測試,不必呼叫模型;behavioral 的語氣與軌跡比較主觀,適合用 LLM as a judge。 |
| 13:12 | 五個重點回顧 | 別再追 API 層的逐位元決定性、記錄每個 session 的關鍵變數、抓完整的輸入輸出而不只是 prompt、拿 replay 來除錯與再測試、保留生成時的隨機性。 |
值得記的話
名詞與人物
| Chronicle | 這場講者做的概念驗證工具,用 boundary annotation 記錄 agent 每個節點的輸入輸出,把整個 run 凍結成一筆可重播的 trace。 |
|---|---|
| boundary | Chronicle 的核心概念,是包在 agent 節點(工具呼叫、LLM 呼叫、RAG 檢索)外面的標註,負責記錄進出這個節點的所有內容。 |
| bitwise determinism | 逐位元決定性,指同一個輸入永遠得到一模一樣的輸出;講者認為這在 hosted LLM API 上做不到,也不該追求。 |
| replayability | 重播性,指把一次已經發生過的執行過程重建到足以除錯的程度,是講者主張真正該追求的目標。 |
| MoE | Mixture of Experts 架構,因為 expert 有容量上限,某個 token 會不會被選中,會受同時間打進來的其他流量影響,是不確定性的成因之一。 |
| LLM as a judge | 用另一個 LLM 來評估 agent 輸出是否恰當,講者提到這是做 behavioral testing(語氣、軌跡)時常用的做法。 |
延伸
- 講者在結尾提到現場的 QR code 可以連到 Chronicle 的原始碼與幾篇相關文章,但沒有在台上展開內容。
- 提到 Reddit 與 Hacker News 上有關於 temperature 為零仍非真正決定性的討論串,用來佐證論點,但沒有引用具體來源。
- 提到 boundary annotation 可以額外標記 model version 或程式碼版本等參數,但沒有展開實際設定方式。