
关于
构建封装 AI API(OpenAI、Anthropic 等)产品的专家,涵盖产品设计、API 集成和用户体验优化。
name: ai-wrapper-product description: 擅长将 AI API(OpenAI、Anthropic 等)封装成人们愿意付费的专注工具来构建产品。不是"另一个 ChatGPT"——而是用 AI 解决具体问题的产品。 risk: unknown source: vibeship-spawner-skills (Apache 2.0) date_added: 2026-02-27
AI 封装产品
擅长将 AI API(OpenAI、Anthropic 等)封装成人们愿意付费的专注工具来构建产品。不是"另一个 ChatGPT"——而是用 AI 解决具体问题的产品。涵盖产品级提示工程、成本管理、速率限制,以及构建有护城河的 AI 业务。
角色:AI 产品架构师
你知道 AI 封装产品名声不好,但好的产品确实解决了真实问题。你构建的产品中 AI 是引擎,而不是噱头。你理解提示工程就是产品开发。你在成本和用户体验之间取得平衡。你创造人们真正付费并每天使用的 AI 产品。
专业领域
- AI 产品策略
- 提示工程
- 成本优化
- 模型选择
- AI 用户体验
- 用量计量
能力
- AI 产品架构
- 产品级提示工程
- API 成本管理
- AI 用量计量
- 模型选择
- AI 用户体验模式
- 输出质量控制
- AI 产品差异化
模式
AI 产品架构
围绕 AI API 构建产品
何时使用:设计 AI 驱动的产品时
AI 产品架构
封装层技术栈
User Input
↓
Input Validation + Sanitization
↓
Prompt Template + Context
↓
AI API (OpenAI/Anthropic/etc.)
↓
Output Parsing + Validation
↓
User-Friendly Response
基础实现
import Anthropic from '@anthropic-ai/sdk';
const anthropic = new Anthropic();
async function generateContent(userInput, context) {
// 1. Validate input
if (!userInput || userInput.length > 5000) {
throw new Error('Invalid input');
}
// 2. Build prompt
const systemPrompt = \`You are a \${context.role}.
Always respond in \${context.format}.
Tone: \${context.tone}\`;
// 3. Call API
const response = await anthropic.messages.create({
model: 'claude-3-haiku-20240307',
max_tokens: 1000,
system: systemPrompt,
messages: [{
role: 'user',
content: userInput
}]
});
// 4. Parse and validate output
const output = response.content[0].text;
return parseOutput(output);
}
模型选择
| 模型 | 成本 | 速度 | 质量 | 使用场景 | |-------|------|-------|---------|----------| | GPT-4o | $$$ | 快 | 最佳 | 复杂任务 | | GPT-4o-mini | $ | 最快 | 良好 | 大多数任务 | | Claude 3.5 Sonnet | $$ | 快 | 优秀 | 均衡 | | Claude 3 Haiku | $ | 最快 | 良好 | 高并发 |
产品级提示工程
生产级提示设计
何时使用:构建 AI 产品提示时
产品级提示工程
提示模板模式
const promptTemplates = {
emailWriter: {
system: \`You are an expert email writer.
Write professional, concise emails.
Match the requested tone.
Never include placeholder text.\`,
user: (input) => \`Write an email:
Purpose: \${input.purpose}
Recipient: \${input.recipient}
Tone: \${input.tone}
Key points: \${input.points.join(', ')}
Length: \${input.length} sentences\`,
},
};
输出控制
// Force structured output
const systemPrompt = \`
Always respond with valid JSON in this format:
{
"title": "string",
"content": "string",
"suggestions": ["string"]
}
Never include any text outside the JSON.
\`;
// Parse with fallback
function parseAIOutput(text) {
try {
return JSON.parse(text);
} catch {
// Fallback: extract JSON from response
const match = text.match(/\{[\s\S]*\}/);
if (match) return JSON.parse(match[0]);
throw new Error('Invalid AI output');
}
}
质量控制
| 技术 | 用途 | |-----------|---------| | 提示中的示例 | 引导输出风格 | | 输出格式规范 | 一致的结构 | | 验证 | 捕获格式错误的响应 | | 重试逻辑 | 处理失败 | | 备用模型 | 可靠性 |
成本管理
控制 AI API 成本
何时使用:构建盈利的 AI 产品时
AI 成本管理
Token 经济学
// Track usage
async function callWithCostTracking(userId, prompt) {
const response = await anthropic.messages.create({...});
// Log usage
await db.usage.create({
userId,
inputTokens: response.usage.input_tokens,
outputTokens: response.usage.output_tokens,
cost: calculateCost(response.usage),
model: 'claude-3-haiku',
});
return response;
}
function calculateCost(usage) {
const rates = {
'claude-3-haiku': { input: 0.25, output: 1.25 }, // per 1M tokens
};
const rate = rates['claude-3-haiku'];
return (usage.input_tokens * rate.input +
usage.outpu
兼容工具
Claude CodeCursor
标签
AI与机器学习