Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
Dit artikel stelt Retrieval-Augmented Generation (RAG) en Constrained Decoding (CD) voor en evalueert deze als complementaire strategieën om de correctheid van door LLM's gegenereerde web API-aanroepen te verbeteren, waarbij wordt vastgesteld dat hoewel RAG effectief hallucinaties vermindert bij de volledige generatie van aanroepen, CD een betrouwbaardere preventie van illegale parameters biedt en de algehele correctheid in verschillende scenario's aanzienlijk verhoogt.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een huis probeert te bouwen, maar in plaats van een meesterarchitect in te huren, vraag je een zeer slimme, goed onderlegde, maar ietwat slonzige assistent (het Large Language Model, of LLM) om de blauwdrukken voor je te schrijven.
Het probleem is dat de "regels" voor het bouwen van dit huis niet in het hoofd van de assistent zitten. Ze staan geschreven in een enorme, complexe handleiding genaamd een OpenAPI Specificatie (een document dat precies vertelt welke deuren je moet openen, welke sleutels je moet gebruiken en welke maat bakstenen je moet bestellen).
Als je de assistent alleen vraagt om "een deur te bouwen", kan hij de verkeerde maat raden, de verkeerde sleutel gebruiken, of een deur verzinnen die niet in de handleiding staat. Dit wordt hallucinatie genoemd.
Dit artikel gaat over het geven van twee specifieke hulpmiddelen aan die assistent om te voorkomen dat hij regels verzint en om hem te laten beginnen de handleiding perfect te volgen.
Het Probleem: Het "Raadspelletje"
De onderzoekers ontdekten dat wanneer ze AI-modellen vroegen om code te schrijven om verbinding te maken met webdiensten (zoals het versturen van een bericht naar Slack of het controleren van een Google Agenda), de AI constant fouten maakte.
- Het koos de verkeerde "deur" (endpoint).
- Het probeerde een sleutel te gebruiken die niet bestond.
- Het verzon functies die niet in de handleiding stonden.
De Oplossing: Twee Nieuwe Hulpmiddelen
Het papier test twee verschillende manieren om dit op te lossen, gebruikmakend van een dataset van echte programmeertaken.
Hulpmiddel 1: Het "Spiekbriefje" (Retrieval-Augmented Generation - RAG)
De Analogie: Stel je voor dat je een toets maakt, maar dat je een specifieke pagina uit het tekstboek mee naar de zaal mag nemen. Voordat de AI zijn antwoord schrijft, zoekt een robotbibliothecaris (de Retriever) de exacte pagina over de "Deur" die je nodig hebt, en overhandigt deze aan de AI.
- Hoe het werkte: De onderzoekers bouwden een systeem dat het relevante deel van de API-handleiding pakt en het in de prompt van de AI plakt.
- Het Resultaat: Het was een gemengd geheel.
- Goed: Wanneer de AI niet wist welke deur hij moest kiezen, hielp het spiekbriefje hem om de juiste te vinden. Het voorkwam dat de AI nepdeuren verzint.
- Slecht: Wanneer de AI al wist welke deur hij moest kiezen, maakte het spiekbriefje hem soms in de war. De AI zag een lijst van 20 mogelijke sleutels in het spiekbriefje en dacht: "Ik moet waarschijnlijk ze allemaal gebruiken!" zelfs al had de taak er slechts één nodig. Dit maakte de code rommelig en incorrect.
- Verdict: Het helpt bij het vinden van het juiste pad, maar het kan de AI "overijverig" maken om extra opties te gebruiken die hij niet nodig heeft.
Hulpmiddel 2: De "Treinrails" (Constrained Decoding - CD)
De Analogie: Stel je voor dat de AI een trein is. Normaal gesproken kan de trein overal op de kaart naartoe gaan, zelfs van de rails af in een moeras (hallucinaties). Constrained Decoding is als het leggen van stalen treinrails die alleen naar geldige bestemmingen leiden. De trein kan fysiek niet van de rails afwijken.
- Hoe het werkte: De onderzoekers namen de handleiding en zetten deze om in een reeks strikte regels (zoals een doolhof). Terwijl de AI probeerde het volgende woord van de code te typen, controleerde het systeem: "Is dit woord toegestaan door de regels?" Als de AI een nepdeur of een verkeerde sleutel probeerde te typen, blokkeerde het systeem dit en dwong de AI om een geldige optie te kiezen.
- Het Resultaat: Dit was de duidelijke winnaar.
- Nul Hallucinaties: De AI kon geen enkele nep-URL, methode of argument verzinnen. Het was wiskundig onmogelijk voor de AI om de regels te breken.
- Betere Nauwkeurigheid: Omdat de AI niets kon verzinnen, was de geschreven code veel waarschijnlijker correct.
- Verdict: Dit is het meest betrouwbare hulpmiddel. Het dwingt de AI om gehoorzaam te zijn aan de handleiding.
De Combinatie: "Spiekbriefje" + "Treinrails"
De onderzoekers probeerden beide hulpmiddelen tegelijkertijd te gebruiken.
- Het Resultaat: Het werkte erg goed voor sommige modellen en leverde de hoogste scores op. Het was echter niet consistent. Soms zorgde het "Spiekbriefje" ervoor dat de AI probeerde te veel opties te gebruiken, en hoewel de "Treinrails" voorkamen dat hij illegale zetten maakte, maakte hij nog steeds onnodige zetten.
- Verdict: Het is krachtig, maar de "Treinrails" alleen zijn veiliger en consistenter.
De Kernboodschap
Het paper concludeert dat hoewel AI geweldig is in het schrijven van code, het verschrikkelijk is in het zelfstandig volgen van complexe, externe regelboeken.
- RAG (Het Spiekbriefje) is als het geven van een naslagwerk aan de AI. Het helpt, maar de AI kan worden afgeleid door te veel informatie.
- CD (De Treinrails) is als het bouwen van een kooi rond de AI die alleen geldige zetten toestaat. Dit is de meest effectieve manier om de AI te stoppen met het verzinnen van regels.
De onderzoekers zeggen dat als je wilt dat een AI code schrijft die verbinding maakt met webdiensten zonder fouten te maken, je niet alleen op het geheugen van de AI moet vertrouwen. Je moet ofwel de juiste handleiding geven (RAG) of, nog beter, de AI dwingen de regels strikt te volgen (CD). De "Treinrails"-aanpak is de meest betrouwbare manier om te garanderen dat de code daadwerkelijk werkt.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.