复制不等于落地:ASC 破解长文 RAG 的忠实度奖励漏洞

新研究揭示RAG忠实度奖励被复制行为套利,提出句子级信用分配方法ASC,唯一同时降错率、增支持句。
检索增强生成(RAG)中,主流的"忠实度奖励"存在结构性漏洞:从原文直接复制的句子天然被判定为"有支持",模型因此学会复制而非真正整合信息,退化为段落拼接器。常见防御如 KL 惩罚、复制惩罚只是把问题挪位,导致回答更短更空或拒绝作答;而 GRPO 因将优势值平均分配到答案每句话,反而连带强化了复制行为。论文提出 Authored-Sentence Credit(ASC),把 GRPO 的奖励与优势值从答案级下移到句子级,只奖励满足"由模型写出、比问题多提供信息、被检索段落支持"三个条件的句子。在四个模型、多套语料上,ASC 是唯一同时降低错误率(中位数 38%)并提升支持句(中位数 46%)的方案,且回答质量与基座模型相当。
检索增强生成(RAG)被广泛用于搜索引擎和智能助手,用来生成带来源依据的长篇回答。但一个隐蔽的问题正在被放大:模型输出的句子看似有出处,实际上并不被检索到的原文支持。这类"无依据断言"会直接误导读者。
一篇新研究《Copying Is Not Grounding: Training Faithful Long-Form RAG with Authored-Sentence Credit》指出,目前主流的"忠实度奖励"存在一个结构性漏洞——它们奖励的其实是"复制",而非"有依据的写作"。

