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

Dit paper introduceert CARROT, een geoptimaliseerd systeem voor Retrieval-Augmented Generation dat gebruikmaakt van Monte Carlo Tree Search en een configuratie-agent om de volgorde en selectie van tekstchunks te verbeteren, waardoor hallucinaties worden verminderd en de prestaties met tot 30% stijgen ten opzichte van bestaande methoden.

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

Gepubliceerd Fri, 13 Ma
📖 5 min leestijd🧠 Diepgaand

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

Stel je voor dat je een zeer slimme, maar soms wat vergeetachtige assistent hebt: een Grote Taalmodel (LLM). Deze assistent kan prachtige verhalen schrijven en vragen beantwoorden, maar heeft een groot probleem: hij weet niet wat er gisteren is gebeurd en "hallucineert" soms feiten die niet waar zijn.

Om dit op te lossen, gebruiken we RAG (Retrieval-Augmented Generation). Dit is alsof je je assistent een enorme bibliotheek geeft. Als hij een vraag krijgt, zoekt hij in die bibliotheek naar de juiste pagina's (de "chunks" of stukjes tekst) en leest die voor om zijn antwoord te vormen.

Maar hier zit een addertje onder het gras:

  1. De bibliotheek is te groot om alles in één keer te lezen.
  2. Soms zijn de gevonden stukken tekst dubbelop of staan ze in de verkeerde volgorde.
  3. Meer tekst is niet altijd beter; soms maakt te veel informatie je assistent verward.

De onderzoekers van dit paper hebben een nieuwe oplossing bedacht, genaamd CARROT. Laten we uitleggen hoe dit werkt met een paar creatieve metaforen.

1. Het Probleem: De "Verkeerde Route" in de Bibliotheek

Stel je voor dat je een reisplanner (de RAG-systeem) hebt die voor jou de beste route door een stad moet vinden.

  • Huidige systemen doen alsof ze gewoon de dichtstbijzijnde straten kiezen, zonder te kijken of die straten bij elkaar horen. Ze kiezen misschien drie stukjes tekst die elk apart goed zijn, maar die samen een onlogisch verhaal vormen.
  • Ze denken ook: "Hoe meer informatie, hoe beter!" en vullen je geheugen (het contextvenster) tot de rand. Maar als je te veel informatie geeft, raakt je assistent in paniek en maakt hij fouten.
  • Ze gebruiken één vaste strategie voor elke vraag, of het nu gaat om wiskunde, geschiedenis of koken.

2. De Oplossing: CARROT (De Slimme Reisplanner)

CARROT is een systeem dat leert hoe je de perfecte verzameling tekststukjes kiest én in de juiste volgorde zet, zonder je "reissom" (rekenkracht en kosten) te vergeten.

Het werkt met drie slimme trucjes:

A. De "Monte Carlo" Speurtocht (De MCTS)

In plaats van gewoon de eerste goede tekst te pakken, doet CARROT alsof het een gokker in een casino is die een strategie ontwikkelt.

  • Stel je voor dat je een boomtekent. De stam is je vraag. De takken zijn mogelijke combinaties van tekststukjes.
  • CARROT "speelt" duizenden scenario's door: "Wat gebeurt er als ik eerst stukje A lees en dan B? En wat als ik B eerst lees en dan A?"
  • Het gebruikt een slimme formule (UCB) om te beslissen welke takken het moet verkennen en welke het kan negeren. Het zoekt niet naar de eerste goede oplossing, maar naar de beste volgorde.
  • De analogie: Het is alsof je niet gewoon de dichtstbijzijnde supermarkt kiest, maar eerst even checkt of de producten in de juiste volgorde op je boodschappenlijstje staan om de kortste route te maken.

B. De "Niet-Monotoon" Wijsheid (Minder is Meer)

Huidige systemen denken: "Ik heb een budget van 1000 woorden, dus ik vul het tot 1000 woorden op."
CARROT begrijpt dat meer niet altijd beter is.

  • Soms maakt het toevoegen van een vierde tekststukje je antwoord juist slechter omdat het verwarring zaait.
  • CARROT stopt precies op het moment dat het antwoord het beste is, zelfs als het budget nog niet helemaal op is. Het is als een chef-kok die proeft: "Dit gerecht is perfect, ik voeg geen extra kruiden toe, ook al heb ik ze nog wel."

C. De "Configuratie Agent" (De Slimme Assistent)

Niet elke vraag is hetzelfde. Een vraag over de wet vereist een andere zoekstrategie dan een vraag over koken.

  • CARROT heeft een mini-AI-assistent (de Configuratie Agent) die meekijkt.
  • Zodra je een vraag stelt, kijkt deze agent naar de vraag en de beschikbare tekst. Hij zegt dan: "Voor deze vraag moeten we sneller zoeken en een andere soort 'rangschikking' gebruiken."
  • De analogie: Het is alsof je een taxichauffeur hebt die voor elke rit een ander routeplan maakt. Voor een ritje door de stad in de spits kiest hij een andere route dan voor een ritje over het platteland.

Waarom is dit zo belangrijk?

  1. Snelheid en Kosten: Omdat CARROT slim zoekt en niet alles probeert, is het veel sneller en goedkoper dan systemen die proberen alles te "leren" of enorme kennisgrafieken te bouwen.
  2. Betere Antwoorden: In tests gaf CARROT tot 30% betere antwoorden dan de beste bestaande systemen, terwijl het minder tekst gebruikte.
  3. Flexibiliteit: Het werkt goed met verschillende soorten vragen en verschillende grote taalmodellen (zoals Llama of GPT).

Samenvatting in één zin

CARROT is een slimme "reisleider" voor AI die niet alleen de beste informatie zoekt, maar ook precies weet in welke volgorde die informatie moet worden gepresenteerd, zodat de AI het beste antwoord geeft zonder te veel tijd of geld te verspillen.

Het is de overstap van "blind zoeken en hopen dat het goed komt" naar "strategisch plannen en precies weten wat je nodig hebt".