AI SDK

由 Next.js 团队打造的厂商无关 TypeScript 工具包,用统一 API 构建 AI 应用与智能体。

源仓库
vercel/ai
Star 数
★ 27k
最近更新
今天
License
NOASSERTION
主语言
TypeScript

30 秒速览

运行形态
代码库 / SDK开发框架
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Node.js 22+npm(或其他包管理器)Shell / 命令行网络访问本地文件系统
典型场景
已经使用 Next.js 或 React 的团队,需要在自己的应用里加入多轮对话式聊天界面。
不适合
  • 使用非 JavaScript/TypeScript 技术栈的项目
  • 希望开箱即得完整聊天产品、不想自己写集成代码的用户

这个 Agent 能做什么,适合哪些场景?

AI SDK 是一个厂商无关的 TypeScript 工具包,用于构建 AI 驱动的应用与智能体,可运行在 Next.js、React、Svelte、Vue、Angular 等前端框架以及 Node.js 等运行时中。它通过统一 API 接入 OpenAI、Anthropic、Google 等模型提供商,默认走 Vercel AI Gateway,也可以直连各家 SDK 包。核心能力包括 generateText 文本生成、基于 zod schema 的结构化数据输出、ToolLoopAgent 工具循环智能体,以及提供 useChat 等钩子的 AI SDK UI 模块。该库以 npm 包形式发布,需要 Node.js 22+,主要作为库被引入到你自己的代码或应用中。

调用 generateText 等函数,把模型字符串(如 'anthropic/claude-opus-5.5')或提供商标识(如 anthropic('claude-opus-5-5'))解析为具体模型并发起推理,返回 { text } 文本结果。借助 Output.object 与 zod schema,可以把模型输出约束为结构化对象,例如菜谱的字段与步骤数组。ToolLoopAgent 类接受 model、system 和 tools,驱动模型在工具循环中反复调用工具,示例中用 openai.tools.localShell 在沙箱中执行 shell 命令并回传 stdout。在前端,AI SDK UI 提供 useChat 等框架无关钩子管理消息与状态;服务端通过 createAgentUIStreamResponse 把智能体的 UI 流返回给前端;InferAgentUIMessage 与 UIToolInvocation 用于类型化消息与工具调用组件。

  1. 已经使用 Next.js 或 React 的团队,需要在自己的应用里加入多轮对话式聊天界面。
  2. 后端工程师需要从大模型拿到严格符合 zod schema 的 JSON,例如菜谱、表单或分类结果,而不是自由文本。
  3. 需要让模型调用外部工具(如执行 shell 命令、生成图片)并处理中间状态的开发者。
  4. 希望在同一套代码里切换 OpenAI、Anthropic、Google 等提供商的团队,避免被单一模型厂商锁定。
  5. 使用 Svelte 或 Vue 构建生成式 UI,需要一个框架无关的聊天状态钩子库的前端开发者。

如何安装或部署这个 Agent?

需要本地安装 Node.js 22+ 以及 npm 或其他包管理器。

安装核心包:

npm install ai

如需直连某家提供商而非使用 Vercel AI Gateway,安装对应 SDK 包:

npm install @ai-sdk/openai @ai-sdk/anthropic @ai-sdk/google

如需前端 UI 钩子,按所用框架安装:

npm install @ai-sdk/react

若使用 Claude Code、Cursor 等编码智能体,可添加 AI SDK skill:

npx skills add vercel/ai

如何使用这个 Agent?

最小可用调用,走默认的 Vercel AI Gateway:

import { generateText } from 'ai';

const { text } = await generateText({
  model: 'openai/gpt-6-astra', // use Vercel AI Gateway
  prompt: 'What is an agent?',
});

或者直连提供商 SDK:

import { anthropic } from '@ai-sdk/anthropic';

const result = await generateText({
  model: anthropic('claude-opus-5-5'), // or openai('gpt-6-astra'), google('gemini-3.8-flash'), etc.
  prompt: 'Hello!',
});

定义带工具的智能体并通过 Next.js App Router 以流式响应暴露:

import { imageGenerationAgent } from '@/agent/image-generation-agent';
import { createAgentUIStreamResponse } from 'ai';

export async function POST(req: Request) {
  const { messages } = await req.json();

  return createAgentUIStreamResponse({
    agent: imageGenerationAgent,
    messages,
  });
}

前端使用 useChat 消费消息与工具调用状态:

'use client';

import { useChat } from '@ai-sdk/react';

export default function Page() {
  const { messages, status, sendMessage } =
    useChat<ImageGenerationAgentMessage>();
  // render messages and tool parts
}

注意:源文档未说明各提供商的 API Key 具体配置方式与计费细节,实际接入前需查阅对应提供商文档。

这个 Agent 有哪些优点和局限?

