在 TypeScript 项目里接入多个模型 Provider,通常要同时处理不同 SDK 的调用签名、流式响应格式、工具调用回传和前端状态同步。AI SDK 的 README 给出的解法是一个 provider-agnostic 的 TypeScript 工具包:用统一 API 抽象模型调用,再通过 UI 模块把流式结果接到前端框架。
安装入口写得很直接:需要 Node.js 22+ 和 npm(或其他包管理器),然后 npm install ai。README 还建议在使用 Claude Code、Cursor 等编码 Agent 时,把 AI SDK skill 加到仓库:npx skills add vercel/ai。这说明项目把“人和编码 Agent 都用同一套 SDK 上下文”也纳入交付路径。
统一 Provider 架构是 AI SDK 的核心抽象。README 说明,它提供统一 API 与 OpenAI、Anthropic、Google 等模型 Provider 交互。默认情况下,AI SDK 使用 Vercel AI Gateway,传入模型字符串即可,例如 model: 'anthropic/claude-opus-4.6'、'openai/gpt-5.4' 或 'google/gemini-3-flash'。如果要直接连接 Provider,也可以安装对应 SDK 包:@ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google,然后在 generateText 中传入 provider 实例,例如 model: anthropic('claude-opus-4-6')。从工程角度看,这种双路径设计把“模型选择”收敛到 model 参数或 provider 实例,业务代码不必绑定某一家 SDK 的调用形态;但 Gateway 路径与直接 Provider 路径在鉴权、配额、可用模型和回退策略上的差异,README 没有展开,实际接入时需要分别验证。
文本生成之外,README 还给出了结构化数据路径:用 generateText 配合 Output.object 和 zod schema,把模型输出约束为对象。示例中的 schema 包含 recipe 的 name、ingredients、steps。这里真正值得关注的是,结构化输出没有引入另一套调用入口,而是复用 generateText,只是把 output 换成 Output.object。对需要把模型结果写进数据库或 UI 表单的场景,这能减少解析和校验的胶水代码。代价是 schema 定义和 zod 成为调用方依赖,复杂嵌套 schema 对模型遵循能力的要求需要实际测试。
Agent 构建是 README 单独展开的部分。示例使用 ToolLoopAgent,传入 model、system prompt 和 tools。一个示例把 openai.tools.localShell 作为工具,在 execute 中通过 Vercel Sandbox 运行命令并返回 stdout。另一个 imageGenerationAgent 示例使用 openai.tools.imageGeneration({ partialImages: 3 }),并用 InferAgentUIMessage 导出 Agent 消息类型。这里能确认的是:AI SDK 把工具循环封装在 Agent 对象中,工具由 Provider 提供或自定义,Agent 消息类型可被 TypeScript 推导。README 没有解释 ToolLoopAgent 内部的循环终止、工具错误处理、多轮工具调用顺序等实现细节,因此不能从 README 推断其内部架构。
UI 集成方面,README 说明 AI SDK UI 模块提供一组 hooks,用于构建聊天机器人和生成式 UI,这些 hooks 是框架无关的,可用于 Next.js、React、Svelte 和 Vue。安装示例是 npm install @ai-sdk/react。完整示例展示了 Next.js App Router 路径:在 route.ts 中调用 createAgentUIStreamResponse({ agent: imageGenerationAgent, messages }),在前端页面使用 useChat(),然后遍历 message.parts,对 part.type === 'text' 渲染文本,对 'tool-generateImage' 渲染自定义视图。自定义视图接收 UIToolInvocation,根据 invocation.state 是 input-available 还是 output-available 显示加载或图片。这个模式把工具调用状态直接暴露给 UI 组件,适合生成式 UI 中对工具结果做细粒度渲染。
从工程边界看,README 明确提到的运行时和框架包括 Next.js、React、Svelte、Vue、Angular、Node.js。UI hooks 声称框架无关,但 README 安装示例只给了 @ai-sdk/react,页面示例也是 React/Next.js。Svelte、Vue、Angular 的具体接入路径需要查对应文档,不能仅凭 README 断言。Provider 适配机制、Agent 相关能力实现、以及各前端框架集成的实际代码组织方式,也属于 README 未展开、需要进一步验证的部分。
对开发团队而言,AI SDK 的 README 展示的是一条 TypeScript 优先的工具链:模型调用、结构化输出、Agent 工具循环、流式 UI 都在同一套包和类型下。选型时可以先确认三件事:项目是否需要默认 Gateway 与直接 Provider 双路径;目标前端框架是否在 README 明确支持范围内并有对应接入示例;Agent 工具执行是否涉及本地 shell 等高风险操作,需要提前设计沙箱和权限边界。README 给出的模板和社区入口可以作为进一步验证的起点,但具体可用模型、计费方式和生产稳定性,仍要回到各 Provider 和 Gateway 的官方说明。