AI 代理基礎設施是一組讓模型能在真實系統上完成工作的機制,包括代理迴圈、工具、呼叫端身分、權限、持久狀態、程式碼執行、應用程式後端與遙測。模型缺少這些部分仍能規劃,卻無法可靠地執行工作。
當每一層只負責一項工作,整個技術堆疊會更容易理解。如果兩層同時重試寫入、儲存相同狀態或決定授權,失敗就很難重現。
代理技術堆疊的七個部分
模型與代理迴圈
模型提出下一個操作。代理迴圈提供上下文、開放工具、記錄結果,並決定何時結束執行。框架可以協助實作迴圈,但執行環境仍需要明確限制時間、工具呼叫次數與支出。
這項區分很重要,因為更換模型不該暗中替換權限規則或復原行為。這些控制應放在提示之外。
工具與整合
工具把代理迴圈連接到資料庫、API、檔案、瀏覽器與內部服務。實用的工具會清楚描述一項工作、驗證輸入、回傳穩定結果,並提供呼叫端能採取行動的錯誤。MCP 工具規格將探索和呼叫方式標準化,但符合規格的 MCP 伺服器仍可能包含含糊或不安全的工具。
真正的設計工作落在工具邊界。設計讓代理能可靠使用的 MCP 工具指南說明名稱、結構描述和結果如何影響工具選擇。
身分與政策
每個代理工作階段都需要一個能由下游服務授權的身分。工具說明可能聲稱某項操作是唯讀,但規則必須由擁有資料的服務執行。共用管理員金鑰會失去責任歸屬,也會擴大單一密鑰外洩的影響範圍。
OWASP 的 Excessive Agency 指南建議限制擴充功能、權限和自主程度。實務上,這代表使用範圍狹窄的憑證、在高影響操作前要求核准,並提供另一種停止或撤銷執行中代理的方法。
狀態與記憶
狀態記錄工作流程已完成的操作;記憶則提供可能有助於後續決策的資訊。兩者有所重疊,卻不能互相取代。訂單 ID 和付款結果屬於持久狀態;可能有助於回答問題的檢索段落則屬於上下文或記憶。
Postgres 通常足以同時處理結構化狀態和語意檢索。代理記憶中的 Postgres 與向量資料庫比較說明何時才需要獨立的向量服務。
持久執行與沙箱
持久執行能在當機後接續工作流程,而不重複已完成的副作用。沙箱則限制不受信任的程式碼在執行期間能存取什麼。兩者不能互相取代:沙箱可以隔離重複付款,持久工作流程也可能可靠地接續惡意程式碼。
Temporal 的持久執行模型會保存工作流程進度,並在失敗後重播確定性程式碼。程式碼沙箱則需要限制檔案系統、程序、網路、密鑰和存續時間。正式環境代理檢查清單把這兩種控制整合到同一條發布流程中。
應用程式後端
應用程式仍需要資料庫、身分驗證、物件儲存、佇列、託管與外部 API。面向代理的後端會再加入結構化佈建和範圍受限的憑證,讓程式開發代理不用把供應商密鑰放進產生的程式碼,也能建立和操作這些資源。
Cohesivity 位於這一層。代理可以建立隔離的租戶、請求應用程式需要的後端資源,之後再把擁有權交給人。它不會取代模型,也不會決定應用程式的業務規則。
遙測與評估
遙測記錄一次執行期間發生了什麼;評估則確認一組固定工作的行為是否仍可接受。有效的追蹤會串起使用者請求、模型呼叫、工具呼叫、政策決策與下游工作。有效的評估會在模型、提示、工具或政策變更後,重新執行具代表性的成功與失敗案例。
OpenTelemetry 的 GenAI 慣例為模型和代理 span 提供共通欄位。它提供一套詞彙,但仍由應用程式決定哪些識別碼與結果適合且安全地記錄。
一條正式環境工作流程所需的最小技術堆疊
| 關注事項 | 最小實作 | 可避免的失敗 |
|---|---|---|
| 工具存取 | 有型別、以工作為單位且結果範圍受限的工具 | 選錯工具和無法使用的輸出 |
| 身分 | 每個代理或工作階段各有一組範圍受限的憑證 | 過度廣泛的存取權和模糊的責任歸屬 |
| 狀態 | 持久的操作與檢查點紀錄 | 進度遺失和重複副作用 |
| 執行 | 時間、工具呼叫、支出與網路限制 | 失控迴圈和不受控的程式碼 |
| 復原 | 等冪機制加上結果核對 | 在結果不明時重複寫入 |
| 遙測 | 串連模型、工具和後端的單一追蹤 | 無法重建的失敗 |
| 評估 | 固定工作和驗收標準 | 被成功展示掩蓋的回歸 |
你不需要為每一列選擇不同供應商,但每項行為都必須有一個明確負責者。
選擇供應商前,先畫出一條工作流程
選一條最怕重複寫入或用錯憑證的工作流程,從使用者請求一路畫到最後的後端效果。標出模型、工具、身分、狀態紀錄、執行邊界、核准與追蹤各自出現的位置。
缺少哪些標記,比通用的技術堆疊圖更有用。下方提示會要求程式開發代理產生這張圖,而且不會變更專案。