检索与生成的分工契约:谁负责什么

人工智能 · 2026-10-07

RAG 扯皮源于没有分工契约。本文给出检索侧与生成侧各三项承诺、一张失败归因规则表、验证契约是否生效的分段指标与契约测试,以及两个常见反模式。


检索与生成的"分工"要写下来

RAG 系统里最常见的一类扯皮 ✗:答案错了,检索团队说"片段给对了,是模型没用好" ✗,

生成团队说"片段里没有关键信息,模型当然答不出" ✗。**没有分工契约,就无法归因** ✔。

**把分工写成契约** ✔:谁负责什么、交付什么格式、失败时算谁的问题 ✔。

一、检索侧的三项承诺

1. **召回承诺**:该命中的片段必须进候选集(用召回率指标约束 ✔);

2. **排序承诺**:正确片段进入**前 K**(用命中位次/MRR 约束 ✔);

3. **交付格式承诺**:每个片段带**来源、时间、原文片段、块 id** ✔(生成侧要用来引用 ✔)。

**交付格式很关键** ✗:如果检索只给一段裸文本 ✔,生成侧无法引用、无法判断时效 ✔(见片段预处理那篇 ✔)。

二、生成侧的三项承诺

1. **只用给定片段**(不允许引入未提供的事实 ✔);

2. **标注引用**(每条结论对应片段 id ✔);

3. **资料不足时明确说明**(不编 ✔,见拒答那篇 ✔)。

三、失败归因规则(写下来就不吵了)

| 现象 | 归因 | 先改哪边 |

|---|---|---|

| 正确片段没进候选集 | 检索(召回 ✔) | 切分/解析/索引 ✔ |

| 正确片段进了但排太后 | 检索(排序 ✔) | 排序信号/去重 ✔ |

| 片段对但答案错 | 生成 ✔ | 提示词/示例/引用要求 ✔ |

| 答案对但没引用 | 生成 ✔ | 引用格式与校验 ✔ |

| 片段不足却给答案 | 生成 ✔(应拒答 ✔) | 拒答标准与判据 ✔ |

| 片段互相矛盾 | **两边** ✔ | 检索加时效/权威信号 + 生成说明冲突 ✔ |

**关键**:这张表要**事先定好** ✔,并在复盘时直接引用 ✔ —— 否则每次都要重新吵一遍 ✗。

四、怎么验证契约在生效

  • **分段指标**(召回/位次/引用率/编造率 ✔)分别看 ✔(见三段评测那篇 ✔);
  • **契约测试**:构造"检索故意给错片段"的用例 ✔,看生成侧是否会拒答 ✔;
  • **反向测试**:给对的片段 ✔,看生成侧是否稳定答对 ✔。
  • 五、两个常见反模式

  • **把一切归给模型** ✗(于是永远在换模型 ✔);
  • **契约只存在于口头** ✗(新人不知道,冲突照旧 ✔)→ 写进交接文档 ✔。
  • 一条判据

    > 拿一个错误答案 ✔,能否**在 10 分钟内**按既定规则说出"该改哪一侧" ✔?

    > 不能,说明分工契约还没写清 ✗。

    想要你的品牌在AI回答里被推荐?

    免费诊断 →