Wenn Sie Bewertungsmesswerte für eine AlphaEvolve-Bewertungsumgebung entwerfen, sollten Sie die folgenden drei unterschiedlichen Teststufen einrichten.
Stufe 1: Tests zur Lösungsvalidierung
Mit diesen Tests werden die grundlegende Sicherheit der Codeausführung und die Einhaltung von Richtlinien vor der vollständigen Ausführung überprüft.
Ausführungssicherheit: 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 Prü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 Codequalitätsprüfungen, InfoSec-Prüfungen, Risiko- und Compliance-Validierungen sowie Prü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.Geben Sie den Fehlertyp und die Logs zur Fehlerbehebung an. AlphaEvolve verwendet diese Metadaten zwar nicht als Suchsignal, sie sind jedoch für die nachträgliche Analyse von Fehlermodi nützlich.
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 mithilfe von Einheiten- und Funktionstests, ob sich der Code korrekt verhält.
Einhaltung von Einschränkungen: Prüfen Sie die Machbarkeit der Lösung oder die Einhaltung von Einschränkungen.
Maßnahmen gegen Reward Hacking: Wenden Sie Verifizierungswerte als negative Strafen auf die Fitnessfunktion an, um Reward Hacking zu verhindern. Die Angabe eines Scores von
-10000oder-100000dient als effektive Strafe.
Überlegungen:
Gibt 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 am richtigen Ergebnis erkannt als ein Programm, das 0 von 5 Tests besteht.
Die Verifizierung wird als Erfüllung einer weichen Einschränkung behandelt. Selbst bei harten Systembeschränkungen liefert die Darstellung als weiche Strafen basierend auf der Nähe zum zulässigen Bereich AlphaEvolve ein umsetzbareres Suchsignal als ein binäres Bestehen oder Nichtbestehen.
Stufe 3: Tests zur Lösungsbewertung (Leistungstests)
Mit diesen Tests werden objektive Leistungsmesswerte je nach Art des Optimierungsziels gemessen.
Direkte Messung: Verfolgen Sie Ziele direkt, sofern die Instrumentierung dies zulässt.
Deterministische Schätzungen: Berechnen Sie Ziele analytisch für klassische Operations-Research-Stile.
Out-of-Sample-Validierung: Testen Sie die Modelle mit Validierungs-Datasets für Anwendungsfälle, die die Optimierung von Pipelines für maschinelles Lernen oder die Feinabstimmung von Agenten-Frameworks umfassen.
Simulationsbasierte Schätzungen: Verwenden Sie Markov-Chain-Monte-Carlo-Simulationen (MCMC), Proxy-Funktionen vom Typ „Bayessche Optimierung“ oder andere modellbasierte Ansätze.
Überlegungen:
Sowohl detaillierte als auch aggregierte Bewertungen zurückgeben.
Überlassen Sie die Berechnung der Punktzahl nicht dem LLM, sondern berechnen Sie sie deterministisch in Ihrer Evaluator-Umgebung. AlphaEvolve führt Hillclimbing-Verfahren anhand dieser vorab berechneten aggregierten Leistungswerte durch.
Die teilweise Anrechnung liefert ein Gradientensignal, das die Suchkonvergenz beschleunigt. Ein Programm, das beispielsweise 4 von 5 Tests besteht, sollte eine Punktzahl von
0.8und nicht vonNoneerhalten. WennNonezurückgegeben wird, ignoriert AlphaEvolve das Programm vollständig, wodurch nützliches Feedback verloren geht. Ein Wert von0.8signalisiert, dass der Kandidat fast korrekt ist und ein brauchbares Potenzial für die Optimierung bietet.