AlphaEvolve richtet sich bei seinen Vorgängen nach der bereitgestellten Code-Baseline sowie dem spezifischen Kontext, den der Nutzer angibt.
Nutzerkontext
Der vom Nutzer bereitgestellte Kontext wird in jeden Prompt für die Generierung eingefügt. Es gleicht den Suchraum aus, indem es dem LLM Domänenwissen, mathematische Formulierungen und Systembeschränkungen zur Verfügung stellt.
- Token-Budget: Bis zu 200.000 Tokens sind optimal. Ab einem Schwellenwert von 200.000 Tokens wird das Kontextfenster überlastet, die Aufmerksamkeit des LLM nimmt ab und die Qualität der Mutation sinkt. Wenn Ihr kombinierter Kontext (Problembeschreibung, Code und vorherige Programme) 200.000 Tokens überschreitet, müssen Sie ihn reduzieren.
Was sollte enthalten sein?
Genaue mathematische Formulierung des Optimierungsproblems.
Wichtige Einschränkungen und ihre klare Begründung.
Domainspezifische Terminologie und Definitionen.
Bekannte gute Ansätze oder der Stand der Technik, um die Suchrichtung des LLM zu steuern.
Spezifische, explizite Anweisungen, die detailliert beschreiben, was NICHT zu tun ist.
Was NICHT enthalten sein darf
Allgemeine Programmier-Tutorials
Dokumentation der Standardbibliothek (das LLM kennt bereits
numpy,sklearnusw.). Sie SOLLTEN jedoch Dokumentation für Nischen- oder domainspezifische Bibliotheken einfügen, die dem LLM möglicherweise nicht gut bekannt sind (benutzerdefinierte Kernel-APIs, proprietäre SDKs oder spezielle DSLs).Beliebige Rohdaten, Tabellen oder große Datenmengen. Die Daten gehören in den Evaluator-Harness und nicht in den Prompt-Kontext.
Nicht relevanter Kontext, der Tokens verbraucht, ohne ein Suchsignal hinzuzufügen.
Jeder Kontext, den Sie einfügen, muss einen klaren Mehrwert bieten, indem er dem LLM aktiv hilft, bessere, strukturell fundierte Mutationen zu erstellen.
Feedback zur Bewertung (Statistiken)
Nach jedem Ausführungszyklus kann der Evaluator neben numerischen Werten auch diagnostischen Feedbacktext zurückgeben. Dieses Feedback wird automatisch an zukünftige Promptstrukturen angehängt.
Qualitätsgrundlage: Gutes Feedback ist spezifisch, umsetzbar und prägnant. Schlechtes Feedback ist allgemein (z. B. „Bewertung fehlgeschlagen“) oder übermäßig ausführlich.
Betrieblicher Zweck: Diese Informationen werden dem LLM in nachfolgenden Generationen angezeigt, sodass es explizit aus Ausführungsfehlern lernen und sich wiederholende Fehler vermeiden kann.
Integrierte Prompt-Diversifizierung
AlphaEvolve diversifiziert die Prompts, die an das Backend-LLM-Ensemble gesendet werden, automatisch. Dieser Vorgang wird intern ausgeführt und erfordert keine manuelle Konfiguration durch den Nutzer.
Das System variiert seine Kernanweisungen über aufeinanderfolgende Generationen hinweg, um vielfältige Mutationen zu fördern und zu verhindern, dass das LLM in sich wiederholende Codierungsmuster verfällt. Dieses Verhalten ist einer der wichtigsten Mechanismen, die AlphaEvolve dabei helfen, eine breite Landschaft zu erkunden, anstatt in engen lokalen Optima gefangen zu sein.
Lesbarkeit von Code
Die Codekomplexität ist ein effektiver Hilfsmesswert. Wenn die Lesbarkeit des endgültigen Codes für Ihren Produktionsanwendungsfall wichtig ist, sollten Sie die Codelänge oder die kognitive Komplexität als sekundären Zielmesswert hinzufügen.
Mit AlphaEvolve kann eine Dateikomprimierung von bis zu 50% erreicht werden, ohne dass die funktionale Leistung beeinträchtigt wird. Das LLM nutzt jedoch naive Einfachheitsmesswerte, z. B. das Entfernen aller Inlinekommentare, um die Anzahl der Rohzeichen zu reduzieren. Um dies zu verhindern, sollten Sie Messwerte implementieren, die eine aussagekräftige strukturelle Komplexität erfassen, z. B. die zyklomatische Komplexität oder die Anzahl der Knoten im abstrakten Syntaxbaum (Abstract Syntax Tree, AST), anstatt die Rohstringlängen zu bewerten.