核心要点

  • 建评测集与检索质量基线:用 RAGAS 等度量召回相关性、上下文精度、答案忠实度,量化迭代。

  • 保证数据新鲜:可靠的增量 ingestion 管道、变更检测、重建索引,避免回答过期信息。

  • 强制引用与护栏:答案附来源、检索不足时拒答,输入输出加敏感内容/越权过滤。

  • 控延迟与成本:设延迟预算,用缓存(语义缓存/前缀缓存)、rerank 控召回数、分级模型。

标准回答

Demo 与生产的差距

Demo 只要拼对 prompt 就能演示;生产要面对质量、新鲜度、延迟、成本、安全与可观测性的全面工程化。

检索质量

召回是 RAG 上限。要建评测集,用 RAGAS 等度量 context recall/precision 与答案忠实度;优化 chunk 切分、混合检索BM25+向量)、cross-encoder rerank、查询改写。检索差则生成再强也救不回。

数据新鲜与 ingestion

搭建可靠的增量摄取管道:变更检测、去重、增量更新索引、失败重试与回填,避免回答过期内容。

可信与护栏

强制引用来源,便于核查;检索置信不足时拒答而非硬编。输入输出加护栏PII/敏感内容过滤、越权数据隔离(多租户权限随检索下推)、prompt 注入防护。

延迟、成本与监控

设延迟预算,用语义缓存命中高频问题、prefix caching 复用系统提示、rerank 控 top-K、按难度分级路由模型。上线后持续监控幻觉率、检索命中、答案满意度,回流数据反哺优化。

参见 RAG 架构指南

常见误区

⚠️ 常见踩坑

别把 RAG 当「接个向量库就完事」:80% 的问题出在检索质量(切分、embedding、缺 rerank),而非 LLM。也别忽视数据新鲜度与权限——索引不更新会答过期信息,检索不做租户隔离会泄露越权数据。没有评测集就无法判断每次改动是变好还是变坏。

追问

追问 1怎么评测一个 RAG 系统的质量?

拆成检索和生成两段。检索看 context recall/precision(相关片段是否被召回、噪声多少);生成看 faithfulness(答案是否忠于检索内容、有无幻觉)和 answer relevance。用 RAGAS 等框架结合 LLM-as-judge 自动打分,关键场景加人工标注校准。

追问 2如何降低 RAG 的幻觉?

先提检索质量(混合检索+rerank 确保给到正确依据),prompt 中要求「仅依据上下文作答、无依据则拒答」并强制引用;输出做忠实度校验(答案句子能否回溯到来源);上线后监控幻觉率并用反馈回流持续优化。

追问 3RAG 延迟太高怎么优化?

设延迟预算逐段拆解。检索侧:缓存高频查询(语义缓存)、控 top-K、用更快的 ANN 索引;生成侧:prefix caching 复用系统提示、流式输出降感知延迟、按难度分级路由小/大模型;并行化检索与重排,去掉非必要的多轮调用。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • Ragas

    LLM 应用评估框架,提供 RAG 管道的自动化评测能力,支持答案相关性、上下文忠实度、幻觉检测等关键指标,帮助开发者量化和优化 LLM 应用质量。(14K+ stars)

  • Recall

    为 Claude Code 提供持久化记忆能力,完全离线运行,避免每次会话重复解释项目上下文。468 stars。