Wenn Sie Bewertungsmesswerte für ein AlphaEvolve-Bewertungs-Harness entwerfen, legen Sie die folgenden drei verschiedenen Teststufen fest.
Stufe 1: Tests zur Validierung der Lösung
Mit diesen Tests wird vor der vollständigen Ausführung die grundlegende Sicherheit der Codeausführung und die Einhaltung der Richtlinien überprüft.
Sicherheit der Ausführung: Prüfen Sie, ob der Code ausgeführt wird. Dazu gehören die Überprüfung der Syntax, die Prüfung der Kompilierungszeit, die Durchführung einer statischen Analyse und die Überprüfung der Infrastrukturkompatibilität.
Ausführungsrichtlinie: Legen Sie fest, ob der Code auch dann ausgeführt werden soll, wenn er funktionsfähig ist. Dazu gehören Linting, allgemeine Prüfungen der Codequalität, InfoSec-Überprüfungen, Validierung von Risiken und Compliance sowie Überprüfungen der API-Lieferkette.
Überlegungen:
Wenn die Validierung fehlschlägt, geben Sie einen hohen negativen Wert zurück, z. B.
-10000oder-100000. AlphaEvolve ignoriert diese Programme.Fügen Sie den Fehlertyp und Logs für das Debugging hinzu. AlphaEvolve verwendet diese Metadaten zwar nicht als Suchsignal, sie sind aber nützlich für die nachträgliche Analyse von Fehlermodi.
Stufe 2: Tests zur Überprüfung der Lösung
Mit diesen Tests wird die algorithmische Korrektheit und die Einhaltung von Einschränkungen mithilfe von Unit- und Funktionstests überprüft.
Funktionale Genauigkeit: Prüfen Sie mit Unit- und Funktionstests, ob sich der Code richtig verhält.
Einhaltung von Einschränkungen: Prüfen Sie die Machbarkeit der Lösung oder die Einhaltung von Einschränkungen.
Minderung von Reward Hacking: Wenden Sie Überprüfungswerte als negative Strafen auf die Fitnessfunktion an, um Reward Hacking zu verhindern. Ein Wert von
-10000oder-100000dient als effektive Strafe.
Überlegungen:
Geben Sie die Anzahl oder den Prozentsatz der bestandenen Tests zurück. Dieser Ansatz liefert ein Gradientensignal. Ein Programm, das 4 von 5 Tests besteht, wird als näher an der richtigen Lösung angesehen als ein Programm, das 0 von 5 Tests besteht.
Behandeln Sie die Überprüfung als Einhaltung von Soft Constraints. Auch bei harten Systemeinschränkungen liefert die Darstellung als weiche Strafen basierend auf der Nähe zum machbaren Bereich AlphaEvolve ein besser umsetzbares Suchsignal als ein binäres „Bestanden“ oder „Nicht bestanden“.
Stufe 3: Tests zur Bewertung der Lösung (Leistungstests)
Mit diesen Tests werden objektive Leistungsmesswerte gemessen, die vom Typ des Optimierungsziels abhängen.
Direkte Messung: Erfassen Sie Ziele direkt, wenn die Instrumentierung dies zulässt.
Deterministische Schätzungen: Berechnen Sie Ziele analytisch für klassische Ansätze der Operations Research.
Out-of-Sample-Validierung: Testen Sie anhand von Validierungs-Datasets für Anwendungsfälle, die die Optimierung von Machine-Learning-Pipelines oder die Abstimmung von Agenten-Frameworks umfassen.
Simulationsbasierte Schätzungen: Verwenden Sie Markov-Chain-Monte-Carlo-Simulationen (MCMC), Proxy-Funktionen vom Typ Bayesian Optimization oder andere modellbasierte Ansätze.
Überlegungen:
Geben Sie sowohl detaillierte als auch aggregierte Werte zurück.
Lagern Sie die Berechnung der Werte nicht an das LLM aus, sondern berechnen Sie sie deterministisch in Ihrem Evaluator-Harness. AlphaEvolve führt Hill Climbing anhand dieser vorab berechneten aggregierten Leistungswerte durch.
Teilweise Gutschrift liefert ein Gradientensignal, das die Konvergenz der Suche beschleunigt. Ein Programm, das 4 von 5 Tests besteht, sollte beispielsweise einen Wert von
0.8und nichtNoneerhalten. WennNonezurückgegeben wird, ignoriert AlphaEvolve das Programm vollständig, wodurch nützliches Feedback verloren geht. Ein Wert von0.8signalisiert, dass der Kandidat fast richtig ist und ein hohes Optimierungspotenzial hat.