LLM-gestützte ASP-Codegenerierung: Solver-in-the-Loop verbessert Logikrätsel
Mit dem rasanten Aufstieg großer Sprachmodelle (LLMs) wächst das Interesse an intelligenten Code‑Assistenten. Während die Unterstützung für allgemeine Programmiersprachen weit verbreitet ist, bleibt die Generierung von Code für domänenspezifische Sprachen wie Answer Set Programming (ASP) eine große Herausforderung.
ASP ist besonders effektiv bei der Lösung kombinatorischer Suchprobleme, doch die Leistungsfähigkeit von LLMs in diesem Bereich wird durch die begrenzte Menge an Trainingsbeispielen während der Vortrainingsphase eingeschränkt. Um dieses Problem zu überwinden, präsentiert ein neues Forschungsprojekt einen innovativen Ansatz, bei dem ein ASP‑Solver direkt in den Lernprozess des Modells eingebunden wird.
Der Ansatz benötigt lediglich natürliche Sprachbeschreibungen von Problemen und deren Lösungen. Das Modell erzeugt dann ASP‑Anweisungen, die der Solver prüft. Durch die deklarative Natur von ASP können Teilkodierungen die Lösungsmenge schrittweise eingrenzen. Auf Basis des Solver‑Feedbacks werden die generierten Anweisungen in „akzeptiert“ oder „abgelehnt“ kategorisiert. Anschließend erfolgt ein gezieltes Supervised Fine‑Tuning auf dieser kuratierten Datenmenge, ergänzt durch eine solver‑gesteuerte Best‑of‑N‑Sampling‑Suche.
Experimentelle Ergebnisse zeigen konsistente Verbesserungen in zwei unterschiedlichen Prompt‑Settings auf zwei Datensätzen. Der Solver‑in‑the‑Loop-Ansatz demonstriert damit, wie domänenspezifische Rückmeldungen die Qualität von LLM‑generiertem Code signifikant steigern können.