当前位置: 首页 > news >正文

不在传统RAG上雕花,这个思路让RAG不用一个人扛了

你用 RAG 做问答,检索回来 10 条文档,有些能答上来,有些是噪声。

以前的做法是让一个 Agent 统一过滤,留下看起来最相关的。但你有没有想过——那个 Agent 可能天然偏爱某一种证据格式:喜欢摘要式的内容,就忽略了原文里的关键数字;只会照搬原文,就漏掉了需要推理才能发现的联系。

MASS-RAG 的想法很简单:与其赌一个 Agent 的偏好,不如让三个不同视角的 Agent 各自过滤一遍,再把结果合起来。

这篇论文已经被 ACL 2026 Findings 接收,来自北京理工大学和清华大学团队。

三板斧取胜

MASS-RAG 把证据处理拆成了三个角色明确的 Agent:

Summarizer(压缩者)——把检索到的文档压缩成简洁表示,保留语义一致性的同时突出与查询相关的信息。它擅长"提炼大意",但不会逐字复制。

Extractor(抽取者)——严格从原文中复制与答案直接相关的关键片段,不做任何改写。它擅长"精确引用",但不会做推理。

Reasoner(推理者)——对检索内容进行推理,推断文档之间的隐含联系,明确说明证据如何支持查询。它擅长"串联线索",但不会照搬原文。

三个 Agent 各自独立处理同一批检索文档,产出三种不同视角的证据表示。

然后,可选的 Answer Agent对每个过滤结果独立生成一个候选答案(三个 Agent 就有三个候选答案),最后由Synthesis Agent把这些候选答案(或直接是过滤后的证据)整合为一个最终答案。

整个流程不需要任何训练,只靠不同的 prompt 就能实现角色分化。

三个Agent看到的真的不一样

光说"三个视角互补"太抽象了。论文做了一个很巧妙的实验来证明这一点。

他们构建了一个Uniquely Attributable Subset——找出那些"只有某一个 Agent 的过滤结果里包含了正确证据"的问题。换句话说,这些问题只有 Summarizer 能覆盖,或者只有 Extractor 能覆盖,或者只有 Reasoner 能覆盖。

结果很清晰:三种 Agent 各自独占了一部分只有自己能回答的问题。

这意味着:

  • Summarizer 能覆盖的问题,Extractor 和 Reasoner 不一定能覆盖
  • Extractor 能覆盖的问题,Summarizer 和 Reasoner 不一定能覆盖
  • Reasoner 能覆盖的问题,另外两个也不一定能覆盖

缺了谁都不行。这不是三个冗余的 Agent,而是三个真正互补的 Agent。

实验结果

在四个不同类型的基准上测试:

基准任务类型骨干模型相比 Standard RAG 提升相比 MAIN-RAG 提升
TriviaQA开放域问答Llama3-8B+3.5%+3.5%
PopQA长尾实体问答Llama3-8B+5.3%+0.3%
ASQA长文本模糊问答Llama3-8B+7.3%+27.1%
ARC-Challenge闭集推理Llama3-8B+20.7%+19.9%

特别是在 ASQA 和 ARC-Challenge 这两个更难的任务上,提升幅度非常显著——最高 27.1%

而且 MASS-RAG 对检索文档数量变化表现出了良好的鲁棒性:即使检索文档数量减少,仍然稳定优于 MAIN-RAG。

一个意外的发现

消融实验揭示了一个值得注意的细节:

Answer Agent 在事实型问答(TriviaQA、PopQA)上稳定有效,但在长文本问答(ASQA)上几乎没帮助。

原因很直觉:事实型问答的答案是确定的,从不同证据视角独立生成候选答案有助于消除歧义。但长文本问答需要把多元信息整合成一个综合回答,过早让每个 Agent 各自"下结论",反而损失了整合信息的灵活性。

所以在 ARC-Challenge 这类多选题上,论文直接关掉了 Answer Agent,让 Synthesis Agent 直接基于三个过滤证据生成最终答案。

