RAG(检索增强生成)看起来简单:切文档、向量化、检索、塞进提示词、生成回答。真正难的是:你怎么知道检索到的片段是对的?答案错了,责任在哪一段?
五问自查
1. 文档本身是否可回答? 很多「答不上来」是因为知识从未写入系统,或过期、冲突、缺关键字段。模型无法检索不存在的事实。
2. 切分是否破坏语义? 表格、制度条款、代码片段被硬切后,召回片段可能半截无意义。按结构切,比固定字数切更稳。
3. 查询是否与索引同分布? 用户口语和文档书面语差距大时,需要查询改写、同义词或混合检索(关键词 + 向量)。
4. 有没有 Top-K 之外的重排? 只靠向量相似度,容易捞到「语义近但业务无关」的段落。轻量重排往往比换更大模型更有效。
5. 是否建立了黄金问答集? 没有评测集,就无法判断改切分、改 embedding、改提示词到底变好还是变差。
先证明「找对了」,再优化「写得好」。
一个务实顺序
- 先做 50–100 条真实问答作为基线
- 分别度量召回命中率与最终答案正确率
- 召回差就别急着调生成提示词
- 答案差但召回好,再看摘要、引用与拒答策略
RAG 不是「接个向量库」的一锤子工程,而是持续的数据与检索治理。把这五问写进评审,项目会踏实很多。