
本文是《读懂 Vercel AI SDK》系列的第 0 篇——总览。后面会逐个拆它的核心能力,这一篇先回答最基本的问题:它是什么、解决什么问题、由哪几块组成。
一、先说痛点:接大模型,烦在哪
如果你亲手对接过大模型,一定踩过这些坑:
- 每家API都不一样。OpenAI、Anthropic、Google、xAI……请求格式、字段名、流式返回的结构各不相同。想从 GPT 换成 Claude,业务代码可能要大改。
- 流式输出要自己解析。想要"打字机"效果,得手动处理 SSE、拼接分片、处理中断。
- 工具调用、结构化输出各写各的。让模型稳定吐一段 JSON、让它去调一个函数,每家的玩法都要单独适配。
- 前端还得再缝一遍。后端流出来的数据,前端要自己接、自己拼、自己管状态。
这些都是重复的、和业务无关的胶水代码。AI SDK 想干的事,就是把这层胶水一次性抹平。
二、AI SDK 是什么
一句话:
AI SDK 是 Vercel 出的一个开源 TypeScript 工具包,用一套统一的 API 帮你调用各家大模型、构建 AI 应用和 agent。
官方定义是:"帮助开发者用 React、Next.js、Vue、Svelte、Node.js 等构建 AI 应用和 agent 的 TypeScript 工具包。"
它的核心理念只有一个词:统一(unified)。不管你背后用哪家模型、做文本还是图片、跑单次对话还是多步 agent,面对的都是同一套 API。
最典型的体现——换模型只改一行:
// 今天用 OpenAI
const result = await generateText({ model: 'openai/gpt-5.2', prompt: '你好' });
// 明天想换 Claude?改这一处就行,其余业务代码一个字不动
const result = await generateText({ model: 'anthropic/claude-opus-4', prompt: '你好' });三、它由三大块组成
理解 AI SDK,记住这三个 surface(官方叫法)就够了:
🧠 AI SDK Core —— 和模型对话的那一层
后端/服务端用的核心 API。你要"让模型干活"的一切,都在这里:
- 生成文本、流式文本
- 生成结构化对象(稳定的 JSON)
- 工具调用(让模型去调你的函数)
- embedding、rerank、图片/语音/转写/视频等多模态
- 以及构建 agent 的底座
它屏蔽了各家 provider 的差异,对上只暴露 generateText、streamText、generateObject 这样一组干净的函数。
💬 AI SDK UI —— 前端接数据的那一层
框架无关的一组前端 hook,帮你几行代码就做出一个聊天界面:
useChat/useCompletion:自动处理请求、流式接收、消息状态- 消息持久化、生成式 UI(让模型的输出直接驱动组件渲染)
- 内置好了和 Core 之间的通信协议(就是本系列已经单独写过的 Stream Protocol)
支持 React、Vue、Svelte 等,后端甚至可以不是 JS——只要遵守它的流式协议就行。
🤖 AI SDK Harnesses —— 跑现成 agent 的那一层
较新的一块,提供统一 API 去运行已有的 agent harness(比如 Claude Code、Codex)。让你把这些"成品 agent"当成标准组件来编排。
一张图记住三者关系:
你的 AI 应用
┌─────────┴─────────┐
前端 后端
AI SDK UI ──协议──→ AI SDK Core ──→ 各家大模型
(useChat) (streamText) (OpenAI/Claude/...)
│
AI SDK Harnesses
(跑 Claude Code / Codex)四、它到底能做哪些事
把 Core 的能力铺开,你会发现它覆盖的场景相当全:
能力 | 一句话说明 |
文本生成 | 一次性出结果 or 流式打字机 |
结构化输出 | 让模型按 schema 稳定吐 JSON |
工具调用 | 模型自己决定调哪个函数、串成多步 |
MCP 集成 | 接入 Model Context Protocol 的外部工具 |
Embedding / Rerank | 做检索、做 RAG 的底层能力 |
多模态 | 图片、语音、转写、翻译、视频生成 |
Agents | 循环控制、工作流、记忆、工具审批 |
中间件 / 可观测性 | middleware、telemetry、测试工具 |
也就是说,从"最简单的问答"到"多步自主 agent",它用一套心智模型全接住了。
五、为什么是它:生态与规模
技术选型不能只看设计漂亮,还得看有没有人用。AI SDK 目前:
- 周下载量约 2000 万+
- GitHub 26k+ star、680+ 贡献者
- 支持 100+ 模型、16+ provider(OpenAI、Anthropic、Google、xAI 等)
- 官方支持 React / Next.js / Vue / Svelte / Node.js,Python 版在 beta
在 JS/TS 生态里,它基本是做 AI 应用的事实标准。生态成熟还带来一个隐性好处:遇到问题,大概率别人已经踩过、已经有答案。
六、这个系列接下来写什么
这一篇是全景地图,后面每一篇钻进一个具体能力,依然是"讲清原理 + 少量示意代码"的路子:
- 快速上手 —— 从零跑通第一个例子,再升级成流式聊天应用
- 文本生成与流式 ——
generateText/streamText,最核心的两个 API - 结构化输出 ——
generateObject/streamObject,让模型稳定产出 JSON - 工具调用与 MCP —— 让模型学会"调用外部能力"
- Agents —— 从单次调用到多步自主
- AI SDK UI —— 前端如何几行代码接上
- 流式协议 Stream Protocol —— (已发布)前后端如何"边想边说"
- AI SDK Harnesses —— 直接跑 Claude Code / Codex 等成品 agent
- 多模态与 Provider 抽象 —— 图片/语音/embedding、以及"一行换模型"背后的机制
小结
- 接大模型的痛点是重复的胶水代码:各家 API 不一、流式要自己拼、前端还要再缝一遍。
- AI SDK 用一个词解决它——统一:一套 API,换模型只改一行。
- 记住三大块:Core(和模型对话)、UI(前端接数据)、Harnesses(跑现成 agent)。
- 能力覆盖从问答到多步 agent,加上成熟的生态,是 TS 世界做 AI 应用的默认选择。
下一篇,我们不谈概念,直接动手:5 分钟跑通第一个例子。
参考:AI SDK 官方文档 · Introduction · AI SDK 官网
夜雨聆风