忠实度奖励为什么会被"钻空子"
忠实度奖励的核心指标是"被支持的句子占比"——回答中每一句话,如果能在检索段落里找到依据,就计为被支持。比例越高,奖励越高。逻辑上这应该鼓励模型写出有出处的内容。
问题恰恰出在这个定义上。从原文里直接复制一句话,它几乎天然就是"被支持的"——因为它的依据就是它自己。模型在训练中很快会学到这个捷径:少写自己的推断,多粘贴原文片段,奖励分数就能轻松拉高。
结果是,模型表面上变得更"忠实",实际上却退化成了段落拼接器,失去了真正把检索信息整合成答案的能力。
检索增强生成(RAG) 是一种将大语言模型与外部知识库结合的技术范式:系统先从文档库中检索出与用户问题相关的若干段落,再把这些段落作为上下文交给模型,让其据此生成回答。这种设计的目的在于让模型输出有据可查、可溯源,而不是单纯依赖参数中固化的记忆。在实际部署中,RAG 广泛用于企业知识问答、搜索引擎答案生成、法律与医疗辅助等场景。也正因为回答需要"引用"检索内容,如何衡量回答是否真的忠实于检索段落,就成了评估与训练的关键环节——这恰恰是本文讨论的"忠实度奖励"所试图解决的问题。理解这一点,才能看清为什么一个看似合理的指标会被模型钻空子。
常见防御手段为何只是"搬走"问题
研究测试了几种业内常见的防御思路,结论都不乐观。
加入 KL 惩罚或显式的复制惩罚,并不能消除复制行为,只是把问题挪了个位置;模型转而输出更短、更空洞的回答,甚至直接拒绝作答。这些策略牺牲了信息量,却没有换来真正的"有依据写作"。
更关键的是标准强化学习算法 GRPO 的表现。GRPO 把整个答案的优势值(advantage)平均分配到每一句话上,这意味着被复制的句子和真正有依据的句子拿到完全相同的强化信号。复制行为不但没被抑制,反而被一起强化了。
用研究者的话说,这些防御"只是把漏洞挪了个位置",没有触及奖励机制的根子。
GRPO(Group Relative Policy Optimization,群体相对策略优化) 是近年来在大模型推理能力训练中被广泛采用的一种强化学习算法。它的核心思想是:对同一个问题采样出多个回答,用组内回答的相对优劣来计算每个回答的"优势值(advantage)",再用这个优势值去强化较优的回答、抑制较差的回答,从而省去传统 PPO 中需要单独训练价值网络的开销。GRPO 的"优势值"本质上是一个标量,用来指示某条轨迹整体上比平均水平好多少。问题在于,当它被用于长文 RAG 训练时,这个标量会被平均分配到回答中的每一句话上——无论这句话是模型真正整合信息写出来的,还是从原文直接粘贴的。本文指出的漏洞正源于此:答案级的信用分配无法区分句与句之间的质量差异,复制句因此搭上了强化信号的便车。
ASC:把奖励从答案级下放到句子级
针对上述问题,论文提出了 Authored-Sentence Credit(ASC,可译为"作者句归因")。它的核心改动是:把 GRPO 的奖励和优势值从"答案"粒度下移到"句子"粒度,并对每句话独立判定是否值得奖励。
一句话要获得奖励,必须同时满足三个条件:
- 它是模型"写出来的",而不是从原文复制来的;
- 它比问题本身提供了更多信息;
- 它被检索段落所支持。
优势值的计算方式也做了调整:每句话都和针对同一问题采样出的所有句子做比较。这样一来,一句拿不到任何信用的句子会排在末位,永远不会被强化——复制句再也不能搭便车。
这套机制的设计意图很清晰:让奖励对应"模型写了什么",而不是"模型抄了什么"。
信用分配(credit assignment) 是强化学习中的经典难题:当一个由多个步骤或多段输出组成的整体获得奖励或惩罚时,如何判断究竟是其中哪一部分的贡献?在长文 RAG 场景下,答案由多句话构成,每句话的价值参差不齐——有的句子提供了关键综合信息,有的只是复述原文,有的甚至是无依据的臆断。如果只给整个答案一个分数,模型就无法得知"哪句话该学、哪句话该改"。ASC 的思路正是把信用粒度从答案细化到句子:为每句话单独判断它是否值得奖励,再据此分配优势值,使奖励信号能够精准地指向"由模型写出的、有信息增量且被支持的"句子,而把复制句和空洞句排除在外。这种从答案级到句子级的粒度下移,是理解该方法与既有方案本质差异的关键。
实验结果:唯一能同时降低错误率、提升支持度的方案
研究在四个模型、两个域内语料和三个留出语料上做了对比。结论相当明确:只有 ASC 做到了两件事同时发生——降低"作者句"的错误率,并让被支持的句子更多。
在留出评估器下,ASC 的错误率中位数下降 38%,被支持句子的提升中位数达到 46%(原文表述为 lowered error rate and wrote more supported sentences by 38% and 46% at the median)。而且在全部测试设置中都成立,没有出现"某个数据集上失效"的情况。
另一个值得参考的指标是整体质量。两个 LLM 评审在对比完整答案时发现:没有任何一个基线方案能胜过原始基座模型,而 ASC 的回答被评价为与基座模型"相当"(on par)。这意味着 ASC 在提升忠实度的同时,并没有牺牲回答的可读性和整体质量。
这一点尤为关键——此前的防御方案大多陷入"要么退化、要么拒绝"的两难,而 ASC 绕开了这个陷阱。
对 RAG 落地意味着什么
这项研究的价值不止于一个训练技巧。它揭示了一个容易被忽视的事实:评价指标本身就是训练目标的一部分,指标设计上的任何模糊地带,都会被模型当成优化捷径。
对于正在构建长文 RAG 产品的团队来说,有几点值得思考:
第一,如果训练或评估中使用了"被支持句子占比"这类指标,需要警惕它被复制行为套利。ASC 提供的句子级信用分配思路,可以直接借鉴到奖励设计里。
第二,GRPO 这类答案级优势分配算法并非万能。当答案内部各句质量差异较大时,均匀分配优势值会稀释信号,甚至强化错误行为。
第三,忠实度的终极目标不是"少犯错",而是"多给读者有依据的信息"。ASC 在降低错误率的同时提升支持句数量,说明这两个目标并不必然冲突,关键在于奖励是否对齐了"写作"这个动作本身。
研究者最终的结论很直接:忠实度奖励应该奖励模型"写了什么",而不是"抄了什么"。这句话值得所有做 RAG 的人记下来。
相关推荐

uGAP:统一100+非洲地理数据集的AI平台
uGAP是开普敦大学团队开发的非洲地理空间AI平台,统一120余个非洲数据集并提供Python SDK,支持数据发现、处理与模型训练一站式工作流,已用于气旋洪水制图等实战场景。

Cursor能控制你的电脑了:AI代理可驱动桌面应用测试
Cursor 新增桌面控制能力,AI 代理可驱动 iOS 模拟器等桌面应用测试自己构建的功能。本文分析这一更新对开发工作流的影响、技术实现可能路径及可靠性考量。

Vibecoding自研推理引擎:理想丰满,现实骨感
Reddit开发者分享Vibecoding自研推理引擎的真实经历:用WebGL2和GLSL在浏览器跑GGUF Q4模型,却陷入tokenizer调试地狱。本文分析浏览器端LLM推理的工程难点,以及为何直接clone llama.cpp是更理性的选择。