KeyFrame內部研究專用

Your Agent Failed in Prod. Good Luck Reproducing It. - Tisha Chawla & Susheem Koul, Microsoft

AI Engineer·6月29日週一·14 min英文

三句話摘要

通過記錄與重放機制解決生產環境中 AI Agent 難以複現的問題。 AI Agent 的生產可靠性不在於追求不可能的位元確定性,而在於記錄完整的運行追蹤、提供調試能力,並將這些追蹤作為自動化測試基礎。 位元確定性是誤導目標:溫度設為零只是每次都選擇機率最高的 token,卻無法保證底層分數在不同運行間保持一致。浮點數運算順序敏感,GPU 上矩陣運算的時序改變會影響最終邏輯;批處理變異性意味著同一請求在不同伺服器負載下會被分組到不同的計算批次,進而影響輸出;專家混合模型(MoE)的路由亦有相同問題。

重點整理

重點
  • 1

    位元確定性是誤導目標:溫度設為零只是每次都選擇機率最高的 token,卻無法保證底層分數在不同運行間保持一致。浮點數運算順序敏感,GPU 上矩陣運算的時序改變會影響最終邏輯;批處理變異性意味著同一請求在不同伺服器負載下會被分組到不同的計算批次,進而影響輸出;專家混合模型(MoE)的路由亦有相同問題。

  • 2

    可重放性才是關鍵:核心需求不是讓模型每次返回相同 token,而是讓系統執行相同的狀態轉換。應記錄已發生的運行,提供足夠的細節使開發者能調試並測試,而非試圖凍結模型行為。

  • 3

    在邊界層而非網路層記錄:許多 Agent 邏輯(本地檢索、不經網路的工具、記憶體操作)不會觸及網路層,應在方法邊界記錄輸入輸出,捕捉每一步的含義而非封包內容。

  • 4

    用追蹤作為自動化測試基礎:記錄的追蹤提供確定性測試環境,可在其他節點打樁(stub)僅執行修改過的節點,免費且可重複運行,測試修復方案無需呼叫模型。

實用技巧與重點

乾貨
  • 經典故障案例:Agent 誤解 「賣 $1,000 股票」為「賣 1,000 股」,以每股 $190 造成 $190,000 虧損,但 API 返回 HTTP 200,儀表板完全綠燈
  • 溫度確定性誤區:在同一 GPU 上執行相同操作 1,000 次仍可能因硬體非決定性而得到數十種不同回應
  • Chronicle 框架核心:Boundary 註解、完整追蹤記錄(模型版本、採樣參數、輸入輸出)、回放模式、自動打樁與斷言
  • 兩種測試方式:確定性測試(針對護欄和工具呼叫的節點,使用凍結追蹤進行)、行為測試(使用 LLM as Judge 測評語氣和軌跡正確性)
  • 工具版本和元數據:需記錄模型版本、程式碼版本、RAG 段落等會影響運行結果的所有變數

結論

結論

AI Agent 的生產可靠性不在於追求不可能的位元確定性,而在於記錄完整的運行追蹤、提供調試能力,並將這些追蹤作為自動化測試基礎。

完整解析

詳細

生產環境中的 AI Agent 故障往往具有不可複現的特性——工程師拉取遙測日誌中的提示詞,用相同模型本地運行卻完美工作,多次重試仍無問題,但那一次失敗的運行已造成實際損害。講者以一個股票交易 Agent 為例:使用者要求「賣 $1,000 的 ACME 股票」,但 Agent 誤將金額數字 1,000 理解為股票數量,執行了賣出 1,000 股的操作。以每股 $190 計算,原本 $1,000 的交易變成了 $190,000 的災難。更糟的是,API 返回乾淨的 HTTP 200 回應,沒有任何例外或警報,所有監控儀表板仍然完全綠燈。

面對這類問題,工程師的直覺反應是將模型溫度設為零,期望貪心解碼能帶來確定性行為。但這完全是誤解。溫度為零只是保證每次都選擇機率最高的 token,卻根本無法修復破碎的推理路徑。更致命的是,位元確定性在硬體層級本來就不存在。浮點運算不滿足結合律,矩陣運算的時序改變會影響最終邏輯進而改變獲勝 token;更重要的是批處理變異性——同一請求會與其他在該毫秒內到達伺服器的請求分組,是否通過某個子網路完全取決於當時批入的流量。混合專家模型(MoE)的路由也面臨相同的容量限制問題。

因此,追求精確的文本輸出重現是一場必然失敗的戰爭。講者提出了根本性的轉變:不追求位元確定性(相同輸入必然相同輸出),而追求可重放性(能夠重建已發生過的運行以進行調試)。位元確定性是可控性(controllability),而可重放性是可觀測性(observability)。我們不需要模型完全確定性,只需要記錄它做了什麼、捕捉狀態快照。

為此,講者介紹了 Chronicle 框架。其核心概念是「邊界」(Boundary),一個包圍 Agent 工作流中任何節點的邊界框,無論是工具呼叫、LLM 呼叫或 RAG 檢索。只要是方法就可用 Boundary 註解標記,確保進入和離開該方法的所有內容都被記錄。同時可定義模型版本、程式碼版本等參數,使整個 Agent 運行的完整狀態被凍結並儲存為追蹤。

在實際應用中,Chronicle 不僅記錄失敗場景,還將這些記錄用作測試用例。一旦在工具層面添加了護欄修復邏輯,就可以用之前記錄的追蹤執行測試,在其他節點打樁而僅讓修改過的節點實際運行。這使得測試變得確定性、免費且可重複。講者強調了兩種測試方式的區別:確定性測試用於護欄和工具呼叫等決定性節點,行為測試則用 LLM as Judge 來評估 Agent 的語氣和決策軌跡。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Everything Goldman Sachs Taught Me About AI (In 10 minutes)
AI 技術英文8月24日

Everything Goldman Sachs Taught Me About AI (In 10 minutes)

Nate Herk

  • 驗證優於相信:看起來完整的AI輸出不等於正確答案,需在提示中要求模型重新檢查數字、引用來源,並對無把握的部分標記。
  • 區分AI與自動化:確定步驟且答案已知的任務用傳統自動化更便宜快速;只在需要判斷力、靈活性或處理複雜資訊時才用AI,兩者結合效果最佳。
  • 以問題驅動選型:先寫清楚「要解決的問題是什麼、成功的樣子是什麼」,再決定用什麼工具,許多失敗項目是從技術而非問題出發。
Mu: a self-hosted personal agent where the interface is an email address you can write to
AI 技術英文8月23日

Mu: a self-hosted personal agent where the interface is an email address you can write to

GitHub Awesome

  • Mu 是自主代理人系統,具有實際網址與獨立伺服器,用戶可透過多種方式與其互動——網頁應用、電子郵件或程式化介面。
  • 架構完整覆蓋日常工作流程的多個層面,整合郵件收發(SMTP/IMAP)、檔案管理、行事曆、新聞聚合、市場數據與搜尋功能於一個 Go 伺服器內。
  • 支援自帶模型與多種通訊協定,用戶可選擇不同的 AI 模型,並透過 MCP、HTTP API 或命令列工具整合到其他系統。