模型 API 統一之後,Agent 真正的難題轉向執行控制:API Key 該交給哪個 tool、敏感操作何時需要人類批准、長任務跨部署怎麼恢復、出問題時去哪裡找證據。AI SDK 7 對這一層給出了系統性的回答。
從模型 Adapter 到 Agent Runtime
AI SDK 每週有超過 1,600 萬次下載,是跨 provider 的 TypeScript SDK 標準層,Vercel 開源的 agent framework「eve」也建構在它之上——這本身就是一個訊號:當框架選擇站在 SDK 這層之上,而不是直接綁某個 provider,生態的重心就已經位移。第 7 版把更新集中在五個面向:開發 agent、執行 agent、整合任何 agent harness、觀測 agent,以及超越文字的語音與影片。五個面向排起來看,定位的轉移很明確:它不再只是模型 API 的包裝,而是 Agent Runtime 的共同介面。對產品團隊來說,這代表執行層的共通問題——權限、恢復、觀測——開始有標準答案,agent 程式碼不再必然綁死在某一家的迴圈裡。
控制面:推理、Tool Context 與審批
推理控制第一個被統一。新的 reasoning 選項在 generateText 與 streamText 上一行就映射到 provider 原生設定(例如 reasoning: ‘high’),不必再為每家模型維護一套參數。
Tool Context 處理的是權限粒度。Tool 越來越常由第三方獨立開發,需要 API Key 這類不由 LLM 產生的輸入;現在每個 tool 可以用 schema 宣告自己的 typed context,而只有那個 tool 拿得到。第三方 tool 從此讀不到整個 agent 的 context,這對把 tool 當產品經營的團隊是關鍵邊界。另外有一個 typed runtime context,可以在 prepareStep 與 tool approval 期間讀取和修改,用來跨步驟調整 prompt 或模型選擇;但方便不等於授權,機密仍應遵循最小權限。
審批有三種形態:特定 tool 的 user-approval、可自動核准或轉交人類的 per-tool approval function,以及 catch-all;三種都定義在 ToolLoopAgent、generateText 與 streamText 上,沿用同一組執行 API,不必為了審批另外換一套呼叫方式。更高風險的場景可以選擇啟用 HMAC 簽章的審批,執行前重新驗證 tool inputs 與 policies,讓核准無法被偽造。
執行面:耐久工作流、Timeout 與 Sandbox
@ai-sdk/workflow 的 WorkflowAgent 把執行變成耐久且可恢復:跨 process 重啟、部署、中斷與延遲核准都能續跑。要劃清楚的是,耐久恢復的是流程狀態,不是副作用;寄信、付款這類操作仍然需要自己的 idempotency 設計,否則恢復時可能重複執行。
Agent 卡住的方式有很多種:provider 開了 stream 就不再送 chunk、某個 tool 掛住、多步 run 超過總預算,所以單一 timeout 永遠不夠用。第 7 版把 timeout 升成一級選項,total、per-step、per-chunk、per-tool 四個層級,逾時以 TimeoutError 中止。SandboxSession 抽象則讓 tool 開發與 sandbox 選擇脫鉤,同一組 tool 可以搭配任何 sandbox provider,例如 Vercel Sandbox;脫鉤的好處在於同一組 tool 可以先在本機 sandbox 驗證,再搬到雲端 sandbox 跑 production,tool 本身不需要知道差別。
整合面:上傳、MCP Apps、TUI 與 Harness
頂層的 uploadFile 與 uploadSkill 把檔案與技能上傳一次,之後以 provider reference 重複使用,不必每輪重傳。MCP Apps 讓 MCP servers 把 tool 分成 model-visible 與 app-only 兩類,並在 sandboxed iframes 裡渲染 app UI——給模型看的與給人看的,終於可以分開;過去這類人機介面只能塞在聊天訊息裡,sandboxed iframe 給了它真正的承載面。
終端機場景有 @ai-sdk/tui:runAgentTUI 幾行程式碼就能互動執行 agent,reasoning、tools 與 markdown 都有支援。更大一步是實驗性的 HarnessAgent:單一 API 執行 Claude Code、Codex、Pi 等 agent harness,可設定 sandbox、instructions 與 skills,session 可暫停恢復。因為明確標示實驗性,介面仍有變動空間,採用前要預留調整成本。
觀測與多模態:生產的眼睛與耳朵
Telemetry 註冊一次就全域生效:OpenTelemetry(GenAI conventions)之外,Datadog、Langfuse、Sentry 等都有現成整合。Node.js 端另有 ai:telemetry diagnostics channel,model calls、tools、embeddings、reranking 都會發出結構化事件,訂閱一次就能轉成 traces——觀測不再是每個應用自己拼 callback。對同時跑多種模型、多種 tool 的 agent 來說,這代表瓶頸排查第一次有了統一的時間軸。
多模態兩項都明確標示實驗性。Realtime 支援瀏覽器 WebSocket sessions 與 server 端建立的 ephemeral tokens,provider 有 OpenAI、Google、xAI,React hook 直接回傳 UIMessage[];generateVideo 則有 fal、Google AI Studio、Google Vertex、Replicate 的實作。統一介面讓切換變容易,但媒體模型的能力與計價差異很大,上生產前仍要逐家確認限制。
Builder 的採用順序
遷移有工具幫忙:npx @ai-sdk/codemod v7 加上 migration skill,從 v6 升級的機械成本已經壓低。功能不必一次全上,合理的順序是:先把 approvals、timeout、telemetry 三件事上好,它們直接降低生產風險,也最容易回頭驗證——審批攔下了什麼、timeout 救了幾次卡死、哪個 tool 在 telemetry 裡最慢,都是可以直接量到的改善;長任務再引入 WorkflowAgent 的耐久執行;harness 整合與語音、影片這些實驗性能力,等穩定後再評估。AI SDK 7 的價值不在功能清單的長度,而在把 agent 從拼裝腳本推向有權限邊界、可恢復、可觀測的 runtime——那正是 agent 走向生產最缺的一塊基礎。
參考來源
本文由 AI 協助自上述來源整理,經人工審核後發布。
