Lorsque vous concevez des métriques d'évaluation pour un harnais d'évaluation AlphaEvolve, établissez les trois niveaux de test distincts suivants.
Niveau 1 : Tests de validation de la solution
Ces tests vérifient la sécurité de l'exécution de code de base et la conformité aux règles avant l'exécution complète.
Sécurité d'exécution : vérifiez si le code s'exécute. Cela inclut l'examen de la syntaxe, la vérification du temps de compilation, l'exécution d'une analyse statique et la vérification de la compatibilité de l'infrastructure.
Règle d'exécution : détermine si le code doit être exécuté même s'il est fonctionnel. Cela inclut l'analyse lint, les vérifications générales de la qualité du code, les examens InfoSec, la validation des risques et de la conformité, ainsi que les vérifications de la chaîne d'approvisionnement des API.
Remarques :
Si la validation échoue, renvoyez un score négatif élevé, tel que
-10000ou-100000. AlphaEvolve ignore ces programmes.Incluez le type d'échec et les journaux pour le débogage. Bien qu'AlphaEvolve n'utilise pas ces métadonnées comme signal de recherche, elles sont utiles pour l'analyse a posteriori des modes de défaillance.
Niveau 2 : Tests de validation des solutions
Ces tests vérifient l'exactitude algorithmique et le respect des contraintes à l'aide de tests unitaires et fonctionnels.
Exactitude fonctionnelle : vérifiez si le code se comporte correctement à l'aide de tests unitaires et fonctionnels.
Respect des contraintes : vérifiez la faisabilité de la solution ou le respect des contraintes.
Atténuation du piratage des récompenses : appliquez des scores de validation sous forme de pénalités négatives à la fonction de fitness pour empêcher le piratage des récompenses. L'attribution d'un score de
-10000ou-100000constitue une sanction efficace.
Remarques :
Renvoie le nombre ou le pourcentage de tests réussis. Cette approche fournit un signal de gradient : un programme qui réussit quatre tests sur cinq est considéré comme plus proche de la solution correcte que celui qui n'en réussit aucun.
Traitez la validation comme une satisfaction de contraintes souples. Même pour les contraintes système strictes, les exprimer sous forme de pénalités souples basées sur la proximité de l'espace réalisable donne à AlphaEvolve un signal de recherche plus exploitable qu'un résultat binaire (réussite ou échec).
Niveau 3 : Tests d'évaluation de la solution (tests de performances)
Ces tests mesurent des métriques de performances objectives en fonction du type d'objectif d'optimisation.
Mesure directe : suivez les objectifs directement là où l'instrumentation le permet.
Estimations déterministes : calculez les objectifs de manière analytique pour les styles de recherche opérationnelle classiques.
Validation hors échantillon : testez les ensembles de données de validation pour les cas d'utilisation impliquant l'optimisation du pipeline de machine learning ou le réglage du harnais de l'agent.
Estimations basées sur la simulation : utilisez des simulations MCMC (Markov Chain Monte Carlo), des fonctions proxy de type optimisation bayésienne ou d'autres approches basées sur des modèles.
Remarques :
Renvoie des scores détaillés et agrégés.
Ne déléguez pas le calcul du score au LLM. Calculez-le de manière déterministe dans votre harnais d'évaluation. AlphaEvolve compare les performances en côte à ces scores agrégés précalculés.
Le crédit partiel fournit un signal de gradient qui accélère la convergence de la recherche. Par exemple, un programme qui réussit quatre tests sur cinq doit recevoir la note
0.8plutôt queNone. Si vous renvoyezNone, AlphaEvolve ignorera complètement le programme, ce qui éliminera les commentaires utiles. Un score de0.8indique que le candidat est presque correct et présente un potentiel d'optimisation viable.