1. 專案概覽
AI SDK (vercel/ai) 是一個與供應商無關的 TypeScript 工具包,由 Vercel 和 Next.js 團隊建立,用於建構 AI 驅動的應用程式和代理 — 為開發者提供單一統一的 API,以跨數十個模型供應商和 UI 框架生成文字、結構化資料和代理工作流程。
2. 背景與定位
AI SDK 的建立是為了解決 AI 應用程式開發中反覆出現的痛點:每個模型供應商(OpenAI、Anthropic、Google 等數十家)都推出自己的 SDK、請求格式和串流協定,迫使開發者每次切換模型或新增備援供應商時都必須重寫整合程式碼。AI SDK 的核心使命是將這些差異抽象化到一個一致的介面背後 — generateText、streamText、generateObject 和代理基本元件無論背後是哪個模型,都以相同的方式運作。
與類似專案相比,AI SDK 的差異化優勢在於:
- 在客戶端與框架無關(Next.js、React、Svelte、Vue、Angular),同時在伺服器端與執行環境無關(Node.js、邊緣執行環境、無伺服器函式)。
- 內建閘道(Vercel AI Gateway),透過單一模型字串即可存取來自 16 個以上供應商的 100 多個模型,開始使用時無需安裝單獨的供應商套件。
- 將代理視為一等公民概念(
ToolLoopAgent),而非僅是對聊天補全的薄層包裝,原生支援工具呼叫、持久長時間執行的工作流程和沙箱化程式碼執行。 - 在 Core(伺服器/邊緣邏輯)、UI(客戶端掛鉤)和 RSC(串流 React Server Components)之間保持嚴格分離,讓團隊可以僅採用他們所需的層級。
3. 功能分類
-
🤖 模型供應商(40 多個套件)— 將統一 API 連接到特定 LLM 供應商和推論平台的轉接器。
@ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google— 三個最廣泛使用的供應商。@ai-sdk/xai、@ai-sdk/mistral、@ai-sdk/groq、@ai-sdk/cohere— 額外的主要託管模型供應商。@ai-sdk/amazon-bedrock、@ai-sdk/azure、@ai-sdk/google-vertex— 雲端平台原生模型存取。@ai-sdk/openai-compatible— 適用於任何與 OpenAI 相容之推論端點(自行託管或第三方)的通用轉接器。
-
🎙️ 語音與音訊(7 個套件)— 用於轉錄和語音生成的供應商。
@ai-sdk/deepgram、@ai-sdk/assemblyai、@ai-sdk/revai、@ai-sdk/gladia— 語音轉文字轉錄。@ai-sdk/elevenlabs、@ai-sdk/cartesia、@ai-sdk/lmnt、@ai-sdk/hume— 文字轉語音和語音合成。
-
🎨 影像與影片生成(6 個套件)— 用於視覺媒體生成的供應商。
@ai-sdk/replicate、@ai-sdk/fal、@ai-sdk/black-forest-labs— 影像生成和託管模型推論。@ai-sdk/luma、@ai-sdk/klingai、@ai-sdk/minimax— 影片和多模態生成。
-
🖼️ UI 框架整合(5 個套件)— 用於建構聊天和生成介面的客戶端掛鉤。
@ai-sdk/react、@ai-sdk/vue、@ai-sdk/svelte、@ai-sdk/angular— 框架專屬的聊天/補全掛鉤。@ai-sdk/rsc— 用於生成式 UI 的串流 React Server Components 支援。
-
🧩 代理基礎設施(10 多個套件)— 用於自主和持久代理的建構區塊。
ai(核心ToolLoopAgent)— SDK 核心的工具呼叫代理迴圈。@ai-sdk/mcp— 用於工具互通性的 Model Context Protocol 客戶端/伺服器支援。@ai-sdk/workflow、@ai-sdk/workflow-harness— 持久、長時間執行的代理工作流程。@ai-sdk/sandbox-vercel、@ai-sdk/sandbox-just-bash— 代理的沙箱化程式碼執行環境。@ai-sdk/harness-claude-code、@ai-sdk/harness-codex、@ai-sdk/harness-opencode— 與熱門編碼代理框架的整合。
-
🛠️ 開發者工具(6 個套件)— 用於建構和運作 AI SDK 應用程式的支援基礎設施。
@ai-sdk/gateway— 統一路由至 Vercel AI Gateway。@ai-sdk/otel— 用於可觀測性的 OpenTelemetry 檢測。@ai-sdk/devtools、@ai-sdk/tui— 除錯和終端機 UI 工具。@ai-sdk/provider、@ai-sdk/provider-utils— 新供應商套件所實作的低階合約。
4. 核心亮點
- 統一模型 API — 透過變更單一字串,即可在 OpenAI、Anthropic、Google 和其他 100 多個模型之間切換,無需重寫應用程式邏輯。
- 預設使用 Vercel AI Gateway — 開箱即用地存取主要供應商,無需安裝單獨的供應商 SDK,並提供集中化的速率限制和備援路由。
ToolLoopAgent基本元件 — 具備推理控制、工具呼叫和執行環境脈絡的一等公民代理抽象,而非手動的聊天補全迴圈。- 結構化輸出生成 —
generateObject/Output.object透過 Zod(或 Valibot)產生經結構描述驗證的 JSON,消除了脆弱的基於提示的 JSON 剖析。 - 持久工作流程與沙箱 — 可在重啟後存活的長時間執行代理工作流程,並搭配沙箱化執行環境,供需要安全執行程式碼的代理使用。
- 與框架無關的串流 UI — 相同的串流聊天/生成式 UI 掛鉤可在 Next.js、React、Svelte、Vue 和 Angular 中運作。
5. 依角色區分的使用案例
- 一般開發者 — 無論底層模型為何,都能在 Next.js/React/Vue/Svelte 應用程式中使用一致的 API 建構聊天機器人、副駕駛和生成式 UI 功能。
- DevOps/SRE — 使用
@ai-sdk/otel進行可觀測性,並使用 Vercel AI Gateway 跨模型供應商進行集中化速率限制、備援和成本追蹤。 - 資料/研究科學家 — 使用
generateObject和ToolLoopAgent建構結構化資料擷取和多步驟推理管線的原型,無需手動實作特定供應商的請求格式。 - 專案經理 — 透過其龐大的貢獻者基礎、每週下載量和活躍的發布頻率(AI SDK 6/7)作為長期維護訊號,評估專案的成熟度。
6. 開始使用
尋找所需內容 — 瀏覽供應商目錄和 API 參考,以找出符合您使用案例的供應商套件或基本元件(generateText、streamText、ToolLoopAgent)。
安裝與整合
npm install ai
npm install @ai-sdk/openai @ai-sdk/anthropic @ai-sdk/google
import { generateText } from 'ai';
const { text } = await generateText({
model: 'openai/gpt-5.4', // 透過 Vercel AI Gateway 路由
prompt: '什麼是代理?',
});
編碼代理使用者也可以使用 npx skills add vercel/ai 將 AI SDK 技能直接新增到儲存庫中。
貢獻 — 閱讀 CONTRIBUTING.md;專案現在優先處理高品質的議題(清楚的重現步驟、失敗的測試),而非未經請求的大型拉取請求,因此在開始實質工作之前,請先檢查議題追蹤器。
7. 專案結構
ai/
├── packages/ # 所有已發布的套件(核心、供應商、UI、代理)
│ ├── ai/ # 核心 SDK:generateText、streamText、ToolLoopAgent
│ ├── openai/ anthropic/ google/ ... # 模型供應商轉接器
│ ├── react/ vue/ svelte/ angular/ rsc/ # UI 框架整合
│ ├── mcp/ workflow/ sandbox-vercel/ # 代理基礎設施
│ └── provider/ provider-utils/ # 用於建構新供應商的合約
├── apps/
│ └── docs/ # ai-sdk.dev 文件網站
├── content/ # 文件原始內容
├── examples/ # 可執行的範例應用程式
├── skills/ # 編碼代理技能定義
├── tools/ # 內部建置/開發公用程式
└── CONTRIBUTING.md
packages/ 下的每個資料夾都是獨立版本控制的 npm 套件;供應商套件實作了 packages/provider 中定義的共享合約,因此它們可以插入相同的 generateText/streamText API。
8. 相關生態系
- Next.js — AI SDK 隨之建構且最常部署的框架。
- Vercel AI Gateway — 預設路由層,無需個別設定供應商即可存取 100 多個模型。
- Vercel Sandbox —
@ai-sdk/sandbox-vercel用於代理程式碼執行的安全執行環境。 - Zod / Valibot — 用於結構化輸出生成的結構描述驗證函式庫。
- Model Context Protocol (MCP) —
@ai-sdk/mcp為跨代理生態系的工具互通性所實作的開放協定。 - LangChain / LlamaIndex — 透過專屬轉接器套件支援為選用的編排層。
9. 授權條款
本專案在 Apache License 2.0 下發布。
- ✅ 可自由使用、修改和散布,包括用於商業和閉源產品。
- ✅ 包含來自貢獻者的明確專利授權。
- ❌ 不附帶任何保固;貢獻者對因其使用而產生的損害不承擔責任。
- ℹ️ 修改過的檔案必須帶有說明已進行變更的註記,且散布時必須保留授權/版權聲明。
10. 常見問題
問:我需要為每個模型供應商準備單獨的 API 金鑰嗎?
答:不需要 — AI SDK 預設透過 Vercel AI Gateway 使用單一模型字串(例如 'anthropic/claude-opus-4.6')路由請求,不過您也可以安裝特定的供應商套件(如 @ai-sdk/anthropic)來直接連接。
問:我可以取得結構化且經結構描述驗證的輸出,而非純文字嗎?
答:可以 — 使用帶有 Output.object(或 generateObject)的 generateText 和 Zod 結構描述,即可從模型取回具型別且經驗證的 JSON。
問:AI SDK 支援哪些前端框架?
答:Next.js、React、Svelte、Vue 和 Angular 都有專屬的 UI 掛鉤套件,且核心串流基本元件與框架無關。
問:我該如何建構可以執行程式碼或使用工具的代理?
答:使用核心 ai 套件中的 ToolLoopAgent,直接定義工具或透過 @ai-sdk/mcp 使用 Model Context Protocol 工具伺服器;並搭配 @ai-sdk/sandbox-vercel 進行沙箱化程式碼執行。
問:貢獻的最佳方式是什麼?
答:請先檢查 CONTRIBUTING.md — 維護者目前優先處理清楚的錯誤報告、最小重現步驟和失敗的測試,而非未經請求的完整實作拉取請求。
11. 快速連結
- 儲存庫:https://github.com/vercel/ai
- 官方文件:https://ai-sdk.dev/docs
- 貢獻指南:https://github.com/vercel/ai/blob/main/CONTRIBUTING.md
- 社群:https://vercel.community
12. 總結
AI SDK 為 TypeScript 開發者提供了一致的方式來呼叫任何主要 LLM、生成結構化資料,並建構使用工具的代理 — 並由龐大的供應商生態系、原生框架整合以及 Vercel 的閘道/沙箱基礎設施作為後盾。它最適合用於建構生產級 AI 功能、希望避免供應商鎖定、透過單行變更切換模型,並從簡單的聊天機器人擴展到持久、沙箱化的代理工作流程,而無需切換工具包的團隊。