XGrammar-2: Efficient Dynamic Structured Generation Engine for Agentic LLMs
XGrammar-2 ist ein hocheffizienter Engine für strukturierte Generierung, der für dynamische agentic LLM-Workloads konzipiert ist und durch tag-getriggertes Strukturwechseln sowie Wiederverwendung von Cross-Grammar-Caches eine über sechsfach schnellere Kompilierung und nahezu null Overhead im End-to-End-Betrieb im Vergleich zu früheren Systemen ermöglicht.
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 sind ein Koch (die KI), der versucht, ein sehr strenges Rezept zu befolgen. Manchmal ist das Rezept einfach: „Machen Sie ein Sandwich." Doch in der Welt der KI-Agenten ist das Rezept oft eine komplexe, sich ständig wandelnde Reihe von Anweisungen wie: „Schreiben Sie einen Satz, wechseln Sie dann zu einem JSON-Codeblock, um ein Wetter-Tool aufzurufen, wechseln Sie dann zurück zum Schreiben eines Satzes, wechseln Sie dann zu einem bestimmten Format für eine Datenbankabfrage."
Das Problem ist, dass traditionelle „Küchen" (KI-Engines) hervorragend darin sind, ein festes Rezept zu befolgen, aber sie haben Schwierigkeiten, wenn sich das Rezept im laufenden Betrieb ändert oder wenn der Koch zwischen Dutzenden verschiedener komplexer Formate sofort wechseln muss. Oft müssen sie anhalten, das gesamte Rezeptbuch von Grund auf neu schreiben, bevor sie mit dem Kochen beginnen können, was alles verlangsamt.
XGrammar-2 ist eine neue, hocheffiziente Küchen-Engine, die speziell für diese chaotischen, dynamischen Kochszenarien entwickelt wurde. So funktioniert es, unter Verwendung einfacher Analogien:
1. Der „magische Schalter" (TagDispatch)
Das Problem: Stellen Sie sich ein Rezept vor, das sagt: „Schreiben Sie normal weiter, bis Sie das Wort 'STOP' sehen, wechseln Sie dann in einen mathematischen Modus, und wechseln Sie dann zurück." Dies mit alten Methoden zu tun, ist wie der Versuch, ein massives, verworrenes Handbuch zu schreiben, bei dem jedes mögliche Wort zu einer anderen Seite führt. Es wird unübersichtlich und riesig.
Die XGrammar-2-Lösung: Sie haben eine Funktion namens TagDispatch eingeführt. Denken Sie daran als an einen magischen Schalter oder eine Ampel.
- Die KI schreibt normal (grüne Ampel).
- Sobald sie einen bestimmten Auslöser sieht (wie ein Tag
<function=weather>), wird die Ampel sofort rot, und die Engine weiß genau, zu welchem „Teilrezept" (dem JSON-Format für das Wetter) sie wechseln muss. - Sobald dieses Teilrezept abgeschlossen ist, wird die Ampel wieder grün, und die KI kehrt zum normalen Schreiben zurück.
- Warum es cool ist: Anstatt ein riesiges, verwirrendes Handbuch zu schreiben, folgt die Engine einfach den Ampeln. Der Wechsel zwischen freiem Text und striktem Code wird dadurch sofort und einfach.
2. Die „gemeinsame Bibliothek" (Cross-Grammar Cache)
Das Problem: Stellen Sie sich vor, Sie kochen 100 verschiedene Gerichte. 90 davon verwenden exakt denselben Schritt „Zwiebeln hacken", aber die alte Engine behandelt jedes Gericht als eine völlig neue Aufgabe. Sie lernt für jedes einzelne Gericht von Grund auf neu, wie man Zwiebeln hackt. Das ist eine Verschwendung von Zeit.
Die XGrammar-2-Lösung: Sie haben eine gemeinsame Bibliothek (Cross-Grammar Cache) erstellt.
- Selbst wenn die Endgerichte (die vollständige Grammatik) unterschiedlich sind, sind die Zutaten und Schritte (Teilstrukturen) oft gleich.
- XGrammar-2 betrachtet die Schritte. Wenn es sieht: „Oh, ich habe bereits herausgefunden, wie man Zwiebeln für ein ähnliches Gericht hackt", berechnet es nichts neu. Es holt sich einfach die bereits gehackten Zwiebeln aus der Bibliothek.
- Warum es cool ist: Es verhindert, dass die Engine dieselbe Mathematik immer und immer wieder durchführt. Es nutzt die bereits geleistete „Arbeit" wieder, selbst wenn die Gesamtanfrage unterschiedlich ist.
3. Der „Just-in-Time"-Koch (JIT-Compilation)
Das Problem: In den alten Tagen musste die Engine, bevor sie auch nur einen Bissen kochen konnte, für jede einzelne Anfrage das gesamte Rezeptbuch lesen. Wenn das Rezept riesig war (wie eine Tool-Aufrufanfrage mit 500 möglichen Tools), saß die Engine nur Sekunden lang da und las das Buch, bevor das Kochen begann.
Die XGrammar-2-Lösung: Sie verwenden einen Just-in-Time (JIT)-Ansatz.
- Anstatt zuerst das ganze Buch zu lesen, liest der Koch nur die Seite, die er gerade jetzt benötigt.
- Während die KI über die ersten paar Wörter nachdenkt (die „Prefill"-Phase), bereitet die Engine leise die nächsten Seiten des Rezepts vor.
- Warum es cool ist: Es versteckt die Vorbereitungszeit. Bis die KI bereit ist, das nächste Wort auszusprechen, hat die Engine den nächsten Schritt bereits vorbereitet. Dadurch erscheint das „erste Wort" fast sofort, selbst bei komplexen Aufgaben.
4. Die „komprimierte Karte" (Repetition State Compression)
Das Problem: Einige Rezepte haben wiederholende Schritte, wie „Wiederholen Sie diese Aktion 1.000 Mal". Alte Engines würden versuchen, eine Karte mit 1.000 separaten Punkten für jeden Schritt zu zeichnen. Diese Karte wird riesig und verlangsamt alles.
Die XGrammar-2-Lösung: Sie verwenden Repetition State Compression.
- Anstatt 1.000 Punkte zu zeichnen, zeichnen sie einen großen „Schleifen"-Pfeil und sagen: „Gehen Sie hier 1.000 Mal herum."
- Warum es cool ist: Es hält die Karte klein und einfach, egal wie oft die KI einen Schritt wiederholen muss. Dies verhindert, dass die Engine durch lange Listen oder Schleifen ins Stocken gerät.
Die Ergebnisse: Was haben sie herausgefunden?
Die Studie testete diese neue Engine gegen die derzeit besten Methoden:
- Geschwindigkeit: Sie kompiliert das „Rezept" (die Grammatik) 6-mal schneller als frühere Engines.
- Effizienz: Sie fügt der Reaktionszeit der KI fast keine Verzögerung hinzu. Sie ist so schnell, dass die KI nicht einmal merkt, dass sie da ist.
- Kompatibilität: Sie funktioniert nahtlos mit beliebten KI-Systemen (wie SGLang und vLLM) und bewältigt komplexe Aufgaben wie das Aufrufen von Tools oder das Befolgen strenger Antwortformate, ohne ins Schwitzen zu geraten.
Kurz gesagt, ist XGrammar-2 wie ein Upgrade des KI-Gehirns von einem langsamen, starren Bibliothekar, der jedes Buch neu einordnen muss, bevor er eine Frage beantwortet, zu einem superschnellen, flexiblen Assistenten, der genau weiß, wo er die Antwort findet, vorheriges Wissen wiederverwendet und sofort zwischen Themen wechselt, ohne aus dem Takt zu kommen.
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.