mcpField
R
RAG Implementer

RAG Implementer

github.com/daffy0208开发38186 次安装44 周前更新
代码仓库

关于 RAG Implementer

RAG Implementer 是面向构建检索增强生成系统团队的技术技能,提供从知识准备、检索到评估、部署和持续改进的八阶段流程,并强调先验证 RAG 的必要性。

主要功能

  1. 01需求验证与替代方案指导
  2. 02八阶段实施流程
  3. 03知识、嵌入与向量存储设计
  4. 04检索和上下文组装策略
  5. 05评估、部署与监控指导
  6. 06持续改进实践

适用场景

  1. 01判断是否需要 RAG 而非简单搜索
  2. 02规划领域内容的 RAG 流水线
  3. 03评估检索结果和生成答案
  4. 04制定部署与监控实践

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daffy0208/ai-dev-standards --skill rag-implementer

安装后在 Claude Code 中输入/rag-implementer确认已加载。

附带文件manifest.yamlREADME.md

详细介绍

RAG 实施者

构建可用于生产环境的检索增强生成系统。

核心原则

RAG = 检索 + 上下文组装 + 生成

当你需要大模型访问其训练数据中没有的最新、特定领域或专有知识时,请使用 RAG。


⚠️ 前提条件与成本现实检查

停下:你是否已验证确实需要 RAG?

实施 RAG 前,请确认:

  • 已验证问题 - 已完成 product-strategist Phase 1(问题探索)
  • 用户需要 AI 搜索 - 已测试更简单的替代方案(见下文)
  • 投资回报合理 - 已计算 RAG 与替代方案的成本和收益
请先尝试这些方案(再考虑 RAG)

RAG 功能强大,但成本高昂。请先尝试成本更低的替代方案:

1. FAQ 页面 / 文档(1 天,$0)

  • 创建组织良好的 FAQ 或文档
  • 使用 Cmd+F 添加搜索
  • 适用于: 少于 50 个常见问题、静态内容
  • 测试: 用户能找到答案吗?如果可以,就到此为止。

2. 简单关键词搜索(2-3 天,$0-20/月)

  • 使用 Algolia、Typesense 或 PostgreSQL 全文搜索
  • 足以满足 80% 的使用场景
  • 适用于: 少于 100k 份文档、关键词匹配已足够
  • 测试: 用户能获得相关结果吗?如果可以,就到此为止。

3. 人工整理(礼宾式 MVP)(1 周,$0)

  • 手动回答用户问题
  • 根据常见问题构建 FAQ
  • 适用于: 少于 100 名用户、验证用户是否需要 AI
  • 测试: 用户是否足够认可你的回答,愿意为此付费?如果是,可以考虑 RAG。

4. 简单语义搜索(1 周,$30-50/月)

  • 使用 OpenAI embeddings + Postgres pgvector
  • 跳过复杂的检索、重排序等环节
  • 适用于: 少于 50k 份文档、基础语义搜索
  • 测试: embeddings 是否优于关键词搜索?如果不是,就到此为止。
成本现实检查

朴素 RAG(原型):

  • 时间: 1-2 周
  • 成本: $50-150/月(向量数据库 + embeddings + API 调用)
  • 适用时机: 原型、少于 10k 份文档、概念验证

高级 RAG(生产环境):

  • 时间: 3-4 周
  • 成本: $200-500/月(混合搜索、重排序、监控)
  • 适用时机: 生产环境、10k-1M 份文档、需求已验证

模块化 RAG(企业级):

  • 时间: 6-8 周
  • 成本: $500-2000+/月(多个知识库、专用模块)
  • 适用时机: 企业级、1M+ 份文档、任务关键型场景
决策树:你真的需要 RAG 吗?
Do users need to search your content?
│
├─ No → Don't build RAG ❌
│
└─ Yes
   ├─ <50 items? → FAQ page ✅ ($0)
   │
   └─ >50 items?
      ├─ Keyword search enough? → Use Algolia ✅ ($0-20/mo)
      │
      └─ Need semantic understanding?
         ├─ <50k docs? → Simple semantic (pgvector) ✅ ($30/mo)
         │
         └─ >50k docs?
            ├─ Validated with users? → Build RAG ✅
            └─ Not validated? → Test with Concierge MVP first ⚠️
验证清单

只有在满足以下条件时,才继续实施 RAG:

  • 已测试更简单的替代方案(FAQ、关键词搜索、人工整理)
  • 用户确认需要 AI 驱动的搜索(而不只是你认为他们需要)
  • 已计算投资回报:RAG 的成本 < 用户获得的价值
  • 拥有超过 50k 份文档,或有复杂的语义搜索需求
  • 预算:基础设施每月 $200-500
  • 时间:生产级实施需要 3-4 周

如果有任何复选框未勾选: 请返回 product-strategist 或 mvp-builder 技能,先完成验证。

另请参阅: PLAYBOOKS/validation-first-development.md,了解逐步验证流程。


