腾讯广告的RAG实战:如何用强化学习干掉92.7%的URL幻觉?

论文标题:Towards Faithful Industrial RAG: A Reinforced Co-adaptation Framework for Advertising QA

论文链接:https://arxiv.org/abs/2602.22584

机构:Tencent Advertising(腾讯广告)

一句话总结:腾讯广告团队在生产环境中搭建了一套"GraphRAG检索 + GRPO强化学习生成"的双引擎系统,专治工业级广告问答中的URL瞎编、内容不忠实、风格不合规等顽疾——上线后URL幻觉率暴降92.7%,点赞率涨了28.6%。


🎯 广告问答为什么这么难搞?

做过RAG系统的人都知道,让LLM"有据可依"地回答问题并不难,难的是让它在工业级场景下不翻车。

广告问答是一个极端场景。跟普通的知识问答不同,广告主问的问题高度专业化——"我的OCPC出价策略为什么ROI下降了?"、"DPA动态商品广告的人群包怎么设置?"——这些问题涉及平台特有的产品术语、操作流程、甚至具体的API接口URL。答错了不仅仅是"用户体验差"的问题,可能直接导致广告主操作失误、预算浪费,甚至触发合规风险。

传统RAG在这种场景下有几个致命短板:

1. 检索不到就瞎编。 标准的向量检索(BGE + BM25)只能做语义匹配,对于跨知识点的复杂问题——比如"A功能和B功能能不能一起用?"——经常检索不到完整的证据链。检索不到怎么办?LLM的老毛病就犯了:编一个看起来像那么回事的答案。

2. URL幻觉是定时炸弹。 这是工业场景中最刺痛的问题。广告主问"在哪里设置定向?",模型回答一段操作指引,末尾贴一个链接——结果链接是假的。用户点进去404,轻则丧失信任,重则可能被引导到钓鱼页面。论文提到,基线系统的URL准确率只有93.6%,看起来不低?但想想这是一个每天处理大量查询的系统,6.4%的错误率意味着每天都有大批用户被假链接"坑"。

3. 回答要么话太多,要么答非所问。 没有经过约束的LLM生成,要么啰里啰嗦把无关信息也塞进去(过度生成),要么只回答了问题的一半就收工了(不完整)。

图1:传统RAG方法在广告QA中的四类典型翻车场景——不完整回答、URL幻觉、过度生成、冗长赘述,对比新方案的精准回答

图1:上边是传统方法的四类典型问题——回答不完整、编造虚假URL、过度生成无关内容、冗长赘述。下边是新方案的效果:精准引用真实URL,回答简洁且覆盖用户需求的关键点。

这篇论文的做法是:不光修检索,也修生成——两边一起治。 检索端用GraphRAG做多跳知识图谱追踪,和传统RAG并行跑;生成端用GRPO强化学习,给模型套上"忠实度+风格+安全+URL有效性"四把枷锁。


📖 技术背景:GRPO是什么?GraphRAG又是什么?

在拆解论文的方法之前,先把两个核心技术交代清楚。

GRPO:不需要"裁判模型"的强化学习

传统的RLHF(人类反馈强化学习)需要训练一个reward model来评估生成质量,然后用PPO算法优化策略。这套流程成本高、训练不稳定,在工业部署中很难推广。

GRPO(Group Relative Policy Optimization)是DeepSeek团队2024年提出的替代方案。核心思路说白了就是"组内互相比较"——对同一个问题,让模型生成一组候选回答(比如8个),用规则型奖励函数给每个回答打分,然后在组内做相对排名来计算策略梯度。得分高于组平均的回答被强化,低于平均的被抑制。

这就像班级考试排名:不用请外部专家来逐一打分(reward model),只要把同学们的卷子互相比一比(group relative),排前面的加分、排后面的减分。

GRPO的好处是:省掉了value function model(PPO需要一个critic网络来估计状态价值),训练更稳定,内存占用更小。这对工业部署来说太重要了——你不用同时维护一个policy model和一个value model,只需要一个模型就够。

GraphRAG:让检索"看见"知识之间的关系

标准RAG的检索粒度是"文档块"(chunk),用向量相似度找最接近的几段文字。问题在于:这种方式是"平面的",它看不到知识点之间的结构关系。

