LLM2SMT: Building an SMT Solver with Zero Human-Written Code

Die Arbeit stellt eine Fallstudie vor, in der ein LLM-Agent einen vollständigen SMT-Löser für QF_UF ohne menschlich geschriebenen Code entwickelt, der den Nieuwenhuis-Oliveras-Kongruenzabschluss-Algorithmus implementiert, auf SMT-LIB-Benchmarks konkurrenzfähig ist und Beweise für Lean erzeugt.

Mikoláš Janota, Mirek Olšák

Veröffentlicht Tue, 10 Ma
📖 5 Min. Lesezeit🧠 Tiefgang

Each language version is independently generated for its own context, not a direct translation.

🤖 Der KI-Architekt, der einen Logik-Meister baute – ohne menschliche Hand

Stell dir vor, du gibst einem extrem talentierten, aber noch unerfahrenen Bauingenieur (einer KI) den Auftrag: „Baue mir eine Maschine, die mathematische Rätsel lösen kann."

Normalerweise würde ein Mensch diese Maschine Stück für Stück aus Schrauben und Zahnrädern (Code) zusammenbauen. In diesem Experiment hat jedoch niemand einen einzigen Schraubenzieher in die Hand genommen. Stattdessen hat eine KI (ein sogenannter „Coding-Agent") die gesamte Maschine aus dem Nichts erschaffen.

Das Ziel war es, einen SMT-Löser zu bauen. Klingt kompliziert? Stell dir das wie einen super-intelligenten Detektiv vor, der prüfen soll, ob eine lange Liste von Aussagen logisch zusammenpasst oder ob sie sich widersprechen.

1. Die Aufgabe: Ein Rätsel für den Detektiv

Der Detektiv muss mit einer speziellen Art von Rätseln umgehen, die QF_UF genannt werden. Das klingt nach Geheimsprache, ist aber im Grunde wie ein Spiel mit unbekannten Objekten und Gleichungen.

  • Beispiel: „Wenn A wie B aussieht und B wie C aussieht, dann muss A wie C aussehen."
  • Die KI musste einen Detektiv bauen, der solche Regeln automatisch anwendet, um herauszufinden, ob eine Geschichte (ein mathematisches Problem) wahr oder unmöglich ist.

2. Der Bauprozess: Lernen durch Ausprobieren

Die Forscher gaben der KI nur eine grobe Anleitung: „Baue einen Detektiv, der diese Regeln kennt."
Das Ergebnis war am Anfang chaotisch, wie bei einem Lehrling, der zum ersten Mal einen Motor baut:

  • Fehler 1: Der Detektiv vergaß, wie man „Oder"- und „Und"-Verbindungen verarbeitet. (Wie ein Koch, der Salz und Pfeffer kennt, aber nicht, wie man sie mischt).
  • Fehler 2: Der Detektiv baute sich seine eigene, sehr langsame Suchmaschine, obwohl es eine fertige, schnelle gab (CaDiCaL). Die Forscher mussten ihm sagen: „Benutze das fertige Werkzeug!"
  • Fehler 3: Der Detektiv lief manchmal endlos weiter, ohne aufzuhören. Die Forscher mussten ihm eine Stoppuhr (Timeout) an die Hand geben.

Die Lösung: Die Forscher gaben der KI keine fertigen Lösungen, sondern zeigten ihr Fehlerbeispiele. Wenn der Detektiv ein Rätsel falsch löste, sagte die KI: „Oh, da habe ich einen Fehler gemacht" und korrigierte ihren eigenen Code. Sie nutzte sogar eine Art „Fuzzing" (das Werfen von zufälligen Rätseln), um Schwachstellen zu finden, genau wie ein Sicherheitsprüfer, der versucht, eine Festung zu knacken.

3. Der Clou: Der „Diamond"-Trick

Es gab eine spezielle Art von Rätseln (die „equational diamond problems"), bei denen der Detektiv normalerweise in einer endlosen Schleife stecken bleibt. Er musste alle möglichen Kombinationen durchprobieren, wie ein Wanderer, der in einem Labyrinth jede einzelne Gasse abläuft.

Die KI entwickelte jedoch eine clevere Vorverarbeitung. Stell dir vor, der Detektiv schaut sich das Labyrinth von oben an und sagt: „Aha! Egal welchen Weg ich nehme, ich muss hier und hier durchgehen." Er fügt diese Erkenntnisse sofort als neue Hinweise in die Liste ein.
Dadurch löste er diese schwierigen Rätsel sofort, während andere Detektive Stunden brauchen würden.

4. Der Beweis: Der KI-Notar

Das Coolste an der Geschichte: Wenn der Detektiv sagt „Das ist unmöglich!", muss er es beweisen können.
Die KI baute nicht nur den Detektiv, sondern schrieb auch einen formalen Beweis in einer speziellen Sprache (Lean), die von einem Computer-Notar geprüft werden kann.

  • Das Problem: Die KI hatte am Anfang Schwierigkeiten, den Beweis so zu strukturieren, dass der Notar ihn verstand. Es war, als würde jemand versuchen, ein komplexes juristisches Dokument zu schreiben, aber die Absätze falsch zu setzen.
  • Das Ergebnis: Nach viel Nachhilfe und Beispielen gelang es der KI, perfekte Beweise zu schreiben, die der Notar akzeptierte. Kein einziger falscher Beweis wurde gefunden!

5. Das Ergebnis: Ein echter Wettbewerber

Am Ende wurde der von der KI gebaute Detektiv gegen die besten menschlich gebauten Detektive der Welt (namens Z3 und cvc5) getestet.

  • Ergebnis: Der KI-Detektiv löste fast genauso viele Rätsel wie die Profis.
  • Er war zwar nicht in jedem Fall der Schnellste, aber er war wettbewerbsfähig.

🎯 Was lernen wir daraus?

  1. KI kann Software schreiben, die logisch denkt: Es ist nicht nur möglich, KI Texte schreiben zu lassen, sondern auch komplexe Logik-Maschinen zu bauen.
  2. Aber sie braucht Aufsicht: Die KI macht Fehler, besonders bei kleinen, tückischen Details (wie dem Umgang mit „Wahr/Falsch"-Werten). Sie braucht menschliche Anleitung, um Fehler zu finden und zu korrigieren.
  3. Der „Jagged Intelligence"-Effekt: Die KI kann Genialität zeigen (sie fand den cleveren Vorverarbeitungs-Trick), aber dann bei einer simplen Aufgabe scheitern (sie vergaß, dass „x = x" immer „wahr" ist). Das ist wie ein Wunderkind, das eine Symphonie komponiert, aber vergisst, wie man Schuhe bindet.

Fazit:
Dieses Papier zeigt, dass wir bald KI-Agenten haben könnten, die uns helfen, komplexe Software zu bauen und zu prüfen. Aber wir müssen sie nicht als Magier betrachten, die alles perfekt machen, sondern als hochintensive Praktikanten, die wir anleiten, testen und bei Bedarf korrigieren müssen. Wenn wir das richtig machen, können sie uns Werkzeuge bauen, die so gut sind wie die besten, die Menschen je erschaffen haben.