这个发现本身就有工程参考价值:不是所有任务都需要"先各自回答再合成"这一步,有时候直接基于多元证据生成反而更好。

这意味着什么

MASS-RAG 的价值不在于"多智能体"这个标签,而在于它清楚地回答了两个问题:

第一,为什么要拆?因为不同类型的证据确实需要不同的处理方式,而且这些处理方式的覆盖范围是互补的——这不是假设,是被实验验证的事实。

第二,怎么拆才有效?不是随便分三个 Agent 各自干一样的事,而是要给每个 Agent 明确的角色约束(压缩/抽取/推理),让它们产出结构化的、可比较的中间结果,最后通过专用合成机制整合。

对工程师来说,这是一个即插即用的方案——不需要训练,改一下 prompt 就能用。对研究者来说,它给出了多智能体 RAG 的一个清晰范式:角色分化 → 独立过滤 → 结构化合成。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.cnnetsun.cn/news/2063680.html

相关文章:

  • 为什么高频PLL里偏爱用TSPC分频器?聊聊动态触发器的那些事儿
  • 别再死记硬背公式了!手把手教你用Python(SymPy库)搞定带绝对值的三角函数积分
  • 如何3步快速完成Windows和Office永久激活:KMS_VL_ALL_AIO完整指南
  • 告别复制粘贴!实战派教你用Allegro2Altium.bat脚本搞定AD文件转换(附环境变量避坑指南)
  • 零基础学习网络安全的五大困难
  • Desktop Postflop:德州扑克策略计算引擎的技术分析与实践指南
  • 想试试AI社交但不知道从哪开始?我花了三周整理了一份入门指南
  • 第7集:告警智能降噪!用 DBSCAN 聚类 + LLM 自动生成告警摘要
  • 安全测试与爬虫必备:详解Proxychains在Kali和Windows下的配置差异与协议选择
  • 使用 Python 打造基础 Web 漏洞扫描器 (一):网站爬虫 + SQL 注入检测实现
  • “慧视“导航功能开发博客 1:先把“能跑起来“做稳,再谈智能
  • 基于大数据和马尔可夫链的工况合成算法源程序
  • 快速解锁图表数据:WebPlotDigitizer完整指南
  • Legacy-iOS-Kit深度解析:旧款iOS设备系统降级与性能优化的完整技术方案
  • STM32F103 SDIO驱动SD卡,从硬件飞线到软件延时,我踩过的那些坑(附完整代码)
  • Vue3 + Element-Plus 实战:手把手教你封装一个带清空功能的文件上传组件
  • 3步轻松掌握Ai2Psd:从AI到PSD的无损矢量转换终极指南
  • 在 Cursor 中使用 Claude 生态的 Skills
  • 别再只会用printf了!STM32串口发送字符串的两种实用方法对比(含源码)
  • 思源宋体CN终极指南:免费开源专业中文字体的完整解决方案
  • 第47篇:AI提示工程高级技巧——思维链、少样本学习与角色扮演(操作教程)
  • 别再傻傻分不清了!Node.js里module.exports和exports到底有啥区别?一个例子讲明白
  • 从Java全栈开发到技术面试实战:一次真实的对话
  • 别再问float的最大值了!手把手带你从IEEE 754标准推导出单精度浮点数的极限
  • 一文读懂免费 WiFi 陷阱,学会远离黑客窃密攻击
  • 别再写Flask了!用Gradio 5分钟给你的AI模型做个网页Demo(附ResNet18图像分类实战)
  • RuoYi-Vue 3.8.6 项目瘦身实战:不用Redis,改用ConcurrentHashMap做本地缓存(附完整代码)
  • Instant-NGP的哈希编码到底怎么工作的?用PyTorch代码带你一步步拆解
  • 避开这3个坑!用ROBOGUIDE做FANUC机器人离线编程的效率翻倍技巧
  • 完整配置指南:3步高效掌握DLSS Swapper游戏性能优化工具