RAG 实施的 8 个阶段

阶段 1:知识库设计

目标:创建结构良好的知识基础

操作:

  • 梳理数据源(内部:文档、数据库、API / 外部:网页、信息源)
  • 过滤噪声,选择权威内容(避免“数据倾倒谬误”)
  • 定义分块策略:依据结构进行语义分块
  • 添加元数据:标签、时间戳、来源标识符、类别

验证:

  • 已编目并确定所有数据源的优先级
  • 已评估数据质量(准确性、完整性、时效性)
  • 已使用示例文档测试分块策略
  • 已验证元数据架构对搜索效果的支持

常见分块策略:

  • 固定大小:500-1000 个 token,重叠 50-100 个 token
  • 语义分块:按段落、章节标题或主题边界划分
  • 递归分块:按结构拆分(Markdown 标题、代码块)

阶段 2:嵌入策略

目标:为语义理解选择最佳嵌入方案

操作:

  • 选择嵌入模型:通用场景使用 text-embedding-3-large(1536 维),专业场景使用领域专用模型
  • 规划多模态需求(文本、代码、图像、表格)
  • 决定是否微调:如果通用嵌入效果不佳,则使用领域数据
  • 建立相似度基准

验证:

  • 在领域数据上对嵌入模型进行基准测试
  • 使用已知的查询-文档对测试检索准确率
  • 验证存储和计算成本

模型选择:

  • 通用:OpenAI text-embedding-3-large、text-embedding-3-small
  • 代码:code-search-babbage-code-001 或 StarEncoder
  • 多语言:multilingual-e5-large

阶段 3:向量存储架构

目标:实现可扩展的向量数据库

操作:

  • 选择向量数据库(Pinecone、Weaviate、Qdrant、Chroma、pgvector)
  • 配置索引:使用 HNSW 提升速度,使用 IVF 支持扩展
  • 规划可扩展性:数据增长和查询量
  • 实现备份、恢复和安全机制

验证:

  • 在预期负载下对向量存储进行基准测试
  • 优化索引以提升检索速度和准确率
  • 测试备份和恢复
  • 实施安全控制措施

向量数据库选择:

  • 托管云服务 → Pinecone
  • 可自托管、功能丰富 → Weaviate
  • 轻量、本地部署 → Chroma
  • 注重成本 → pgvector(Postgres 扩展)
  • 高性能 → Qdrant

阶段 4:检索流水线

目标:构建超越简单相似度搜索的高级检索方案

操作:

  • 实现混合检索:语义搜索 + 关键词(BM25)
  • 添加查询增强:扩展、改写、多查询
  • 应用上下文过滤:元数据、时间约束、相关性排序
  • 针对查询类型进行设计:事实型(精确性)、分析型(广度)、创意型(多样性)
  • 处理边缘情况:未找到相关结果

高级技术:

  • 重排序:初步检索后使用交叉编码器(例如 cross-encoder/ms-marco-MiniLM-L-12-v2)
  • 查询路由:将不同查询类型路由到专门的策略
  • 集成方法:组合多种检索方案
  • 自适应检索:根据查询复杂度调整 top-k

验证:

  • 在各种查询类型上测试检索准确率
  • 混合检索优于单一方法基线
  • 查询延迟符合要求(理想情况下 <500ms)
  • 测试边缘情况和回退方案

阶段 5:上下文组装

目标:将检索到的文本块转换为适合大模型的上下文

操作:

  • 排序和选择:按相关性分数、时效性、来源权威性确定优先级
  • 综合整理:合并相关文本块,避免冗余
  • 压缩:使用 LLMLingua 或类似工具优化令牌使用
  • 缓解“中间丢失”问题:将关键信息放在开头或结尾
  • 动态调整:根据对话历史调整上下文

上下文工程集成:

  • 将 RAG 结果与系统指令和用户提示词结合
  • 在多轮交互中保持对话连贯性
  • 实现上下文持久化,以支持后续查询
  • 平衡上下文大小与信息密度

验证:

  • 根据人工判断验证上下文相关性
  • 优化令牌使用的同时保持准确率
  • 多轮对话保持连贯性
  • 组装延迟 <200ms

第 6 阶段:评估与指标

目标:全面衡量 RAG 系统性能

检索质量:

  • Precision@K:前 K 个结果中相关结果所占的比例
  • Recall@K:前 K 个结果中相关文档所占的比例
  • MRR(平均倒数排名):第一个相关结果排名的平均倒数
  • NDCG:基于分级相关性的排序质量

生成质量:

  • 忠实度:生成内容相对于来源的准确性
  • 答案相关性:响应与查询的相关程度
  • 上下文利用率:大模型有效利用检索信息的程度
  • 幻觉率:无依据陈述出现的频率

系统性能:

  • 端到端延迟:从查询到答案的耗时(目标 <3 秒)
  • 检索延迟:检索和排序的耗时(<500ms)
  • Token 效率:每个 Token 的信息密度
  • 单次查询成本:检索与生成的综合成本

