mcpField
A
ai-engineer

ai-engineer

github.com/curiositech开发258197 次安装1 天前更新
代码仓库

关于 ai-engineer

ai-engineer 面向构建生产级 LLM 应用的开发者,涵盖从 RAG 聊天机器人到多 Agent 系统。内容涉及检索设计、应用模式,以及监控和故障回退等生产运维。

主要功能

  1. 01RAG 架构与检索设计
  2. 02LLM 应用和 Agent 模式
  3. 03多模型路由
  4. 04生产监控与成本控制
  5. 05安全防护与故障回退

适用场景

  1. 01设计基于文档的客服聊天机器人
  2. 02构建带重排的 RAG 流水线
  3. 03创建使用工具的工作流或多 Agent 系统
  4. 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-large3072质量最佳
text-embedding-3-small1536性价比高
voyage-21024代码、技术内容
bge-large1024开源

适用场景

适用于:

  • 构建聊天机器人和对话式 AI
  • 实现 RAG 系统
  • 创建配备工具的 AI Agent
  • 设计多模型架构
  • 部署生产级 AI 系统

不适用于:

  • 提示词优化(使用 prompt-engineer)
  • ML 模型训练(使用 ml-engineer)
  • 数据管道(使用 data-pipeline-engineer)
  • 通用后端开发(使用 backend-architect)

核心洞见:生产级 AI 系统需要的不只是优秀的提示词,还需要可靠的检索、智能路由、全面的监控以及优雅的故障处理。

搭配使用:prompt-engineer(优化) | chatbot-analytics(监控) | backend-architect(基础设施)

评论

支持 Markdown