GraphRAG在文档块之上叠加了一层知识图谱。把文档中的实体(产品名、功能名、URL等)和它们之间的关系("A功能属于B产品"、"C操作需要先完成D步骤")抽取出来,构成一个图结构。检索时不仅搜文本,还沿着图谱上的边做多跳追踪——比如从"OCPC出价"出发,跳到"智能出价策略",再跳到"ROI优化指南",把整条链路上的知识片段都捞回来。

这相当于给RAG配了一副"X光眼":普通RAG只能看到散落在桌面上的纸片,GraphRAG能看到纸片之间的连线。


🏗️ 系统架构:双引擎并行的协同适应框架

整个系统分两大模块:GraphRAG检索模块证据约束RL生成模块。两个模块不是串联的,而是"协同适应"的——检索端优化知识召回质量,生成端学会只用检索到的证据来回答,两边互相适配。

图2:系统架构总览——左侧为GraphRAG检索模块(包含图感知检索和传统RAG的并行通道),右侧为证据约束的GRPO生成模块(包含四维奖励函数)

图2:整体架构。左半部分是检索模块,GraphRAG通道和传统RAG通道并行运行,结果合并去重后送入右半部分的生成模块。生成模块用GRPO+多维奖励函数来训练LLM,确保输出忠实、合规、不编URL。

检索端:GraphRAG + 传统RAG 并行跑

论文没有用GraphRAG完全替代传统检索,而是让两者并行运行,结果合并去重。为什么?

原因很现实:GraphRAG擅长捕捉跨知识点的结构化关系,但它的覆盖面受限于知识图谱的构建质量——如果某些知识点没被抽取到图谱里,GraphRAG就找不到。传统的BGE向量检索+BM25关键词匹配虽然没有图结构的优势,但覆盖面更广、鲁棒性更好。两条腿走路,互相补位。

具体怎么做的?

构建高引用知识子图。 论文从3个月的生产日志中统计每个知识片段(chunk)被引用的频率,只保留引用量排名前10%的chunk来构建子图。这一步很聪明——用真实的用户行为数据来筛选高价值知识。想想看,一个广告平台的知识库可能有几十万个chunk,但用户反复问的问题集中在少数高频知识点上。把这10%的精华提炼出来建图,比在全量数据上建图高效得多。

