Google 這週給 Genkit 加了一個中介軟體層——三個可程式設計的 hook 點(generation calls、model calls、tool execution),讓橫切關注點能插入到 agent loop 而不碰應用邏輯。形狀對寫過 Express 或 Connect 中介軟體的人很熟悉:元件按定義的執行順序堆疊,每個看到請求,可以修改它或短路它,然後把控制傳給鏈條下游。預置中介軟體隨發布:指數退避重試、自動模型 fallback、敏感工具呼叫 approval gate、檔案系統存取控制,以及用於動態指令注入的「skills」系統。Genkit 本身支援 TypeScript、Go 和 Dart,Python 即將到來。

攔截模型重要,因為它標準化了大多數 agent 團隊一直在手工搓的東西。模型生成輸出、執行工具、處理結果、持續直到完成——那就是 loop,中介軟體可以在每個階段 hook。Model-call 層的退避重試意味著瞬時 API 故障不會炸掉 agent 執行。模型 fallback 意味著主 API 速率限制命中時切到一個降級但功能性的備份模型,無需編排膠水。Tool-execution 層的 approval gate 意味著 agent 呼叫 `delete_database` 或轉帳之前會有人被傳呼——這是 builder 一直在自訂 dispatcher 裡特別處理的安全原語。檔案系統存取控制限制接觸檔案的工具的爆炸半徑。Skills 系統讓你能按呼叫注入上下文相關的指令,而不用重建 prompt 模板。

生態解讀:這是 Google agent 策略的應用層一面。據 Google 工程師 Michael Doyle 在發布裡說:Genkit 目標是「應用層 AI 特性整合」,而 Agent Development Kit(ADK)目標是「複雜的、獨立的、多 agent 系統」執行在專用基礎建設上。這個分裂落在 SDK-vs-平台 的標準問題上——你在現有 app 裡加 AI 特性時用 Genkit,你建構 agent 平台時用 ADK。中介軟體可組合性正是讓 Genkit 在第一種情況下運作的東西:重試、fallback、approval gate 和可觀測性 hook 是每個生產 agent 都被困擾的橫切關注點,把它們推到一個可 hook 的層是正確的架構選擇。與 LangChain callback、OpenAI Agents SDK hook 和 Anthropic SDK 中介軟體的對比留給讀者——InfoQ 的稿子沒做這些正面對比。

週一早上:如果你跑 Genkit,評估你自己一直在寫哪些預置中介軟體元件。特別是敏感工具呼叫的 approval gate——如果你的 agent 有任何可能花真錢、發訊息或修改共享狀態的工具,把 gate 插上。Developer UI 追蹤中介軟體執行,讓你除錯 stack 互動,這一點重要,因為執行順序 bug 是中介軟體 stack 崩潰的方式。如果你不在 Genkit 上而在 LangChain 或自訂 harness 上,三 hook 點分類(generation / model / tool)是可移植的設計詞彙——你的 callback 或攔截器應該明確打到這三層,其中工具層的 approval gate 是生產安全中被最低估的原語。