News
LLM-Gedächtnis als Programmanalyse - Wie ein Datalog-Engine LLM-Agenten schlauer macht
Jordy Zommer hat beim Experimentieren mit LLM-Agents für Vulnerability Research ein hübsches Problem entdeckt: nach ein paar Stunden Untersuchung verliert das Modell den Überblick über was eigentlich noch gilt und was nicht. Eine falsche Annahme wird zurückgezogen, aber abhängige Schlussfolgerungen bleiben bestehen - klassische LLM-Halluzination.
Von Memory zu Program Analysis
Die Lösung kam aus einem unerwarteten Winkel: Program Analysis. Statt dem LLM alte Gespaerche in den Prompt zu stopfen und zu hoffen dass es die Konsequenzen einer geänderten Annahme selbst findet, trennt Zommer das Problem in zwei Teile. Das LLM macht das, woran es gut ist: natürliche Sprache, Source Code und Debugger-Output verstehen und in strukturierte Fakten übersetzen. Eine Datalog-Engine namens Lemmalog übernimmt das Deterministische: Fakten speichern, Regeln anwenden und einen Fixpunkt berechnen.
Datalog für LLMs
Datalog ist eine deklarative Logik-Sprache: man definiert Fakten und Regeln, die neue Fakten aus bestehenden ableiten. Wenn ein Fakt gelöscht wird, weiß die Engine genau welche abhängigen Schlussfolgerungen davon betroffen sind und invalidiert sie automatisch. Das löst das Retraction-Problem elegant - mehrere unabhängige Beobachtungen können dieselbe Conclusion stützen, und erst wenn alle wegfallen wird die Conclusion entfernt.
Provenance und “Warum?”
Lemmalog tracked wie jeder Fakt entstanden ist. Man kann fragen: “Warum glaubt der Agent X?” und bekommt die gesamte Beweiskette zurück. Das macht es viel schwerer für ungestuetzte Halluzinationen, unbemerkt Teil der Untersuchung zu werden.