vercel/ai 在 GitHub 上的官方页面标题是 AI SDK。仓库描述写明:The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents。这决定了它的定位不是单一模型 SDK,而是面向 TypeScript 开发者的 AI 应用工具链。

从公开元数据看,仓库 Topics 覆盖 openai、anthropic、gemini、llm、language-model、generative-ai、generative-ui、nextjs、react、svelte、typescript、vercel、vue 等方向。页面显示 26.9k stars、5.2k forks、8,578 commits,说明它已经是一个有较大社区规模的开源项目。README 明确要求 Node.js 22+,安装命令是 npm install ai。对于使用 Claude Code 或 Cursor 等编码 Agent 的开发者,README 推荐执行 npx skills add vercel/ai,把 AI SDK skill 加入仓库。

多模型接入是它的核心事实之一。README 把 Unified Provider Architecture 放在显眼位置:AI SDK 提供统一 API,用来对接 OpenAI、Anthropic、Google 等模型 Provider。默认情况下,它使用 Vercel AI Gateway,开发者只需传入模型字符串即可访问主要 Provider,例如 anthropic/claude-opus-4.6、openai/gpt-5.4、google/gemini-3-flash。另一种方式是直接连接 Provider 的 SDK 包,安装 @ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google 后,以 anthropic('claude-opus-4-6')、openai('gpt-5.4')、google('gemini-3-flash') 的形式调用。

这里的工程取舍可以分开看。走 Vercel AI Gateway 的模型字符串,接入成本低,适合快速做多模型切换和原型验证;直接安装 Provider SDK 包,则把 Provider 依赖显式放进项目,适合需要更细粒度配置或已有 Provider 账号体系的团队。README 没有展开两者的价格、延迟或治理差异,所以选型时应以实际账号、区域和合规要求为准。

Usage 部分展示了三层能力。最基础的是 generateText,用于文本生成。第二层是结构化数据:generateText 搭配 Output.object 和 zod schema,可以要求模型按给定 schema 产出对象,例如生成包含 name、ingredients、steps 的菜谱。第三层是 Agents:ToolLoopAgent 把模型、system prompt 和 tools 封装在一起。README 的示例中,sandboxAgent 使用 openai.tools.localShell,execute 函数调用 Vercel Sandbox 的 runCommand,并返回 stdout。这说明 Agent 构建在该工具链里不是外挂概念,而是和工具调用、工具执行循环放在同一套 API 中。

UI 集成是另一个明确目标。AI SDK UI 模块提供 hooks,用于构建聊天机器人和生成式用户界面。README 强调这些 hooks 是框架无关的,可用于 Next.js、React、Svelte 和 Vue,但需要安装对应框架包,例如 @ai-sdk/react。官方示例把 Agent 定义、路由和 UI 组件串起来:Agent 侧用 ToolLoopAgent 和 InferAgentUIMessage 导出消息类型;Next.js App Router 路由用 createAgentUIStreamResponse 返回响应;组件侧用 UIToolInvocation 接收工具调用,并根据 invocation.state 的 input-available、output-available 状态渲染生成中或输出结果;页面侧用 useChat 和 messages.parts 处理 text、tool-generateImage 等消息片段。

这些 API 也体现了 TypeScript 类型系统在工具链中的实际位置。InferAgentUIMessage 从 Agent 定义推导 UI 消息类型,UIToolInvocation 约束工具调用的状态和输出,useChat 可以接收具体消息类型。对于多模型应用,类型并不能消除 Provider 差异,但能把消息结构、工具调用和 UI 渲染之间的关系固定在编译期可见的接口上。

从开源案例角度看,vercel/ai 的取舍是清晰的:用统一 Provider 抽象降低多模型接入成本,用 Vercel AI Gateway 提供默认路径,用 Provider SDK 包保留直接接入路径;用 ToolLoopAgent 封装 Agent 循环和工具调用;用框架无关 hooks 加框架包适配 React、Next.js、Svelte、Vue。README 还提到 Templates、Vercel Community、Contribution Guidelines,以及项目由 Vercel 和 Next.js 团队成员创建并接受开源社区贡献。

选型时值得确认的点包括:Node.js 22+ 的运行环境、是否接受默认走 Vercel AI Gateway、是否需要直接使用 Provider SDK 包、目标前端框架是否有对应 UI 包,以及 Agent 工具是否涉及沙箱或外部执行环境。官方资料没有给出所有 Provider 的能力矩阵和性能对比,因此这些仍需要按项目实际验证。总体看,vercel/ai 覆盖了从模型调用、结构化输出、Agent 工具调用到生成式 UI 的 TypeScript 链路,适合作为多模型 AI 应用的候选工具链。