SuperAPI AI 工具集

ai-sdk-core-v7

智能体与模型

查看项目

更新于 10-27 16:22

技能介绍

用途

ai-sdk-core-v7 是一个用于构建后端 AI 能力的技能,基于 Vercel AI SDK v7(ai 包)。它适用于实现 AI SDK v7 相关功能,或排查 AI 错误。该技能不覆盖 React 聊天界面,那部分由 ai-sdk-ui 负责。

主要能力

技能围绕以下核心 API 展开:

  • generateText / streamText:用于请求处理器和一次性 API 路由,系统风格提示词通过 instructions 提供。
  • 请求处理器中的工具循环:在 generateText / streamText 上使用 stopWhen: isStepCount(n),而非 maxSteps 或 stepCountIs。
  • ToolLoopAgent + generate() / stream():用于持久化智能体,而非手写循环或 new Agent()。
  • UI 流:使用来自 'ai' 的 createUIMessageStreamResponse 与 toUIMessageStream({ stream: result.stream }),用于新处理器以及专门的流/SDK 更新。

技能还包含若干原则:result.toUIMessageStreamResponse() 在 v7 中仍可用但已弃用,仅在任务与流或 SDK 无关时保留;工具结果必须可 JSON 序列化(不能有 Date);系统提示词放在 instructions 中;客户端消息不得包含 { role: 'system' },除非服务器完全信任该负载。

使用方式

技能假设:文件夹主版本跟踪 package.json 中安装的 ai 包,而非技能文件修订;需要 Node.js 22+、ESM;inputSchema 使用 Zod 4。

关键约束:不要凭记忆编写 AI SDK 代码。应在 node_modules/ai/docs/ 和 node_modules/ai/src/ 中检索已安装版本,否则查阅 https://ai-sdk.dev/docs(追加 .md)或 https://ai-sdk.dev/api/search-docs?q=。v6 遗留内容参考 https://ai-sdk.dev/docs/migration-guides/migration-guide-7-0。

必须(MUST):编写调用前阅读捆绑文档;客户端发送 UI 消息时使用 convertToModelMessages;拒绝不可信的 { role: 'system' } 消息,不要为客户端提供的聊天设置 allowSystemInMessages: true。

避免(AVOID):toDataStreamResponse / pipeDataStreamToResponse;stepCountIs / maxSteps / result.fullStream / 顶层 system:(改用 isStepCount、result.stream、instructions);猜测模型 ID。

适用场景

适用于后端 AI 开发,尤其是使用 Vercel AI SDK v7 实现文本生成、流式聊天、带工具的智能体循环等场景。与 ai-sdk-ui、fastify、next 互补。上游为 vercel/ai use-ai-sdk。

限制

不覆盖 React 聊天 UI。技能本身不提供收费、价格或平台信息。模板包括 generate-text-basic.ts、stream-text-chat.ts、agent-with-tools.ts。参考资料涵盖请求处理器(工具 + isStepCount、Fastify SSE、系统消息拒绝)。