RAG 的 demo 很容易:切文档、做 embedding、向量检索、把结果塞给模型。生产系统难在另一件事——你必须知道答案为什么对,也必须知道什么时候它不该回答。
检索质量先于生成质量
如果召回阶段没有拿到正确证据,再强的生成模型也只能把错误上下文组织得更自然。生产系统应该把 retrieval metrics 与 answer metrics 分开观察,而不是只看最终回答“像不像”。
query → rewrite / normalize → hybrid retrieval → metadata filtering → reranking → evidence packing → generation → citation / verification切分策略不是固定参数
代码、FAQ、产品文档和长篇研究报告的结构完全不同。Chunk size 应该跟内容语义和检索目标绑定,并通过离线评估验证,而不是复制某个教程里的 500 tokens。
生产环境至少要测什么
- Recall@K:相关证据有没有被召回。
- MRR / NDCG:好证据是否排在前面。
- Faithfulness:回答是否忠于给定证据。
- Citation accuracy:引用是否真的支撑对应结论。
- Abstention quality:没有证据时能不能正确拒答。
RAG 最终不是“给 LLM 加搜索”,而是一套证据工程。模型只是其中一个组件。
