網誌
基礎

發佈日期 更新日期

Shouryamaan 及 Anshu

新興 AI 代理技術堆疊:模型、工具、記憶、執行環境和基礎設施

以 Markdown 閱讀

AI 代理技術堆疊把推理、工具、身份、記憶、執行、應用程式基礎設施和遙測分成不同層。實用的邊界不是供應商類別,而是一個系統的責任結束、另一個系統能夠開始驗證結果的位置。

小型應用程式可以在同一個程序中實作多層。只要授權、狀態、重試和限制仍有明確負責者,就沒有問題。

技術堆疊架構圖

flowchart TD
    U[User goal] --> A[Agent loop and model]
    A --> T[Tools and integrations]
    P[Identity and policy] --> T
    T --> R[Execution runtime]
    T --> B[Application backend]
    M[Memory and durable state] <--> A
    M <--> R
    R --> B
    A --> O[Telemetry and evaluations]
    T --> O
    R --> O
    B --> O

這不是請求管道。工具可以直接調用後端,工作流程可以在選擇工具前使用記憶,而遙測會觀察每一條分支。箭頭代表需要明確合約的依賴關係。

推理與協調

模型解讀目標並提出操作。代理迴圈決定模型收到哪些上下文和工具、執行選定的調用、記錄結果,並結束執行。模型選擇會影響行為,但逾時、步驟上限和終止條件由迴圈負責。

這些限制應放在提示之外。要求模型在十次調用後停止的指示,不如直接拒絕第十一次調用的執行環境可靠。

工具與整合

工具把代理的決策轉化為外部能力。工具應代表明確工作、驗證輸入、傳回穩定結果,並隱藏調用端不應看到的憑證。MCP 透過其工具規格提供標準的探索和調用合約。

協定不會決定 delete_workspace 是否應存在或要求批准,這仍然是應用程式和政策的決策。REST 轉 MCP 教學會解釋如何包裝現有 API,同時保留這條邊界。

身份與政策

身份回答「誰正在操作」,政策回答「這個身份現在可以做甚麼」。即使 MCP 閘道已先過濾工具,下游服務仍然必須執行最終授權規則。

這一層也負責在破壞性或財務相關效果發生前取得批准。工具調用後才批准,只能算審計紀錄,不能算關卡。

記憶與持久狀態

記憶讓之後的模型調用能夠取得相關資訊。持久狀態則記錄已完成和待完成的工作,以及外部效果。把兩者混在一起會造成復原問題,因為檢索到的上下文並不是操作帳本。

向量索引可以協助找回筆記,但不應成為付款已完成的唯一紀錄。代理記憶實用指南會區分工作上下文、語意記憶、事件歷史和工作流程狀態。

執行環境

執行環境負責運行迴圈和任何產生的程式碼。它可能提供佇列、檢查點、重試、沙箱、網絡控制和生命週期限制。持久執行與沙箱解決不同問題:前者能夠承受中斷,後者則限制存取範圍。

Temporal 對持久執行的說明是讓工作流程進度跨越失敗繼續保留。沙箱仍需另外限制程序、檔案系統、網絡、密鑰和時間。

應用程式基礎設施

代理建立的應用程式仍然需要 Postgres、物件儲存、身份驗證、託管、電郵、搜尋和外部 API。代理原生基礎設施會透過結構化配置和範圍受限的項目憑證開放這些資源。

Cohesivity 位於這一層。它讓程式開發代理透過一個項目上下文使用受支援的後端資源,同時把上游供應商憑證留在伺服器端。更完整的 AI 代理基礎設施指南會解釋這一層如何連接技術堆疊的其他部分。

遙測與評估

遙測應把用戶目標、模型輸出、工具決策、政策結果、執行過程和後端效果串成一條追蹤。評估則重播固定工作,在部署前找出行為變更。

OpenTelemetry 的 GenAI 語意慣例定義模型和代理活動的共通屬性。應用程式仍然需要穩定的租戶、代理、操作和政策識別碼,才能把這些活動連接到真實效果。

需要檢查的接合位置

三種接合位置最常反覆造成問題:

  • 代理迴圈和工具包裝層同時重試,令一個邏輯操作產生多次寫入。
  • 閘道過濾了某項工具,但下游 API 信任權限過廣的憑證,沒有針對資源授權。
  • 記憶層保存了操作摘要,卻沒有任何持久操作紀錄能夠說明該操作是否完成。

畫出一條工作流程,並為每項行為指定一個負責者。下方提示可以找出缺少或重複的責任歸屬,而且不會變更程式碼。