一套 TypeScript SDK 跨所有 provider

Vercel AI SDK 是个给你「一套接口对接多家 LLM provider」的 TypeScript 工具包。你不必学每家厂商的 SDK、不必为换模型重写代码,而是用 generateTextstreamText 传入任意 provider 的模型,差异由 SDK 处理。它加上一等公民的流式、tool calling、结构化输出,以及 useChat 这样的 UI hook,框架支持横跨 React、Vue、Svelte、Next.js。截至 2026-06 有 24,899 星、发布不停,它是用 TypeScript 做 LLM 功能的默认方式。它的包元数据把许可标为 Apache License。

核心价值是 provider 独立,加一层薄、带类型的表面;它走的是轻 SDK 路线。

它做什么

主函数都小而可组合:generateText 做单次补全,streamText 做流式,generateObject 通过 Zod 做结构化、按 schema 校验的输出。tool calling 内建,模型能调用你的函数、你拿到带类型的结果。UI 那侧,useChat 管理一段流式对话,SDK 还能渲染 generative UI,让一个工具结果变成 React 组件。你加一个 provider 包(@ai-sdk/openai@ai-sdk/anthropic 等),换模型就改一个参数。

安装

npm install ai
npm install @ai-sdk/openai
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const { text } = await generateText({ model: openai('gpt-5'), prompt: 'Hello' });

UI 加框架包(@ai-sdk/react 等)。SDK 不要求 Vercel 托管或 Next.js;核心在任何 Node 或 edge 运行时都能跑。

跨大版本的破坏性变更

这是要提前规划的实际问题。SDK 迭代很快,跨大版本发过破坏性变更,随着成熟重命名回调、重塑 API。升级很少是无操作:回调名、agent API、选项结构在版本之间变过,而那个庞大的未决 issue 数,一部分反映了「用快速演进的版本支持众多 provider」的表面积。锁住你的版本,升级前读迁移指南、留出时间,尤其你依赖 tool calling 或 UI hook 这些行为变过的地方。

适合与不适合

用 TypeScript 做 LLM 功能、又想保持 provider 灵活、在意流式和 tool calling、或想要带类型的结构化输出而不手搓解析时,Vercel AI SDK 是对的默认。它轻、可组合、不绑 Vercel。

它的局限在边缘显现。它定位是轻 SDK,所以复杂的多步 agent 工作流和精巧的检索管线,比起为此而生的框架更靠你自己拼。provider 行为不完全统一:tool calling 和消息处理在比如 Google 和 Anthropic 之间差得够多,跨 provider 迁移需要测试。而快速发布节奏意味着版本动荡是成本的一部分。

vercel/ai 和替代品的对比

Vercel AI SDK各厂商 SDK重框架(LangChain.js)
接口一套统一 API每家一套框架抽象
换 provider改一个参数每家重写可配置,更重
流式与 UI一等公民 hook各异有,但没那么直接
分量轻 SDK每家轻
适合provider 灵活的 TS 应用固定单一厂商复杂编排

标出处的数字为截至 2026 年 6 月的 GitHub 数据。你永不换 provider 的话,直接用单一厂商的 SDK 最简单。像 LangChain.js 这样的重框架,为复杂 agent 和检索管线提供更深抽象,代价是分量。Vercel AI SDK 居中:provider 灵活又轻,这正是它成为 TypeScript LLM 应用常见默认的原因。

star 曲线

star 曲线随 TypeScript LLM 应用那波稳步上行,靠紧密的 Next.js 集成和「写一次、随意换模型」的吸引力助推。不停的发布节奏反映一个在大力活跃开发中的工具。

issue 区给你的预警

反复出现的主题都源于「快速支持众多 provider」。tool calling 和消息处理跨 provider 有差异,所以一家上能用的行为在另一家会坏,尤其在消息怎么合并、工具结果怎么序列化上。流式和 UI hook 在重叠 resume 这类边缘情形出过稳定性问题。用 Zod 做结构化输出撞过 provider 特有的坑。版本动荡意味着升级带破坏性变更。庞大的未决 issue 数与其说是红旗,不如说反映 SDK 的广度和节奏。

相关仓库

要和这个 SDK 配对的 React 聊天 UI,看 assistant-ui。要你会拿它构建的 agent 和应用,看 clineOpenHands。要给那些 agent 加的记忆,看 Mem0。想看什么在涨,见 LLM 工具每日榜每周报告

常见问题

Vercel AI SDK 是什么? 一个给你「一套接口对接多家 LLM provider」的 TypeScript 工具包,带流式、tool calling、结构化输出和 UI hook。你写一次,换模型只改一个参数,不必学每家厂商的 SDK。

不用 Vercel 或 Next.js 能用 Vercel AI SDK 吗? 能。核心 ai 包在任何 Node 或 edge 运行时都能跑,不要求 Vercel 托管。React hook 需要 React 但不需要 Next.js;只有部分服务端组件功能是 Next.js 专属。

Vercel AI SDK 还是 LangChain,该用哪个? Vercel AI SDK 是轻、provider 灵活的 SDK,适合用 TypeScript 快速做 LLM 功能。LangChain 为复杂 agent 和检索编排提供更重的抽象。多数应用功能用 AI SDK,需要深度编排时用更重的框架。

跨版本升级安全吗? 不是自动安全。SDK 跨大版本发过破坏性变更,重命名回调、重塑 API。锁住版本、升级前读迁移指南,尤其你依赖 tool calling 或 UI hook 时。

tool calling 在各 provider 上表现一样吗? 不完全。消息合并和工具结果处理在 provider 之间有差异,所以一家上能用的工具配置,换一家可能要调。换 provider 时测一下 tool calling。