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—— 用于工具互操作性的模型上下文协议客户端/服务端支持。@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: 'What is an agent?',
});
编码智能体用户还可以使用 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 —— 用于结构化输出生成的模式验证库。
- 模型上下文协议 (MCP) ——
@ai-sdk/mcp为跨智能体生态系统的工具互操作性而实现的开放协议。 - LangChain / LlamaIndex —— 通过专用的适配器包作为可选的编排层提供支持。
9. 许可证
该项目在 Apache License 2.0 下分发。
- ✅ 可免费使用、修改和分发,包括用于商业和闭源产品。
- ✅ 包含来自贡献者的明确专利授权。
- ❌ 不提供任何担保;贡献者对因其使用而产生的损害不承担责任。
- ℹ️ 修改后的文件必须带有说明已进行更改的提示,并且在分发中必须保留许可证/版权声明。
10. 常见问题
问:我需要为每个模型提供商准备单独的 API 密钥吗?
答:不需要——默认情况下,AI SDK 使用单个模型字符串(例如 'anthropic/claude-opus-4.6')通过 Vercel AI Gateway 路由请求,不过你也可以安装特定的提供商包(如 @ai-sdk/anthropic)进行直接连接。
问:我可以获得结构化、经过模式验证的输出而不是原始文本吗?
答:可以——使用带有 Output.object(或 generateObject)的 generateText 和 Zod 模式,即可从模型获取类型化、已验证的 JSON。
问:AI SDK 支持哪些前端框架?
答:Next.js、React、Svelte、Vue 和 Angular 都有专用的 UI 钩子包,并且核心流式基元是与框架无关的。
问:如何构建一个可以运行代码或使用工具的智能体?
答:使用核心 ai 包中的 ToolLoopAgent,直接定义工具或通过 @ai-sdk/mcp 为模型上下文协议工具服务器定义工具;将其与 @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 功能的团队。