实体-关系抽取。 用LLM对筛选出的chunk做实体和关系提取,构建 (实体, 关系, 实体) 三元组。比如 (OCPC, 属于, 智能出价产品线)(定向设置, 操作入口, https://xxx.qq.com/targeting) 这种。

多跳检索。 查询时,先做实体识别,找到查询中提到的实体,然后在子图上做1-2跳的邻居扩展,把相关的chunk都捞回来。

并行架构的效果从实验数据上看很明显:

图3:知识召回增强对比——Base RAG、GraphRAG和Parallel(并行方案)在每个查询平均召回chunk数和知识召回效率上的对比

图3:三种检索方案的对比。左边两组柱子分别代表每个查询平均召回的chunk数量和知识召回效率。GraphRAG单独跑就比Base RAG好不少,但并行方案(Parallel)在召回效率上又进一步提升——两条腿确实比一条腿跑得稳。

论文报告的数据是:并行方案(Parallel)的Chunks/Query从Base RAG的5.2提升到8.7,知识召回效率(Recall Efficiency)从62.3%提升到81.5%。GraphRAG通道贡献了主要的增量,传统RAG通道作为补充兜底。

延迟控制。 并行架构还有一个工程上的好处:两条检索通道同时发起,取union后去重,总延迟等于两者中较慢的那个,而不是两者之和。论文提到在生产环境中总检索延迟控制在200ms以内。

生成端:四把枷锁的GRPO

检索到了好的证据,还得确保模型"用好"这些证据。这就是生成端的任务:用GRPO强化学习训练LLM,让它学会"只说有据可查的话"。

核心是四维奖励函数的设计。每个生成样本会从四个维度打分:

忠实度奖励 \(R_f\):回答是否基于检索到的证据?有没有编造信息?这是最核心的一维。论文用NLI(自然语言推理)模型来判断——把回答拆成若干声明(claims),逐条检查是否能从检索到的evidence中推导出来。能推导出来得正分,推导不出来扣分,直接矛盾的扣更多。

风格合规性奖励 \(R_s\):回答的格式、语气是否符合广告平台的客服规范?这一维用规则和模板来评判——比如回答要用markdown格式、分点列出操作步骤、不能出现口语化表达等。

安全性奖励 \(R_a\):回答是否触发了安全红线?比如泄露内部数据、给出误导性的投放建议、或者包含歧视性内容。这一维用安全审核模型打分。

URL有效性奖励 \(R_h\):这是最有针对性的一维。回答中引用的每一个URL,都会被实时检查是否真实存在——发HTTP请求验证,返回200的得正分,404的扣分,完全编造的(域名都不存在)重扣。

总奖励是四维的加权和:

\[R_{total} = \alpha \cdot R_f + \beta \cdot R_s + \gamma \cdot R_a + \delta \cdot R_h\]

论文通过实验调优了四个权重,最终 \(\alpha\) 最大(忠实度权重最高),\(\delta\) 次之(URL有效性也很重要),\(\beta\)\(\gamma\) 相对较小。

训练过程中,对每个query采样一组候选回答(Group Size=8),分别计算四维奖励,然后用GRPO的组内相对排名来更新策略。

图4:RL训练过程中五条奖励曲线的收敛情况——Style(蓝)、Safety(橙)、Faithfulness(灰)、Link/URL(黄)、Overall(深蓝)

图4:训练曲线。五条线分别代表风格、安全、忠实度、URL有效性和总体奖励。可以看到Safety和Style在训练早期就快速收敛(这两维相对容易学),Faithfulness和Link两条线上升更缓慢——它们需要更多的训练步数才能稳定。Overall曲线最终收敛在一个较高水平,说明四维奖励之间没有严重的冲突。

从训练曲线上能观察到几个有意思的现象:

  • Safety最先饱和。 安全性方面的学习比较快,大约在训练1/4处就基本收敛了。这说明安全相关的约束相对容易内化——模型很快就学会了"哪些话不能说"。
  • Faithfulness和Link爬坡最慢。 忠实度和URL有效性需要更精细的学习——模型得学会"哪些信息能从evidence里推导出来"和"哪些URL是真实的",这比学习风格规范和安全红线难得多。
  • 四维奖励没有明显冲突。 从曲线走势看,没有出现某一维升高导致另一维下降的现象(这种情况在多目标优化中很常见),说明奖励函数的设计比较合理。

🧪 实验:线下测评 + 线上A/B

论文的实验分两部分:离线评估和在线A/B测试。对于工业论文来说,有在线实验数据才是真正有说服力的。

离线评估:FaithEval泛化测试

为了验证RL训练后模型的泛化能力,论文在FaithEval基准上做了测试。FaithEval包含三种挑战场景:

场景 含义 难点
Inconsistent (Incons.) 证据之间有矛盾 模型要识别矛盾并选择可靠来源
Unanswerable (Unans.) 证据不足以回答 模型要学会说"不知道"而不是瞎编
Counterfactual (Cfact.) 证据中包含反事实信息 模型要抵抗虚假信息的诱导

图5:FaithEval泛化能力对比——DeepSeek-V3.2、Qwen3-32B(RL前)和Qwen3-32B-RL(RL后)在三种场景和Overall上的柱状图

图5:FaithEval泛化测试结果。三组柱子分别对应DeepSeek-V3.2(强baseline)、Qwen3-32B(RL训练前)和Qwen3-32B-RL(RL训练后)。RL训练后的Qwen3-32B在所有场景上都大幅提升,Overall从Qwen3-32B的62.8%跃升到81.2%,甚至超过了参数量大得多的DeepSeek-V3.2(78.5%)。

关键发现:

  • RL训练让Qwen3-32B的Overall得分从62.8%提升到81.2%,涨了18.4个百分点
  • 提升最大的是Unanswerable场景(+22.3%),说明模型学会了在证据不足时克制自己不瞎编——这对控制幻觉来说太重要了。
  • RL训练后的32B模型甚至超过了DeepSeek-V3.2这种更大的模型,说明好的训练策略比堆参数更有效。

这个泛化结果很有说服力:虽然RL训练的数据来自腾讯广告的内部场景,但学到的"忠实性"能力可以迁移到通用的FaithEval基准上。模型学到的不是"广告领域的知识",而是"基于证据回答问题"的通用能力。

专家评判:人类怎么看?

论文还请了领域专家从四个维度做盲评(隐去了模型标识):

图6:专家评判胜率对比——在完整性、专业性、合规性、幻觉控制四个维度上,新方案 vs DeepSeek-V3.2的Win/Tie/Lose堆叠条形图

图6:专家盲评结果。每个维度上绿色是"我们赢",灰色是"打平",红色是"我们输"。在幻觉控制(Hallucination)维度上优势最大,合规性(Compliance)次之。完整性和专业性上虽然也赢了,但Tie占比很高——说明DeepSeek-V3.2在生成质量上本来就很强,真正拉开差距的是忠实度和合规性。

这张图传达了一个很重要的信息:RL训练的收益主要体现在"减少犯错"而非"提高质量"。 在完整性和专业性上,两个方法表现接近;但在幻觉控制和合规性上,新方案大幅领先。这跟工业场景的核心诉求完全吻合——广告主最在意的不是"回答有多漂亮",而是"有没有说错话"。

商业模型PK

论文还拿自己的系统跟四个商业模型做了头对头比较:

图7:与商业模型的URL准确率对比——Ours 99.3% vs DeepSeek-V3.2 93.6% vs Kimi K2.5 95.0% vs Doubao 1.8 92.2% vs HunYuan 2.0 96.5%

图7:URL准确率对比。这套方案以99.3%的URL准确率碾压所有商业模型。差距最大的是Doubao 1.8(92.2%,差了7.1个百分点)。HunYuan 2.0表现最接近(96.5%),但仍有2.8个百分点的差距。

模型 URL准确率 差距
Ours (Qwen3-32B-RL) 99.3%
HunYuan 2.0 96.5% -2.8%
Kimi K2.5 95.0% -4.3%
DeepSeek-V3.2 93.6% -5.7%
Doubao 1.8 92.2% -7.1%

99.3%的URL准确率意味着什么?假设每天处理1万次包含URL的查询,只有70次会出现错误URL,而Doubao 1.8会有780次。差了一个数量级。

这个结果也验证了URL有效性奖励 \(R_h\) 的价值——专门针对URL幻觉设计一个奖励维度,效果立竿见影。其他商业模型没有这种针对性的训练,所以URL准确率都在93-97%之间打转。

在线A/B测试:真金白银的验证

这部分是工业论文最核心的证据。在腾讯广告的真实生产环境中,对照组是之前的RAG系统(无GraphRAG、无RL),实验组是新系统。流量随机分配,跑了足够长的时间来保证统计显著性。

核心指标变化:

指标 变化幅度 说明
点赞率(Like Rate) +28.6% 用户主动点赞的比例
点踩率(Dislike Rate) -46.2% 用户主动点踩的比例大幅下降
URL幻觉率(URL Hallucination) -92.7% 虚假URL出现率从基线的X%降到几乎为零

点踩率-46.2%这个数字特别值得玩味。在工业系统中,用户主动点踩是一种很强的负面信号——只有在答案明显错误或者有害的时候,用户才会费力去点踩。踩率降了近一半,说明之前那些"编URL"、"答非所问"的情况确实少了很多。

图8:生产环境中的实际QA交互示例——展示了系统在真实广告场景下的问答效果

图8:生产环境中的真实交互截图。可以看到系统能够精准理解广告投放相关的专业问题,给出结构化的操作指引,并附上真实有效的帮助文档链接。


🔬 几个值得深挖的技术细节

高引用子图的构建策略

论文在知识图谱构建上做了一个很务实的选择:不是在全量知识库上建图(那会非常昂贵),而是只选了生产日志中引用频率Top 10%的chunk。

这背后的假设是:广告问答遵循幂律分布——少数高频知识点覆盖了大多数用户问题。用生产日志来筛选,比用人工标注或者统计特征来筛选都更靠谱,因为它直接反映了真实的用户需求分布。

不过这也引出一个问题:对于低频但重要的长尾问题(比如某个小众产品的特殊功能),GraphRAG通道可能帮不上忙,只能靠传统RAG来兜底。这也解释了为什么论文坚持用并行架构——GraphRAG擅长高频问题的深度检索,传统RAG负责长尾问题的广度覆盖。

GRPO的工程适配

论文在标准GRPO基础上做了几处工程化调整:

Group Size选择。 实验测试了4、8、16三种Group Size,最终选了8。太小(4)会导致组内方差太大,排名不稳定;太大(16)则GPU显存吃不消,而且边际收益递减。

奖励裁剪。 对四维奖励的加权和做了clip,防止极端值干扰训练。特别是URL有效性奖励——一个完全编造的URL可能被扣很多分,导致梯度爆炸。

异步奖励计算。 URL有效性检查需要发HTTP请求,延迟不可控。论文把这一步做成了异步的:先用其他三维奖励更新梯度,URL维度的奖励延迟一个step反馈。这牺牲了一点信号的即时性,但保证了训练吞吐量不被网络IO拖慢。

为什么用Qwen3-32B而不是更大的模型?

论文的选择很有意思:基座模型用Qwen3-32B,而不是70B或更大的。这不是因为更大的模型效果不好——从FaithEval的baseline数据可以看到,DeepSeek-V3.2(参数量大得多)的基线就比Qwen3-32B高。

但RL训练后的32B模型反超了未经RL训练的大模型。这传递了一个清晰的工程信号:在有好的训练框架加持的情况下,选一个推理成本更低的中等模型,然后通过RL把它训好,比直接上大模型更划算。

32B模型的推理成本大约是685B模型的1/20(粗略估计),但RL训练后的效果还更好。在工业部署中,这种"小模型+好训练"的路线明显更可持续。


🤔 我的分析和思考

做对了什么?

1. 问题定义精准。 这篇论文没有去追"在benchmark上刷分"的虚名,而是盯住了工业场景中最痛的几个点——URL幻觉、回答不忠实、风格不合规。这些问题在学术benchmark上可能不突出(学术问答很少涉及URL),但在广告QA的实际部署中是真正的痛点。

2. 检索和生成协同优化。 很多RAG优化工作只关注检索端(怎么找到更好的证据)或者只关注生成端(怎么让模型更听话),很少同时优化两边。这篇论文的"协同适应"思路——检索端提高证据质量,生成端学会只用证据来回答——是一个更完整的解决方案。

3. 奖励函数设计接地气。 四维奖励函数的设计完全围绕业务需求:忠实度是基本要求,风格合规是品牌调性,安全是红线,URL有效性是广告场景的特殊痛点。每一维都有明确的业务价值,没有"为了加特征而加特征"的情况。

哪些地方有疑问?

1. GraphRAG的可维护性。 知识图谱的构建和维护成本在论文中着墨不多。广告平台的产品迭代很快——新功能上线、旧功能下线、操作流程变更——知识图谱怎么跟上这种变化速度?如果图谱更新滞后,GraphRAG检索到的可能是过时的信息,反而有害。

2. Top 10%的阈值怎么定的? 论文说从生产日志中选引用量Top 10%的chunk来建图,但没解释为什么是10%而不是5%或20%。这个阈值对系统效果的影响有多大?有没有做消融实验?

3. RL训练的数据量和成本。 论文提到了训练曲线(图4),但没有透露具体的训练数据量、训练时长和GPU成本。对于想复制这套方案的团队来说,这些信息至关重要。

4. 从-92.7%到绝对值。 URL幻觉率"降低92.7%"听起来很猛,但基线的绝对值是多少?如果基线只有3%的幻觉率,降低92.7%就是降到0.2%;但如果基线是30%,降低92.7%就是降到2.2%——这两个结果的含义截然不同。论文没有给出绝对值,只给了相对变化,这在工业论文中不太常见。

对工程落地的启示

1. URL验证奖励值得借鉴。 不管你的场景是不是广告QA,只要生成结果中包含URL、文件路径、API端点等"可验证"信息,都可以设计类似的验证奖励。这是一种无需人工标注的高质量奖励信号——HTTP状态码是客观事实,不需要人来判断。

2. 并行检索架构是工业级RAG的标配。 单一检索通道总有盲区。GraphRAG擅长结构化关系但覆盖面窄,向量检索覆盖面广但缺少关系推理。把它们并行跑起来、结果取union,是一种低风险高回报的架构选择。延迟上也划算——并行比串行快,结果合并的成本微乎其微。

3. "小模型+RL" vs "大模型+prompt"的路线选择。 这篇论文给出了一个有力的数据点:32B模型经过RL训练后,效果超过了未经训练的更大模型。在推理成本敏感的工业场景中,这条路线值得认真考虑。当然前提是你有足够的领域数据来做RL训练——如果数据量不够,可能还是大模型+精心设计的prompt更划算。

4. 奖励函数的设计思路可以迁移。 忠实度(NLI)+ 格式合规(规则)+ 安全(审核模型)+ 领域特定验证(URL检查),这四维框架可以适配到很多工业RAG场景。比如:

  • 医疗问答:忠实度 + 医学规范合规 + 安全(不能给出危险建议)+ 药品名称准确性
  • 法律问答:忠实度 + 法律文书格式 + 安全 + 法条引用准确性
  • 客服问答:忠实度 + 品牌调性 + 安全 + 工单链接有效性

核心思路就是:找到你场景中可以客观验证的信号,把它设计成奖励函数的一个维度。


📊 关键实验结果总结

编号 发现 数据支撑
1 GraphRAG并行方案提升知识召回 召回效率从62.3%提升到81.5%
2 RL训练大幅提升忠实度 FaithEval Overall: 62.8% → 81.2% (+18.4%)
3 小模型+RL超过大模型基线 32B-RL (81.2%) > DeepSeek-V3.2 (78.5%)
4 URL幻觉几乎消除 URL准确率99.3%,幻觉率降低92.7%
5 专家评判:忠实度和合规性优势大 Hallucination维度Win率远超Lose
6 线上效果全面提升 点赞率+28.6%,点踩率-46.2%

💡 写在最后

这篇论文给我最大的感触是:工业级RAG的核心竞争力不在于"模型多大"或者"检索多快",而在于"犯错率多低"。

在广告QA这个场景里,用户对"正确"的容忍阈值极低。你可以回答得不够全面(用户追问就行),可以回答得不够优雅(能看懂就行),但绝对不能编造URL、不能给错误的操作指引。一次"答错"造成的信任损失,可能需要十次"答对"才能挽回。

腾讯广告这套方案的精髓在于:把"减少犯错"变成了一个可度量、可优化的目标。 四维奖励函数就是四把尺子,每一把量的都是"这个回答有没有犯某种错误"。GRPO的训练过程,本质上就是让模型反复练习"如何避免犯错"。这比让模型学习"如何回答得更好"要有效得多——因为"好"是主观的、模糊的,而"错"往往是客观的、可验证的。

从技术演进的角度看,这篇论文代表了RAG系统从"能用"到"好用"再到"不出错"的进化方向。学术界还在讨论RAG的检索质量、上下文利用率这些基础问题,工业界已经走到了"如何在每天百万次查询中把错误率控制在千分之一以下"这个阶段。两者关注的问题不一样,但底层的技术思路——更好的检索、更可靠的生成——是相通的。

对于想把RAG系统真正推上生产线的团队,这篇论文提供了一套完整的工程方法论:用知识图谱增强检索的深度,用规则型奖励函数约束生成的边界,用强化学习把这些约束内化到模型参数里。 每一步都不花哨,但组合起来就是一个能在生产环境中稳定运行的系统。

这大概就是工业论文的价值所在——不一定有最新颖的算法创新,但一定有最真实的问题定义和最扎实的工程实践。


论文信息 - 标题:Towards Faithful Industrial RAG: A Reinforced Co-adaptation Framework for Advertising QA - 作者:腾讯广告团队,Wenwei LI, Ming Xu, et al. - 链接:https://arxiv.org/abs/2602.22584 - 关键词:RAG, GraphRAG, GRPO, 强化学习, 广告问答, URL幻觉, 忠实度