Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
Dieses Paper schlägt die Verwendung von Retrieval-Augmented Generation (RAG) und Constrained Decoding (CD) als komplementäre Strategien vor und evaluiert diese zur Verbesserung der Korrektheit von LLM-generierten Web-API-Aufrufen, wobei festgestellt wird, dass RAG zwar effektiv Halluzinationen bei der vollständigen Generierung von Aufrufen reduziert, CD jedoch eine zuverlässigere Vermeidung illegaler Parameter bietet und die Gesamtkorrektheit über verschiedene Szenarien hinweg signifikant steigert.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie möchten ein Haus bauen, aber anstatt einen Architekten zu engagieren, bitten Sie einen sehr intelligenten, belesenen, aber etwas zerstreuten Assistenten (das Large Language Model oder LLM), die Baupläne für Sie zu schreiben.
Das Problem ist, dass die „Regeln“ für den Bau dieses Hauses nicht im Kopf des Assistenten sind. Sie stehen in einem riesigen, komplexen Handbuch, einer OpenAPI-Spezifikation (einem Dokument, das genau festlegt, welche Türen man öffnen muss, welche Schlüssel man verwendet und welche Ziegelform man bestellen muss).
Wenn Sie den Assistenten einfach nur bitten, „eine Tür zu bauen“, könnte er die falsche Größe raten, den falschen Schlüssel verwenden oder eine Tür erfinden, die im Handbuch gar nicht existiert. Das nennt man Halluzination.
In dieser Arbeit geht es darum, diesem Assistenten zwei spezifische Werkzeuge an die Hand zu geben, damit er aufhört, Regeln zu erfinden, und statfangen beginnt, das Handbuch perfekt zu befolgen.
Das Problem: Das „Ratespiel“
Die Forscher stellten fest, dass KI-Modelle ständig Fehler machten, wenn sie aufgefordert wurden, Code zu schreiben, um eine Verbindung zu Webdiensten herzustellen (wie etwa das Senden einer Nachricht an Slack oder das Überprüfen eines Google-Kalenders).
- Es wählte die falsche „Tür“ (Endpoint).
- Es versuchte, einen Schlüssel zu verwenden, der nicht existierte.
- Es erfand Funktionen, die nicht im Handbuch standen.
Die Lösung: Zwei neue Werkzeuge
Die Forscher testen zwei verschiedene Wege, um dies zu beheben, unter Verwendung eines Datensatzes aus realen Programmieraufgaben.
Werkzeug 1: Der „Spickzettel“ (Retrieval-Augmented Generation – RAG)
Die Analogie: Stellen Sie sich vor, Sie machen eine Prüfung, dürfen aber ein bestimmtes Blatt aus dem Lehrbuch mit in den Raum nehmen. Bevor die KI ihre Antwort schreibt, sucht ein Roboter-Bibliothekar (der Retriever) im riesigen Handbuch nach der exakten Seite über die benötigte „Tür“ und reicht sie der KI.
- Wie es funktionierte: Die Forscher bauten ein System, das den relevanten Teil des API-Handbuchs herausgreift und ihn in den Prompt der KI einfügt.
- Das Ergebnis: Es war ein gemischtes Urteil.
- Gut: Wenn die KI nicht wusste, welche Tür sie wählen sollte, half der Spickzettel ihr, die richtige zu finden. Er verhinderte, dass die KI falsche Türen erfand.
- Schlecht: Wenn die KI bereits wusste, welche Tür sie wählen musste, verwirrte der Spickzettel sie manchmal. Die KI sah eine Liste von 20 möglichen Schlüsseln im Spickzettel und dachte: „Ich sollte wahrscheinlich alle davon benutzen!“, obwohl die Aufgabe nur einen einzigen benötigte. Dies machte den Code unordentlich und fehlerhaft.
- Fazit: Es hilft dabei, den richtigen Weg zu finden, kann die KI aber dazu bringen, „übermäßig eifrig“ zu sein und zusätzliche Optionen zu nutzen, die sie gar nicht braucht.
Werkzeug 2: Die „Gleise“ (Constrained Decoding – CD)
Die Analogie: Stellen Sie sich vor, die KI ist ein Zug. Normalerweise kann der Zug überall auf der Karte hinfahren, sogar abseits der Gleise in einen Sumpf (Halluzinationen). Constrained Decoding ist wie das Verlegen von Stahlschienen, die nur zu gültigen Zielen führen. Der Zug kann die Gleise physisch nicht verlassen.
- Wie es funktionierte: Die Forscher nahmen das Handbuch und wandelten es in eine Reihe strenger Regeln um (ähnlich einem Labyrinth). Während die KI versuchte, das nächste Wort des Codes zu tippen, prüfte das System: „Ist dieses Wort durch die Regeln erlaubt?“ Wenn die KI versuchte, eine falsche Tür oder einen falschen Schlüssel zu tippen, blockierte das System dies und zwang die KI, eine gültige Option zu wählen.
- Das Ergebnis: Dies war der klare Gewinner.
- Null Halluzinationen: Die KI konnte keinen einzigen falschen URL, keine falsche Methode und kein falsches Argument erfinden. Es war mathematisch unmöglich für sie, gegen die Regeln zu verstoßen.
- Bessere Genauigkeit: Da sie nichts erfinden konnte, war der geschriebene Code viel wahrscheinlicher korrekt.
- Fazit: Dies ist das zuverlässigste Werkzeug. Es zwingt die KI zur Gehorsamkeit gegenüber dem Handbuch.
Die Kombination: „Spickzettel“ + „Gleise“
Die Forscher probierten beide Werkzeuge gleichzeitig aus.
- Das Ergebnis: Es funktionierte für einige Modelle sehr gut und lieferte die höchsten Punktzahlen. Es war jedoch nicht konsistent. Manchmal bewirkte der „Spickzettel“, dass die KI versuchte, zu viele Optionen zu nutzen, und obwohl die „Gleise“ sie daran hinderten, illegale Züge zu machen, führte sie dennoch unnötige Züge aus.
- Fazit: Es ist leistungsstark, aber die „Gleise“ allein sind sicherer und konsistenter.
Das Fazit
Die Arbeit kommt zu dem Schluss, dass KI zwar großartig darin ist, Code zu schreiben, aber alleine schrecklich darin ist, komplexe, externe Regelwerke zu befolgen.
- RAG (Der Spickzettel) ist wie das Geben eines Referenzbuches an die KI. Es hilft, aber die KI kann durch zu viele Informationen abgelenkt werden.
- CD (Die Gleise) ist wie das Bauen eines Käfigs um die KI, der nur gültige Bewegungen zulässt. Dies ist der effektivste Weg, um die KI daran zu hindern, Regeln zu erfinden.
Die Forscher sagen, dass man sich, wenn man möchte, dass eine KI Code schreibt, der Webdienste verbindet, ohne dabei Fehler zu machen, nicht nur auf das Gedächtnis der KI verlassen sollte. Man muss ihr entweder das richtige Handbuch geben (RAG) oder, noch besser, sie dazu zwingen, die Regeln strikt zu befolgen (CD). Der „Gleise“-Ansatz ist der zuverlässigste Weg, um sicherzustellen, dass der Code tatsächlich funktioniert.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.