DRAG:多智能体辩论增强RAG,破解大模型幻觉叠加难题

提出DRAG框架,通过多智能体辩论机制,优化RAG框架的检索和生成过程,有效缓解大模型幻觉叠加问题。

原文标题:ACL 2025 | 大模型“以讹传讹”?DRAG双阶段「多代理辩论」破解幻觉叠加问题

原文作者:数据派THU

冷月清谈:

本文介绍了港理工与四川大学研究团队提出的DRAG(Debate-Augmented RAG)框架,旨在解决RAG(Retrieval-Augmented Generation)框架中存在的“幻觉叠加”问题。RAG通过引入外部资料来辅助生成,但如果检索到的资料本身存在偏差,或者模型在生成阶段曲解信息,反而会加剧幻觉现象。DRAG的核心思想是引入多智能体辩论机制,在检索和生成两个阶段都进行“正反方辩论+法官裁决”,模拟AI辩论法庭,从而提升答案的真实性和可靠性。在检索阶段,DRAG通过多个智能体讨论检索策略,避免因关键词不精准或信息片面而导致的“认知陷阱”;在生成阶段,DRAG则让信息源不对等的智能体进行“对线式推理”,选出更准确、逻辑更严密的答案。实验结果表明,DRAG在多跳推理任务中表现强劲,并且对检索缺陷具有较强的鲁棒性。未来的研究方向包括探索自适应停止策略,以提升DRAG在简单任务中的性价比。

怜星夜思:

1、DRAG框架中,多智能体辩论机制是如何平衡效率和准确性的?辩论轮数和查询次数的动态调整,在实际应用中会带来哪些挑战?
2、文章提到DRAG在多跳问答任务中表现出色,那么在其他需要复杂推理的任务中,例如代码生成或者策略游戏,DRAG是否也能有效缓解幻觉问题?
3、DRAG框架的信息不对称设计,让一部分智能体不依赖检索资料进行辩论,这个设计背后的原理是什么?在什么情况下,这种信息不对称反而会适得其反?

原文内容

本文约2000字,建议阅读5分钟

本文深入探讨RAPL(Retrieval-Augmented Path Learning)框架,这是一个创新的人工智能架构,通过线图转换和合理化监督技术,从根本上改进了知识图谱环境下的检索增强生成系统。


近年来,GPT 等大型语言模型在问答、搜索、医疗等任务中大放异彩,但一个顽疾始终存在——幻觉(hallucination),即模型自信输出却偏离事实。为缓解幻觉,学界提出了 RAG(Retrieval-Augmented Generation) 框架,通过引入外部资料来辅助生成,试图减少“胡编乱造”。


但现实真如我们所愿?港理工与四川大学研究团队发现:RAG 本身也可能引入偏差,甚至造成“幻觉叠加”(Hallucination on Hallucination)。


为此,团队提出新框架——DRAG(Debate-Augmented RAG),通过引入多智能体辩论机制,在“找资料”和“写答案”的每一个环节中层层把关,提升答案的真实性与可靠性。

论文标题:

Removal of Hallucination on Hallucination: Debate-Augmented RAG

论文链接:

https://arxiv.org/abs/2505.18581

代码链接:

https://github.com/Huenao/Debate-Augmented-RAG

收录会议:

ACL 2025 Main


01 研究背景:RAG 中的幻觉叠加

为了解决生成式 AI 中的幻觉问题,RAG 框架通过“先查资料再说话”的方式增强生成结果的事实性。但现实很骨感:如果查到的资料本身就错了呢?


举个栗子:

问题 “Guns N' Roses 的女键盘手是谁?”  

RAG 检索到的是电影《Guns and Roses》的剧情,然后模型信誓旦旦地回答:“Gu Xixi”。


这不是救火,而是浇油。


此外,即便资料查得没问题,模型也可能挑错重点、曲解信息甚至编造内容。


本文将这种“幻觉叠加”现象,归因为 RAG 系统在两个阶段的问题所致:


  • 检索阶段:若检索不充分或存在偏差,就会为后续生成埋下“认知陷阱”;

  • 生成阶段:模型仍可能因噪声干扰或对上下文的误解,输出与事实不符的答案。


02 破局之道:让模型「辩」起来


DRAG 的核心思想是借助多智能体辩论机制(Multi-Agent Debate, MAD),在信息检索和答案生成阶段都引入“正反方辩论 + 法官裁决”的机制,模拟一个“查找事实 + 互相质疑 + 集体评估”的 AI 辩论法庭,让最终输出更准确、更有理有据。


1. 阶段1:检索环节也能“据理力争”


传统 RAG 在检索是“一问一搜”的模式,模型根据问题发起一次查询,然后就拿着这份资料去回答。但如果查询关键词不够精准,或者只检索到了片面的内容,模型自然会“从错的信息里找答案”。


为此,DRAG 在检索阶段引入了“多智能体辩论机制”,相当于让多个智能体一起开会“讨论怎么查资料最靠谱”。


具体来说,每轮检索都由三类智能体参与构成:


  • 支持方(Proponent Agent):主张“现在的检索策略挺好,不用改”;

  • 反对方(Challenger Agent):认为“查得不够准”,并提出优化建议,如换关键词、拓展查询;

  • 裁判方(Judge Agent):对比双方观点,决定下一轮要不要调整查询策略。


2. 阶段2: 生成环节进行“对线式推理”


即便有了好资料,模型仍可能答非所问,尤其当信息冲突或推理链较长时。


