关于 ai-engineer
ai-engineer 面向构建生产级 LLM 应用的开发者,涵盖从 RAG 聊天机器人到多 Agent 系统。内容涉及检索设计、应用模式,以及监控和故障回退等生产运维。
主要功能
- 01RAG 架构与检索设计
- 02LLM 应用和 Agent 模式
- 03多模型路由
- 04生产监控与成本控制
- 05安全防护与故障回退
适用场景
- 01设计基于文档的客服聊天机器人
- 02构建带重排的 RAG 流水线
- 03创建使用工具的工作流或多 Agent 系统
- 04为 LLM 应用进行生产部署准备
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill ai-engineer安装后在 Claude Code 中输入/ai-engineer确认已加载。
附带文件.claude-plugin/plugin.json
详细介绍
AI Engineer
擅长构建可用于生产环境的大模型应用,从简单的聊天机器人到复杂的多 Agent 系统。专注于 RAG 架构、向量数据库、提示词管理和企业级 AI 部署。
快速开始
User: "Build a customer support chatbot with our product documentation"
AI Engineer:
1. Design RAG architecture (chunking, embedding, retrieval)
2. Set up vector database (Pinecone/Weaviate/Chroma)
3. Implement retrieval pipeline with reranking
4. Build conversation management with context
5. Add guardrails and fallback handling
6. Deploy with monitoring and observability
结果:几天而非几周,即可打造可用于生产环境的 AI 聊天机器人
核心能力
1. RAG 系统设计
| 组件 | 实现方式 | 最佳实践 |
|---|---|---|
| 分块 | 语义、基于 token、分层 | 512-1024 个 token,重叠率 10-20% |
| 嵌入 | OpenAI、Cohere、本地模型 | 根据领域选择匹配的模型 |
| 向量数据库 | Pinecone、Weaviate、Chroma、Qdrant | 按使用场景建立索引 |
| 检索 | 稠密、稀疏、混合 | 从混合检索开始,再进行调优 |
| 重排序 | Cross-encoder、Cohere Rerank | 始终对 top-k 结果进行重排序 |
2. 大模型应用模式
- 带记忆和上下文管理的聊天
- 使用工具的 Agent 工作流
- 多模型编排(路由器 + 专家模型)
- 结构化输出生成(JSON、XML)
- 带错误处理的流式响应
3. 生产运维
- Token 用量跟踪和成本优化
- 延迟监控和缓存策略
- 提示词版本的 A/B 测试
- 降级链和优雅降级
- 安全(提示词注入、PII 处理)
架构模式
基本 RAG 流程
// Simple RAG implementation
async function ragQuery(query: string): Promise<string> {
// 1. Embed the query
const queryEmbedding = await embed(query);
// 2. Retrieve relevant chunks
const chunks = await vectorDb.query({
vector: queryEmbedding,
topK: 10,
includeMetadata: true
});
// 3. Rerank for relevance
const reranked = await reranker.rank(query, chunks);
const topChunks = reranked.slice(0, 5);
// 4. Generate response with context
const response = await llm.chat({
system: SYSTEM_PROMPT,
messages: [
{ role: 'user', content: buildPrompt(query, topChunks) }
]
});
return response.content;
}
Agent 架构
// Agentic loop with tool use
interface Agent {
systemPrompt: string;
tools: Tool[];
maxIterations: number;
}
async function runAgent(agent: Agent, task: string): Promise<string> {
const messages: Message[] = [];
let iterations = 0;
while (iterations < agent.maxIterations) {
const response = await llm.chat({
system: agent.systemPrompt,
messages: [...messages, { role: 'user', content: task }],
tools: agent.tools
});
if (!response.toolCalls) {
return response.content; // Final answer
}
// Execute tools and continue
const toolResults = await executeTools(response.toolCalls);
messages.push({ role: 'assistant', content: response });
messages.push({ role: 'tool', content: toolResults });
iterations++;
}
throw new Error('Max iterations exceeded');
}
多模型路由器
// Route queries to appropriate models
const MODEL_ROUTER = {
simple: 'claude-3-haiku', // Fast, cheap
moderate: 'claude-3-sonnet', // Balanced
complex: 'claude-3-opus', // Best quality
};
function routeQuery(query: string, context: any): ModelId {
// Classify complexity
if (isSimpleQuery(query)) return MODEL_ROUTER.simple;
if (requiresReasoning(query, context)) return MODEL_ROUTER.complex;
return MODEL_ROUTER.moderate;
}
实施检查清单
RAG 系统
- 文档摄取流程
- 分块策略(优先采用语义分块)
- 嵌入模型选择
- 向量数据库设置
- 使用混合搜索进行检索
- 重排序层
- 引用/来源跟踪
- 评估指标(相关性、忠实度)
生产就绪
- 错误处理和重试
- 速率限制
- Token 跟踪
- 成本监控
- 延迟指标
- 缓存层
- 降级响应
- PII 过滤
- 提示词注入防护
可观测性
- 请求日志记录
- 响应质量评分
- 用户反馈收集
- A/B 测试框架
- 漂移检测
- 告警阈值
反模式
反模式:什么都用 RAG
表现:对每个查询都使用 RAG
问题:不必要时会增加延迟、成本和复杂性
改进:对查询进行分类,仅在需要上下文时使用 RAG
反模式:按字符分块
表现:使用 text.slice(0, 1000) 进行分块
问题:破坏语义,检索效果差
改进:采用遵循文档结构的语义分块
反模式:不做重排序
表现:将原始向量相似度作为最终排名
问题:嵌入相似度不等于与查询的相关性
改进:始终添加 cross-encoder 重排序
反模式:上下文不设限
表现:将检索到的所有分块都塞进提示词
问题:削弱相关性、浪费 token、使模型困惑
改进:重排序后选取排名前 3-5 的分块,并动态选择
反模式:没有防护措施
表现:将用户输入直接传给大模型
问题:提示词注入、有害输出、偏离主题的响应
改进:验证输入、过滤输出、设置主题防护
技术栈
向量数据库
| 数据库 | 最适用场景 | 备注 |
|---|---|---|
| Pinecone | 生产环境、大规模场景 | 托管式、快速 |
| Weaviate | 混合搜索 | GraphQL、模块 |
| Chroma | 开发、本地使用 | 嵌入式、简单 |
| Qdrant | 可自托管、过滤 | Rust、高性能 |
| pgvector | 现有的 Postgres | 易于集成 |
大模型框架
| 框架 | 最适用场景 | 备注 |
|---|---|---|
| LangChain | 原型开发 | 集成丰富 |
| LlamaIndex | 专注 RAG | 文档处理 |
| Vercel AI SDK | 流式传输、React | 适用于边缘环境 |
| Anthropic SDK | 直接调用 API | 完全掌控 |
嵌入模型
| 模型 | 维度 | 备注 |
|---|---|---|
| text-embedding-3-large | 3072 | 质量最佳 |
| text-embedding-3-small | 1536 | 性价比高 |
| voyage-2 | 1024 | 代码、技术内容 |
| bge-large | 1024 | 开源 |
适用场景
适用于:
- 构建聊天机器人和对话式 AI
- 实现 RAG 系统
- 创建配备工具的 AI Agent
- 设计多模型架构
- 部署生产级 AI 系统
不适用于:
- 提示词优化(使用 prompt-engineer)
- ML 模型训练(使用 ml-engineer)
- 数据管道(使用 data-pipeline-engineer)
- 通用后端开发(使用 backend-architect)
核心洞见:生产级 AI 系统需要的不只是优秀的提示词,还需要可靠的检索、智能路由、全面的监控以及优雅的故障处理。
搭配使用:prompt-engineer(优化) | chatbot-analytics(监控) | backend-architect(基础设施)
评论
支持 Markdown