验证:

  • 已建立基线指标
  • 已建立用于比较配置的 A/B 测试框架
  • 已部署自动化评估流水线
  • 已制定用于确定基准事实的人工评估流程

第 7 阶段:生产环境部署

目标:以企业级可靠性和安全性进行部署

部署:

  • 使用 Docker/Kubernetes 进行容器化
  • 实现 RAG 实例之间的负载均衡
  • 为频繁查询添加缓存
  • 优雅降级:组件发生故障时回退到基础模型

安全性:

  • 为知识库实施基于角色的访问控制
  • 数据脱敏和 PII 保护
  • 用于合规审计的日志记录
  • 提示词注入防御

监控:

  • 实时指标仪表板(延迟、成本、准确率)
  • 分析查询中的模式和故障模式
  • 成本跟踪与优化告警
  • 对性能瓶颈进行性能分析

验证:

  • 生产环境能够处理预期流量
  • 安全机制能够防止未经授权的访问
  • 监控能够提供可执行的洞察
  • 已测试事件响应流程

第 8 阶段:持续改进

目标:建立持续改进流程

数据流水线:

  • 自动更新知识库(实时或按计划)
  • 质量监控:检测数据漂移和质量下降
  • 丰富来源:添加新的数据源
  • 整合反馈:纳入用户更正和偏好

模型演进:

  • 评估并迁移到更优秀的嵌入模型
  • 定期使用领域数据进行微调
  • 升级架构:朴素 RAG → 高级 RAG → 模块化 RAG
  • 扩展多模态支持(图像、音频、视频)

优化:

  • 分析查询模式,针对常见需求进行优化
  • 提高缓存命中率
  • 定期调整向量索引
  • 平衡性能与成本

验证:

  • 自动化改进流水线运行正常
  • 性能趋势持续向好
  • 用户满意度持续提高
  • 系统能够适应不断变化的需求

RAG 核心原则

1. 相关性优先于数量
  • 高质量筛选 > 海量数据集
  • 持续移除过时或低质量内容
  • 优先提供最相关的信息,避免“迷失在中间”
2. 语义理解
  • 使用嵌入实现真正的语义匹配,而不只是匹配关键词
  • 识别查询意图(事实型、分析型、创意型)
  • 根据上下文调整检索策略
3. 多模态智能
  • 处理文本、图像、代码、表格和结构化数据
  • 支持跨模态检索(文本查询 → 图像结果)
  • 保留文档结构和格式
4. 时间感知
  • 对时效性主题优先采用近期信息
  • 在相关时保留历史信息访问能力
  • 为动态领域集成实时数据流
5. 透明与可信
  • 始终提供来源引用
  • 标明置信度
  • 说明选择特定信息的原因

标准 RAG 响应格式

{
  "answer": "Generated response incorporating retrieved information",
  "sources": [
    {
      "content": "Retrieved text chunk",
      "source": "Document/URL identifier",
      "relevance_score": 0.95,
      "chunk_id": "unique_identifier"
    }
  ],
  "confidence": 0.87,
  "retrieval_metadata": {
    "chunks_retrieved": 5,
    "retrieval_time_ms": 150,
    "generation_time_ms": 800
  }
}

关键成功规则

不可妥协:

  1. ✅ 每条回复都注明来源
  2. ✅ 根据来源验证生成的内容(防止幻觉)
  3. ✅ 检索前过滤敏感数据
  4. ✅ 在延迟阈值内响应(<3 秒)
  5. ✅ 持续监控并优化成本
  6. ✅ 遵守安全策略
  7. ✅ 故障时优雅降级
  8. ✅ 上线前进行全面测试

质量门槛:

  • 上线前:在评估数据集上的准确率 >85%
  • 持续进行:用户满意度 >4.0/5.0
  • 性能:第 95 百分位 <5 秒
  • 可靠性:99.5% 正常运行时间
  • 成本:控制在预算的 10% 范围内

高级模式

模块化 RAG 架构
  • 搜索模块:查询理解与改写
  • 记忆模块:持久化长期对话
  • 路由模块:将查询路由至专用知识库
  • 预测模块:根据上下文预加载内容
混合式 RAG + 微调
  • 使用 RAG 处理动态且频繁变化的知识
  • 使用微调处理特定领域的推理模式
  • 结合两者优势,实现最大效果

相关资源

相关技能:

  • multi-agent-architect - 用于复杂的 RAG 编排
  • knowledge-graph-builder - 用于结构化知识集成
  • performance-optimizer - 用于优化 RAG 系统

相关模式:

  • META/DECISION-FRAMEWORK.md - 向量数据库和嵌入模型的选择
  • STANDARDS/architecture-patterns/rag-pattern.md - RAG 架构详情(创建后提供)

相关操作手册:

  • PLAYBOOKS/deploy-rag-system.md - RAG 部署流程(创建后提供)

评论

支持 Markdown