Der Agent für wettbewerbsorientierte Programmierung erreicht die Top 10 weltweit, die neuen Modelle der Nanjing-Universität und der Tsinghua-Universität erreichen ein CF-Rating von über 3500
Große Sprachmodelle verbessern kontinuierlich ihre Fähigkeiten bei der Codegenerierung, scheitern aber bei komplexen algorithmischen Aufgaben, insbesondere im Bereich des Wettbewerbsprogrammierens, häufig aufgrund falscher Algorithmauswahl, fehlender Randbedingungen, Fehlern bei der Komplexitätsbewertung oder unzureichender Abdeckung versteckter Tests. Solvita ist ein Agenten-Framework für das Wettbewerbsprogrammieren, das durch vier Rollen (Planner, Solver, Oracle, Hacker) ein geschlossenes Kreislaufsystem bildet und mithilfe eines trainierbaren wissensbasierten Netzwerks mit Graphenstruktur Erfahrungen sammelt.
Wettbewerbsprogrammieren besteht nicht nur darin, „die Aufgabenstellung in Code zu übersetzen“. Eine korrekte Lösung erfordert oft mehrere komplexe Schritte: das Verstehen der natürlichsprachlichen Aufgabenstellung, das Abstrahieren der mathematischen Struktur, die Auswahl geeigneter Algorithmparadigmen, die Schätzung der Komplexität, die Implementierung des Codes, die Erstellung von Tests, die Behandlung mehrerer möglicher Ausgaben und die Fehlerbehebung bei versteckten Randbedingungen.
Für LLMs weisen diese Aufgaben mehrere typische Schwierigkeiten auf:
1. Die Algorithmauswahl hängt stark von der Aufgabenstruktur ab
Selbst bei Problemen aus der Graphentheorie, der dynamischen Programmierung oder im Bereich der Zeichenketten können unterschiedliche Einschränkungen zu völlig unterschiedlichen Algorithmen führen. Wenn das Modell Beispiele nur anhand oberflächlicher Ähnlichkeiten abruft, ist es leicht, Muster auszuwählen, die „ähnlich aussehen, aber im Kern falsch sind“.
2. Beispieltests reichen bei weitem nicht aus
Viele falsche Lösungen bestehen die Beispieltests, scheitern aber bei versteckten Tests. Insbesondere Randbedingungen, Komplexitätsgrenzen, Prüfprogramme für mehrere mögliche Lösungen und Genauigkeitsprobleme lassen sich nur schwer durch normale Selbsttests abdecken.
3. Fehlschlagerfahrungen lassen sich nur schwer wiederverwenden
Viele vorhandene Code-Agenten versuchen nach einem Fehlschlag erneut, generieren den Code neu und debuggen ihn neu – aber nach Abschluss einer Aufgabe werden diese Fehlschlagerfahrungen normalerweise nicht die Lösungsstrategien für nachfolgende Aufgaben beeinflussen. Das System lernt nicht wirklich, „welche Fallstricke es bei ähnlichen Strukturen in Zukunft vermeiden soll“.
4. Multi-Agent-Frameworks sind nach wie vor eher statisch
Methoden wie AlphaCodium und MapCoder haben das Lösen von Aufgaben in mehrere Phasen unterteilt, aber sie ähneln eher festen Abläufen. Jede Phase kann ein Modell aufrufen, es fehlt jedoch ein Langzeitgedächtnis und ein Routing-Mechanismus, der sich mit historischen Erfahrungen aktualisiert.
Forscher von Einrichtungen wie der Nanjing-Universität und der Tsinghua-Universität haben Solvita vorgeschlagen, ein Framework für agentische Evolution im Bereich des Wettbewerbsprogrammierens. Es feinjustiert nicht das zugrundeliegende große Sprachmodell, sondern baut ein trainierbares wissensbasiertes Netzwerk mit Graphenstruktur außerhalb der vier Agententypen Planner, Solver, Oracle und Hacker auf, sodass das System kontinuierlich Erfahrungen aus dem Lösen von Aufgaben, Tests, Angriffen und Reparaturen sammeln kann.
Code-Repository: https://github.com/NJU-LINK/Solvita
Link zur Arbeit: https://arxiv.org/pdf/2605.15301
Der Ausgangspunkt von Solvita ist genau der: Menschliche Teilnehmer verbessern sich beim Üben von Aufgaben nicht, weil sie jede Aufgabe von Grund auf neu lösen, sondern weil sie Erfahrungen sammeln – wie „welches Muster für welche Aufgabe passt“, „welche Implementierung leicht zu einem falschen Ergebnis führt“ und „welche Tests fehlerhafte Programme am leichtesten angreifen können“.
Wie funktioniert Solvita?
Der Kerngedanke von Solvita besteht darin, das Lösen von Wettbewerbsprogrammieraufgaben in ein geschlossenes Kreislaufsystem zu organisieren und jedem Schritt ein trainierbares Wissensnetzwerk zuzuweisen. Das gesamte System besteht aus vier Agenten:
1. Planner: Verantwortlich für die Aufgabenabstraktion und Strategieauswahl
Der Planner wandelt die ursprüngliche Aufgabenstellung zunächst in eine formellere mathematische Beschreibung um, entfernt den Hintergrund und irrelevante Informationen und extrahiert Variablen, Einschränkungen, Ziele sowie Ein- und Ausgabestrukturen. Anschließend prognostiziert er mögliche Algorithmuskennzeichnungen, Implementierungsansätze und Komplexitäten. Das dahinterstehende Wissensnetzwerk erfasst die formelle Struktur historischer Aufgaben, prognostizierte Kennzeichnungen und die endgültigen Ergebnisse. Bei neuen Aufgaben stützt sich der Planner nicht nur auf spontane Prompts, sondern bezieht sich auf historische Erfahrungen mit strukturell ähnlichen Aufgaben.
2. Solver: Verantwortlich für die Codegenerierung und lokale Reparaturen
Der Solver erstellt ein C++-Programm basierend auf der Strategie des Planners und validiert es anhand von Beispielen und Tests, die vom Oracle generiert wurden. Im Gegensatz zu vielen Methoden, die nach einem Fehlschlag den gesamten Code neu schreiben, legt Solvita den Fokus auf die patch-basierte Reparatur: Wenn das Programm fehlschlägt, generiert der Solver nach Möglichkeit lokale Patches im Format SEARCH/REPLACE, anstatt den gesamten Code von Grund auf neu zu erstellen. Der Vorteil liegt darin, dass bereits korrekte Teile erhalten bleiben, nur die tatsächlich fehlerhaften Stellen gezielt korrigiert werden – sodass nicht bei jedem Neuschreiben zuvor erfüllte Bedingungen zerstört werden.
3. Oracle: Verantwortlich für die Erstellung zuverlässiger interner Tests
Die Aufgabe des Orakels besteht nicht darin, die endgültige Lösung zu schreiben, sondern „vertrauenswürdige Überwachung“ für die Lösungen zu erstellen. Es generiert einen testlib-basierten Generator, Validator, Prüfprogramm und Referenzlöser, überprüft, ob der Referenzlöser die Ausgaben der öffentlichen Beispiele reproduzieren kann, erstellt weitere Testeingaben und zertifiziert diese. Bei Aufgaben mit mehreren möglichen Lösungen muss das Oracle zudem Beweise für ein benutzerdefiniertes Prüfprogramm liefern. Nur wenn Bedingungen wie Testeingaben, erwartete Ausgaben und der Zertifizierungsgrad erfüllt sind, werden die vom Oracle generierten Tests akzeptiert.
4. Hacker: Verantwortlich für den aktiven Angriff auf Kandidatenprogramme
Der Hacker ähnelt einem Experten für parallele Testvergleiche. Er analysiert potenzielle Schwachstellen im Kandidatencode, erstellt einen strukturierten Schwachstellenbericht und wählt dann Angriffswege wie semantische Tests, Belastungstests oder Anti-Hash-Angriffe aus, um Eingaben zu konstruieren, die fehlerhafte Programme durchbrechen. Wenn ein Angriffsweg fehlschlägt, versucht das System es entlang einer Fallback-Kette weiter. Die erfolgreich angegriffenen Fehler werden nicht nur für die Reparatur der aktuellen Aufgabe verwendet, sondern als Fehlschlagerfahrungen an die Wissensnetzwerke von Planner, Solver, Oracle und Hacker weitergegeben.
Das trainierbare wissensbasierte Netzwerk mit Graphenstruktur
Das wichtigste Designmerkmal von Solvita ist nicht „die zusätzliche Anzahl von Agenten“, sondern dass jeder Agent mit einem trainierbaren wissensbasierten Netzwerk mit Graphenstruktur ausgestattet ist.
Am Beispiel des Solvers ist sein Wissensnetzwerk in drei Ebenen unterteilt:
- Q-Ebene: Erfasst historische Aufgabenbeschreibungen und Metadaten;
- M-Ebene: Erfasst die Zerlegung von Lösungen, Fehlervergleiche und metakognitive Analysen;
- S-Ebene: Erfasst wiederverwendbare Algorithm-Fähigkeiten und C++-Vorlagen.
Wenn eine neue Aufgabe eintrifft, ruft das System zunächst ähnliche Q-Knoten ab und aktiviert dann entlang des zweistufigen Pfades Q→M→S die zugehörigen Fähigkeiten.
Die Kantengewichte der verschiedenen Pfade sind nicht festgelegt, sondern werden basierend auf historischen Erfolgen und Fehlschlägen aktualisiert. Erfolgreiche Pfade werden verstärkt, fehlgeschlagene Pfade werden abgeschwächt oder es werden neue kontrastive Knoten erstellt. Dies unterscheidet sich grundlegend von herkömmlichem RAG.
Herkömmliches RAG ähnelt eher dem „Einfügen ähnlicher Texte in Prompts“, während das Wissensnetzwerk von Solvita darauf abzielt, zu lernen, „welche Problemstrukturen zu welchen Algorithm-Fähigkeiten geroutet werden sollen“. Das Gedächtnis ist nicht mehr nur statisches Abrufen, sondern wird zu einem trainierbaren Strategie-Routing.
Oracle und Hacker
Bei algorithmischen Aufgaben ist das Testen selbst Teil der Fähigkeit. Ob ein Agent eine Aufgabe lösen kann, hängt stark davon ab, ob er beurteilen kann, ob seine Lösung tatsächlich korrekt ist.
Solvita unterteilt die Testfähigkeit in zwei komplementäre Bereiche:
Das Oracle konzentriert sich auf „vertrauenswürdige Überwachung“.
Es neigt dazu, Referenzlöser, Generatoren, Validatoren und Prüfprogramme zu erstellen – mit dem Ziel, interne Tests zu generieren, die die Korrektheit von Programmen stabil beurteilen können.
Der Hacker konzentriert sich auf das „Aufdecken von Schwachstellen“.
Er neigt dazu, Angriffsbeispiele wie Randeingaben, Komplexitätsgrenzen, strukturelle Gegenbeispiele oder Hash-Konflikte zu finden – mit dem Ziel, versteckte Fehler im Kandidatencode offenzulegen.
Die Funktionen beider sind nicht redundant. Das Oracle ist konservativer und schützt korrekte Lösungen gut vor falschen Ablehnungen; der Hacker ist aggressiver und besser darin, versteckte Fehler zu finden. Die Experimente der Arbeit zeigen zudem, dass die Kombination beider ein besseres Gleichgewicht bei der Erkennung falscher Lösungen, der Erhaltung korrekter Lösungen und der Bestätigung durch stärkere Tests erreicht.
Experimentelle Ergebnisse
Die Arbeit evaluiert Solvita auf CodeContests, APPS, AetherCode sowie aktuellen Codeforces-Runden und vergleicht es mit Methoden wie Single-Pass, Codex CLI, Claude Code, AlphaCodium und MapCoder.
Die Hauptergebnisse der Experimente zeigen, dass Solvita bei 14 von 15 Kombinationen aus Backbone und Benchmark den höchsten pass@1-Wert erreicht.
Am Beispiel des Backbones GPT-5.4:
Man sieht, dass Solvita im Vergleich zu Single-Pass fast einen deutlichen Sprung nach vorne macht; im Vergleich zu vorhandenen Agenten-Frameworks behält es zudem auf mehreren Benchmarks einen stabilen Vorsprung. Noch wichtiger ist, dass diese Verbesserung nicht durch eine unbegrenzte Erhöhung der Token-Anzahl erreicht wird. Die Kostenanalyse der Arbeit zeigt, dass der durchschnittliche Token-Verbrauch von Solvita im ähnlichen Bereich wie bei quelloffenen Agenten-Frameworks liegt und nicht das höhere Verbrauchsniveau einiger kommerzieller CLI-Agenten erreicht.
Ablationsstudien
Die Arbeit führt zudem additive Ablationen durch, um zwei Fragen zu klären:
Erstens: Beruht der Nutzen von Solvita nur darauf, dass der Multi-Agent-Ablauf komplexer ist?
Zweitens: Bringt das trainierbare Wissensnetzwerk tatsächlich eine zusätzliche Verbesserung?
Die Ergebnisse zeigen, dass der Wechsel von Single-Pass zu einem untrainierten Multi-Agent-Framework bereits die Leistung deutlich verbessern kann. Dies beweist, dass die geschlossene Kreislaufstruktur aus Lösen – Zertifizieren – Angreifen – Reparieren tatsächlich besser für komplexe algorithmische Aufgaben geeignet ist.
Auf dieser Grundlage kann die Leistung durch Hinzufügen der Wissensnetzwerke von Solver, Oracle und Hacker weiter gesteigert werden – und der Nutzen wächst kontinuierlich, wenn die Anzahl der trainierten Aufgaben von 1,5k auf 3k und dann