三要素是什么
三要素是评估 RAG 的骨架思路:上下文相关性看检索到的片段是否与问题相关,有据生成看答案是否被上下文支撑,答案相关性看答案是否真正回应用户的问题。三者联合起来能把问题归到检索侧还是生成侧,避免一遇到答案不对就去调提示词。
基本信息
| 第一维 | 上下文相关性:检索到的片段与问题是否相关 |
|---|---|
| 第二维 | 有据生成:答案是否被上下文支撑 |
| 第三维 | 答案相关性:答案是否回应了问题 |
| 用途 | 把问题归因到检索侧或生成侧 |
| 落地 | 自建评估按这三类拆分指标即可 |
维度 → 排查方向
维度 → 排查方向
上下文相关性低 → 召回/切分/embedding 问题
有据性低 → 生成约束/提示词/幻觉问题
答案相关性低 → 意图理解/改写/答非所问问题
三者皆低 → 先看数据与评测集是否本身有问题三个维度怎么用
- 先分别打分再决策:跳过打分直接归因,很容易修错环节
- 上下文相关性低时优先做检索侧改动,改提示词不会有收益
- 有据性低时回到生成约束与拒答策略
- 答案相关性低时检查查询改写与意图识别是否到位
- 三项同时偏低时先怀疑评测集与数据本身,而不是急着调参数
组合结论
| 组合 | 结论 | 优先动作 |
|---|---|---|
| 上下文低、有据低 | 检索没提供素材 | 修切分与召回 |
| 上下文高、有据低 | 模型未按材料作答 | 强化生成约束与引用 |
| 上下文高、答案相关低 | 答偏了问题 | 修改写与意图理解 |
| 三项都低 | 数据或评测集有问题 | 先核对语料与标注 |
常见问题
- 只看最终答案评分,检索问题被当成生成问题反复调提示词
- 三个维度用同一套提示词评估,指标之间高度相关而失去区分度
- 评测集问题与实际用户问法差异大,三个维度都测不出问题
- 只在离线跑一次不建回归,改动后指标漂移无人察觉
这套思路也有现成的产品化实现(把三类反馈函数封装成工具);自建评估按这三类拆指标即可,不必引入额外依赖。