
const result await generateText({ model: anthropic/claude-opus-4.6, prompt: Hello!, });import { anthropic } from ai-sdk/anthropic; const result await generateText({ model: anthropic(claude-opus-4-6), prompt: Hello!, });这两段代码在 AI SDK 的 README 中并列出现调用函数相同差别只在model参数一个是字符串anthropic/claude-opus-4.6一个是 Provider 包导出的函数调用结果anthropic(claude-opus-4-6)。README 把前者标注为「use Vercel AI Gateway」后者标注为直连 Provider SDK。理解这两条路径的分工基本就理解了这个库在多 Provider 场景下的接入形态。运行前提与安装入口README 明确给出的环境要求是 Node.js 22 与 npm或其他包管理器。安装命令只有一条npm install ai另外 README 专门提到如果使用 Claude Code、Cursor 这类编码 agent建议把 AI SDK 的 skill 加入仓库npx skills add vercel/ai这一条与运行时无关属于给编码 agent 补充项目上下文的做法。README 没有展开该 skill 的具体内容实际效果需要自行确认。两条接入路径的边界第一条路径是默认路径。README 的表述是AI SDK 默认使用 Vercel AI Gateway从而「out of the box」获得所有主要 Provider 的访问能力调用时只传一个模型字符串即可例如anthropic/claude-opus-4.6、openai/gpt-5.4、google/gemini-3-flash。第二条路径是直连。需要额外安装 Provider 包npm install ai-sdk/openai ai-sdk/anthropic ai-sdk/google然后从对应包导入 Provider 函数把anthropic(claude-opus-4-6)这样的结果传给model。README 提到支持的 Provider 包括 OpenAI、Anthropic、Google并注明「and more」指向 providers 文档页但 README 本身没有列出完整清单。从工程角度看这两条路径的差异不在于调用函数而在于请求链路和凭据归属字符串路径下模型路由与访问由 Gateway 承担直连路径下各家 API 的凭据与配置由项目自己管理。README 没有说明两者在计费、限流、故障转移或超时行为上的区别这些属于需要在实际环境中验证的部分不能从 README 直接推出。结构化输出与类型约束README 给出了Output.object的用法配合 zod schema 使用import { generateText, Output } from ai; import { z } from zod; const { output } await generateText({ model: openai/gpt-5.4, output: Output.object({ schema: z.object({ /* ... */ }), }), prompt: Generate a lasagna recipe., });注意这里返回值从text变成了output。这是 README 中唯一展示的结构化输出示例且绑定在generateText上。其他函数是否同样接受output参数README 没有说明需要查 API Reference。Agent 与工具调用README 中 Agent 的载体是ToolLoopAgent构造参数包含model、system和tools三部分。两个工具示例值得注意沙箱示例使用openai.tools.localShell在execute中把命令交给 Vercel Sandbox 执行并取回 stdout图像生成示例使用openai.tools.imageGeneration参数为partialImages: 3。这两个工具都挂在openai.tools命名空间下即工具能力与 Provider 绑定而不是跨 Provider 的通用工具。README 没有说明其他 Provider 是否提供对等工具这一点在选型时需要按 Provider 逐个确认。UI 层的接入形式README 把 UI 能力单独列为 AI SDK UI 模块核心是 hooks。README 明确说明这些 hooks 是 framework agnostic可用于 Next.js、React、Svelte 和 Vue并按框架分别安装例如npm install ai-sdk/react。Next.js App Router 的接入由一个 route handler 承接export async function POST(req: Request) { const { messages } await req.json(); return createAgentUIStreamResponse({ agent: imageGenerationAgent, messages, }); }前端用useChat消费消息返回messages、status、sendMessage。渲染时按message.parts的part.type分支文本走text工具结果走tool-generateImage之类的前缀形式并把part作为invocation传给工具视图组件。工具视图内部按invocation.state区分状态README 展示的是input-available与output-available两个分支分别渲染加载态和图片结果。类型串联依赖两个导出InferAgentUIMessagetypeof imageGenerationAgent从 agent 定义推导出前端消息类型UIToolInvocationReturnTypetypeof openai.tools.imageGeneration推导出工具调用类型。这条链路把 agent、路由、组件和 hook 的类型连成一体是 README 中信息密度最高的一段。落地时需要自行确认的部分README 属于入口文档以下几点没有覆盖但会影响实际项目错误与流式中断useChat的status取值只出现ready其余状态未列出前端交互需要自行查文档补全。Provider 能力矩阵工具调用、结构化输出、图像生成在哪些模型上可用README 未给出对照。Gateway 与直连的运维差异凭据轮换、限流、可观测性在两条路径下的表现需要实测。框架覆盖范围README 标题层面列出了 Angular但 UI hooks 段落只点名 Next.js、React、Svelte、VueAngular 的 UI 层接入方式未在 README 中说明。工程判断对 TypeScript 项目而言这个库的接入决策不适合简化成「支不支持某家 Provider」因为 README 已经表明 Provider 是可替换的。真正需要先定的三件事是模型访问走 Gateway 还是直连、目标模型对结构化输出与工具调用的支持程度、以及 UI 层 hooks 与当前框架的匹配度。前两项决定后端调用形态第三项决定前端改造量。README 同时提示了 templates 与 Vercel Community 两个入口前者适合快速起项目后者用于提问与交流。在把任何一条路径写进生产代码之前按上面四点做一轮验证比直接照搬示例更稳妥。