什么是develop-ai-functions-example?
做AI应用开发,最头疼的事情之一就是:换个Provider,不知道哪个函数支持、哪个不支持,只能一个个手动试。develop-ai-functions-example这个Skill就是专门解决这个问题的——它帮你在examples/ai-functions/src目录下快速创建、运行、修改各类AI SDK函数示例,覆盖从文本生成到图像、语音、嵌入向量的全链路验证。
核心功能
这个Skill管理的示例目录结构非常清晰,按AI SDK函数分类组织:
- generate-text / stream-text:非流式与流式文本生成,对应
generateText()和streamText() - generate-object / stream-object:结构化输出生成,配合Zod schema使用
- agent:
ToolLoopAgent的Agentic工作流示例 - embed / embed-many:单条和批量嵌入向量生成
- generate-image / generate-speech / transcribe:图像生成、文字转语音、音频转录
- rerank:文档重排序
- middleware / registry / telemetry:中间件、Provider注册表、OpenTelemetry集成
- complex:多组件组合示例,如Agent路由器
文件命名遵循{provider}-{feature}.ts规范,比如openai-tool-call.ts、google-vertex-anthropic-cache-control.ts,一眼就能看出是哪个Provider的哪个特性。
适用平台
develop-ai-functions-example完美适配主流AI编程助手,包括Cursor、GitHub Copilot、Claude Code、OpenAI Codex、Gemini Code Assist、文心快码、腾讯云CodeBuddy、华为云CodeArts等。把这个Skill加载进去,AI能精准理解你的示例目录结构、命名规范和模板套路,生成的代码直接可运行,不用再反复纠正格式问题。对于需要频繁切换Provider做兼容性验证的团队来说,这就是最强外挂。
实操代码示例
下面是几个核心模板,直接拿去用:
基础文本生成模板
import { openai } from '@ai-sdk/openai';
import { generateText } from 'ai';
import { run } from '../lib/run';
run(async () => {
const result = await generateText({
model: openai('gpt-4o'),
prompt: 'Your prompt here.',
});
console.log(result.text);
console.log('Token usage:', result.usage);
});
结构化输出模板(配合Zod)
import { openai } from '@ai-sdk/openai';
import { generateObject } from 'ai';
import { z } from 'zod';
import { run } from '../lib/run';
run(async () => {
const result = await generateObject({
model: openai('gpt-4o'),
schema: z.object({
name: z.string(),
items: z.array(z.string()),
}),
prompt: 'Generate a...',
});
console.log(JSON.stringify(result.object, null, 2));
});
运行示例只需要在examples/ai-functions目录下执行:
pnpm tsx src/generate-text/openai.ts
pnpm tsx src/agent/openai-generate.ts
优势分析
市面上很多AI SDK教程要么太零散、要么只覆盖单个Provider,develop-ai-functions-example的优势在于:
- 全函数覆盖:从最基础的
generateText到rerank、transcribe,一个目录全搞定 - 统一的run()封装:自动加载
.env环境变量、统一错误处理,不用每个示例重复写样板代码 - 可复用工具定义:
tools/目录里的weatherTool等可以直接import,不用重复造轮子 - 调试友好:
printFullStream提供带颜色的流式输出,tool call、reasoning、text分色显示,排查问题一目了然 - 测试夹具生成:
save-raw-chunks.ts可以把流式响应保存成测试fixture,方便做回归测试
应用场景
- 新Provider接入验证:接入Amazon Bedrock或Google Vertex时,用这套模板快速跑通所有支持的API,确认兼容性
- Bug复现:遇到某个Provider的奇怪行为,直接写一个最小复现示例,方便提issue或定位问题
- Provider特有参数演示:需要展示
providerOptions的用法时,按命名规范创建对应示例文件,团队成员一看就懂 - 多模态功能验证:图像生成、语音合成、音频转录这些功能,每次升级SDK版本都需要重新验证,有了统一示例目录,跑一遍就知道有没有回归
- 内部培训素材:新人入职,直接把这个示例库丢给他,比文档更直观
最佳实践
用这个Skill开发示例时,有几个工程化细节值得注意。每个示例只做一件事,不要把tool calling和streaming混在同一个文件里,拆开写更容易定位问题。使用真实的model ID,不要用占位符,确保示例可以直接运行,否则别人拿去用还要猜model名称。
环境变量统一放在.env文件里,run()封装会自动加载,不要在示例代码里硬编码API Key。对于复杂的示例,在关键逻辑处加注释说明为什么这么写,而不是写什么——代码本身已经说明了写什么。
复用tools/目录里的工具定义,避免每个示例都重新定义weatherTool这类通用工具。如果需要新的通用工具,先加到tools/目录,再在示例里import,保持示例文件的简洁。
想系统管理这类AI开发Skill,可以去Skill优仓看看,上面汇聚了大量类似的开发效率Skill,覆盖AI SDK集成、Provider适配、测试自动化等场景,免费下载使用,省去自己从零摸索的时间。








暂无评论内容