DRAG 引入的第二大机制是:让 AI 在生成阶段进行“对线式推理”。此外,为了避免模型不加怀疑地信任有偏差的检索信息,本文设计了信息不对等机制,即使用两个信息源不对等的智能体进行互相“辩论”


  • 支持方(Proponent Agent):依赖检索到的资料来作答;

  • 反对方(Challenger Agent):完全不看资料,仅靠自己的知识作答;

  • 裁判方(Judge Agent):综合两者的回答,从中挑出事实更准确、逻辑更严密的版本。

03 实验表现:表现稳定,多跳更强


本文在六个 QA 数据集上对 DRAG 进行了全面评估,包括开放问答(TriviaQA、NQ、PopQA),多跳问答(2WikiMultihopQA、HotpotQA)以及常识推理(StrategyQA)。


实验结果如表 1 所示,DRAG 在多跳推理任务上 在多跳推理任务中取得了强劲的表现,在单跳任务中也同样具有竞争力。

此外,本文对检索辩论和生成辩论阶段分别进行更加细致的分析:


  • 表 3 统计了 DRAG 在不同任务中的平均辩论轮数和查询次数,表明 DRAG 可动态调整检索策略以适应任务的复杂性。

  • 表 4 探究了 DRAG 在检索不到正确资料的情况下有生成辩论与否的表现,表明生成辩论增强了对检索缺陷的鲁棒性。

表 5 是对 DRAG 中的各个模块的消融实验,表明 DRAG 两大阶段缺一不可,此外信息不对称设定对于防止代理过度依赖检索到的内容并促进事实一致性具有重要作用。

以下是 DRAG 的实例分析,可以看到检索辩论能有效排除错误的检索目标引导系统制定更准确的检索策略。

04 结论与展望


DRAG 以“多代理辩论”的创新方式对 RAG 框架在检索与生成两个阶段进行优化,有效缓解了幻觉叠加的问题。在多跳问答、开放领域问答等任务中均取得了领先表现,验证了该方法的通用性与有效性。


但 DRAG 同样也有一定的局限,在简单单跳任务中,DRAG 可能因“过度辩论”引发问题漂移,因此未来可探索自适应停止策略,提升性价比。


编辑:王菁





欢迎大家扫码加入粉丝群






关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

这个信息不对称有点像“鲶鱼效应”,通过引入外部刺激来激发内部活力。但是,如果“鲶鱼”太弱,可能就起不到作用;如果“鲶鱼”太强,可能会把“沙丁鱼”吓跑。所以,这个信息不对称的程度需要好好把握。

信息不对称设计的核心在于打破“知识茧房”,避免所有智能体都受到错误信息的误导。让一部分智能体基于自身知识进行辩论,可以引入不同的视角和观点,从而更全面地评估信息的真实性。但是,如果:

1. 自身知识不足:不依赖检索资料的智能体,如果自身知识储备不足,可能会提出错误的观点,干扰辩论进程。
2. 检索资料可靠:当检索到的资料本身非常可靠时,信息不对称可能会导致不必要的争论,降低效率。

因此,信息不对称的设计需要根据具体情况进行调整,需要评估检索资料的可靠性和智能体的知识水平。

我觉得DRAG的这个思路挺有意思的,但是代码生成这种场景可能需要更强的逻辑性和准确性,辩论可能不够,需要引入一些形式化的验证方法,比如模型检查或者定理证明,确保代码的正确性。

我想到一个场景,如果让一个完全不懂医学的AI去和医学专家辩论,那结果很可能是灾难性的。所以,AI的专业知识储备非常重要,不能为了辩论而辩论。

DRAG在多跳问答上的成功,主要归功于其对推理过程的细致把控。在代码生成或策略游戏中,幻觉可能表现为生成错误的代码逻辑或做出次优的决策。DRAG或许可以通过以下方式发挥作用:

1. 代码生成:让不同的智能体分别生成不同版本的代码,然后通过辩论来找出错误和漏洞。
2. 策略游戏:让智能体模拟不同的游戏策略,通过辩论来评估策略的优劣。

但是,代码生成和策略游戏对推理的深度和广度要求更高,DRAG可能需要进行更复杂的模型设计和训练。

好问题!DRAG框架通过裁判智能体的评估来动态调整辩论轮数和查询次数,力求在效率和准确性之间找到平衡。但实际应用中,挑战可能包括:

1. 裁判智能体的偏见:裁判智能体的评估标准可能存在固有的偏见,导致辩论朝着不客观的方向发展。
2. 计算成本:多轮辩论和多次查询会增加计算成本,对于资源有限的应用场景可能不太友好。
3. 收敛问题:辩论可能陷入僵局或无限循环,需要设计合理的停止策略。
4. 任务复杂度的适应性:简单任务可能不需要过度辩论,复杂任务则需要更多轮次的辩论。如何根据任务复杂度自适应地调整辩论策略是一个挑战。

DRAG框架里这个“辩论”,让我想到了法律诉讼。律师(智能体)需要准备论据,法官(裁判方)需要评估。但现实中,诉讼旷日持久,成本高昂。DRAG如何避免陷入类似的困境呢?是不是可以引入一些“速裁”机制,比如设定辩论上限,或者采用更加高效的评估算法?

我个人觉得这个辩论次数的动态调整很关键,要不然感觉确实会浪费资源,我是做嵌入式的,如果考虑到要移植到算力受限的设备上,最好还是搞个策略来控制辩论次数,但是这个策略本身的设计可能又会引入新的问题,感觉是个trade-off

这个方向很值得探索!图像生成领域也有类似的问题,比如生成不符合物理规律的图像。DRAG或许可以借鉴到图像生成领域,通过让智能体辩论图像的合理性,来提高生成图像的质量。