优点
  • 统一的提供商抽象:同一段 generateText 代码可在 Vercel AI Gateway、@ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google 之间切换,只需改模型标识。
  • 与前端框架深度契合:AI SDK UI 提供框架无关的 useChat 钩子,官方示例覆盖 Next.js App Router 的服务端流式响应与工具调用渲染。
  • 结构化输出内建:Output.object 直接接受 zod schema,省去手写 JSON 解析与校验。
  • 智能体抽象清晰:ToolLoopAgent 把工具定义、循环执行与 UI 消息类型(InferAgentUIMessage、UIToolInvocation)串成一条链路。
  • 由 Vercel 与 Next.js 团队维护,提供官方模板与文档站点 ai-sdk.dev。
局限
  • 默认依赖 Vercel AI Gateway 才能“开箱即用”访问全部提供商,团队成员需评估是否接受这一默认路径。
  • 要求 Node.js 22+ 运行时,旧版本 Node 环境需要先升级。
  • 仓库许可证标注为 NOASSERTION,采用前需自行确认具体许可条款。
  • 示例中的模型标识(如 gpt-6-astra、claude-opus-5-5)随提供商更新而变,需要持续跟随文档调整。
  • 源文档未说明离线运行方式,模型调用本质上依赖网络与外部 API。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
AI SDK 当前 50 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 27k 今天 TypeScript OpenAI API · Claude API
Open Generative UI 44 · 缺口较多 命令行工具免费 + 模型费 ★ 3.6k 7 天前 TypeScript Claude API
Strands Agents 30 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 8.9k 今天 TypeScript OpenAI API · Claude API
MiniCode 50 · 缺口较多 命令行工具免费 + 模型费 ★ 1.1k 11 天前 TypeScript Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
50/ 100 五分制 2.5 / 5
信任安全 12/29
可靠稳定 9/14
适用触发 9/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

证据仅显示 Apache-2.0 许可、changeset 校验脚本对符号链接的防护(CWE-59)以及依赖版本锁定;未见针对 Agent 运行时的最小权限、用户确认、数据流透明或敏感数据处理说明,故这些项仅给 1。依赖安全因有明确版本锁定与 CI 校验给 2。回滚仅靠 changeset/版本机制间接体现,给 1。来源归属有 LICENSE 与 repository 字段,给 2。

可靠稳定9 / 14 · 3.2/5

package.json 脚本、engines 约束与 changeset 校验逻辑自洽,失败信息具体(如缺少 changeset、非法版本号),给 2;依赖可用性有 pnpm 锁定与 workspace 引用,给 2。但未执行验证,故不高于 2。

适用触发9 / 18 · 2.5/5

示例覆盖 WebSocket 聊天、结构化输出、Zod schema 等多场景,受众与场景给 2;但能力边界与触发精度缺乏面向 Agent 的显式声明,仅给 1。环境适配有 Node 版本约束,给 2。

规范维护10 / 18 · 2.8/5

仓库结构、changeset 版本管理与示例较完整,信息架构与命名稳定性给 2;安装说明在 package.json 中较薄,给 1;已知限制缺乏集中说明,给 1;维护责任因发布者未验证仅给 1;许可与版本变更给 2。

有效结果7 / 13 · 2.7/5

示例输出可直接复用,边际价值较高给 2;但成本收益缺乏量化基准,仅给 1。

证据核验3 / 8 · 1.9/5

有测试文件与 CI 校验脚本可追溯部分声明,但缺乏对 Agent 行为的端到端证据,claim 追溯与交叉印证仅给 1;事实与推断分离在文件中未明确标注,给 1。

风险与缓解建议
  • 发布者身份未经 FollowAgents 验证,维护责任与更新路径不明确。
  • 仓库为通用 AI SDK 框架,非专用 Agent 产品,Agent 相关能力边界与触发精度缺乏显式说明。
  • 未执行任何测试,所有评分基于静态源码,置信度低。
  • 许可证元数据为 NOASSERTION,需人工核对实际许可条款。
证据充分度:低 评估于 2026年10月20日 审查版本 b343f67c4930
查看完整评分方法 →

常见问题

使用 AI SDK 需要额外付费吗?
库本身是免费开源的 npm 包。默认通过 Vercel AI Gateway 调用模型,或直连 OpenAI、Anthropic、Google 等提供商,均需自备密钥并按调用量付费;源码未给出具体价格。
能否完全不用 Vercel AI Gateway?
可以。README 说明可安装 @ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google 等提供商包,并用 anthropic('claude-opus-5-5') 这类方式直连。
它支持哪些前端框架和运行时?
README 明确列出 Next.js、React、Svelte、Vue、Angular 以及 Node.js 运行时;UI 钩子被描述为框架无关。
数据会被发送到哪里?
提示词会发送到你选择的模型提供商(或默认的 Vercel AI Gateway)。源代码本身不承诺本地推理能力。
仓库的许可证是什么?
GitHub 将许可证标注为 NOASSERTION,未给出标准 SPDX 识别结果,商用前应查阅仓库中的许可文件确认。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents