CARROT: A Learned Cost-Constrained Retrieval Optimization System for RAG

CARROT 是一种针对检索增强生成(RAG)的基于蒙特卡洛树搜索的成本约束检索优化框架,它通过考虑块间相关性、解决效用非单调性问题以及引入查询自适应配置代理,显著提升了检索质量与效率。

Ziting Wang, Haitao Yuan, Wei Dong, Gao Cong, Feifei Li

发布于 Fri, 13 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 CARROT 的新系统,它的任务是让大语言模型(LLM)在回答问题时更聪明、更省钱、更准确。

为了让你轻松理解,我们可以把整个 RAG(检索增强生成)过程想象成**“一位博学但记性不太好的作家,正在图书馆里写文章”**。

1. 背景:作家遇到的三个大麻烦

想象一下,这位作家(大模型)想写一篇文章回答你的问题,但他记不住所有最新的知识,所以必须去图书馆(外部数据库)找资料。图书馆把书撕成了无数个小纸条(Chunk,数据块)。

现在的检索系统主要面临三个大麻烦:

  • 麻烦一:乱糟糟的纸条(缺乏关联)
    • 现状:传统的系统就像个笨拙的图书管理员,只挑看起来最像问题的纸条给你,不管它们之间有没有关系。
    • 比喻:就像你问“埃菲尔铁塔是谁建的?”,管理员可能给你一张写“埃菲尔铁塔很高”的纸条,和一张写“它建于 1889 年”的纸条,但把顺序搞反了,或者给了两张内容重复的纸条。作家读起来很晕,写出来的文章逻辑混乱。
  • 麻烦二:越多越好?不存在的(效用非单调)
    • 现状:大家通常认为“给作家看的纸条越多,他写得越好”。
    • 比喻:其实不然!如果你给作家塞了一大堆纸条,其中混进了几页废话或者互相矛盾的内容,作家反而会糊涂,甚至开始胡编乱造(幻觉)。有时候,少而精的纸条组合,比多而杂的效果好得多。
  • 麻烦三:一把钥匙开万把锁?不行(查询多样性)
    • 现状:现在的系统不管你是问“怎么做蛋糕”还是“法律条文”,都用同一套找资料的方法。
    • 比喻:这就像用找“菜谱”的方法去找“法律条款”,肯定找不到最合适的。不同的问题需要不同的“找书策略”。

2. 解决方案:CARROT 系统

CARROT 就像是一个超级聪明的“资料筛选与排序专家”,它专门帮作家在有限的时间内(成本预算),找到最完美的纸条组合和最完美的阅读顺序

它主要做了三件大事:

A. 玩“蒙特卡洛树搜索”(MCTS):像下棋一样找最佳顺序

  • 以前的做法:像贪吃蛇,看到哪个纸条分数高就捡哪个,捡满为止。
  • CARROT 的做法:像下围棋。它不会只看眼前这一步,而是会推演:“如果我先拿这张,再拿那张,最后的效果会怎样?”
  • 比喻:它会在脑海里构建一棵“决策树”。它不是盲目地捡纸条,而是像下棋高手一样,尝试不同的组合路径,计算哪条路能写出最好的文章。它甚至会发现,有时候先读 B 再读 A,比先读 A 再读 B效果好得多(这就是它解决“顺序”问题的核心)。

B. 懂得“适可而止”:不再盲目塞满预算

  • 以前的做法:只要预算(比如 1000 个字)没花完,就拼命往里塞纸条。
  • CARROT 的做法:它知道“过犹不及”。如果加上一张纸条会让文章变乱,哪怕预算还剩很多,它也坚决不加
  • 比喻:就像做菜,盐放多了反而难吃。CARROT 会尝一口,发现味道刚好,哪怕锅还没满,它也立刻停手,保证味道(回答质量)最佳。

C. 配备“配置特工”(Configuration Agent):见人说人话,见鬼说鬼话

  • 以前的做法:不管什么问题,都用同一个“找书规则”。
  • CARROT 的做法:它有一个智能特工。当你问问题时,特工会先分析:“哦,这是个关于‘医疗’的问题,还是‘代码’的问题?”
  • 比喻
    • 如果你问法律问题,特工会调整策略,用更严谨的“找书方式”和更深的“思考深度”。
    • 如果你问日常闲聊,特工就会用更轻快、更简单的策略。
    • 它甚至能自动预测:“这个问题需要找 30 次资料,那个问题只需要找 10 次”,从而节省大量时间和金钱。

3. 结果如何?

实验证明,CARROT 非常厉害:

  • 更准:回答质量比现有的最好方法提高了 30%
  • 更省:它不需要像其他高级方法那样,每次都调用昂贵的 AI 模型去生成复杂的知识图谱,它更轻量、更快速。
  • 更灵活:不管你是问复杂的科学问题,还是简单的日常问题,它都能自动调整策略,给出最好的答案。

总结

如果把大语言模型比作作家,把外部数据比作图书馆的纸条

  • 旧系统:像个只会按字母顺序挑纸条的机器人,给作家一堆乱序、重复的纸条,还不管预算,导致作家写得又慢又错。
  • CARROT:像个经验丰富的主编。它先分析你的问题(配置特工),然后在脑海里推演无数种纸条组合和顺序(树搜索),最后只挑出最精简、逻辑最顺、顺序最对的那几页纸给作家。

结果就是:作家写得更快、更好,而且省下了买纸(计算成本)的钱。