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 du code de base et la conformité aux règles avant l'exécution complète.
Sécurité de l'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'analyse statique et la vérification de la compatibilité de l'infrastructure.
Règle d'exécution : déterminez si le code doit être exécuté même s'il est fonctionnel. Cela inclut la vérification de la syntaxe, les contrôles généraux 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 d'échec.
Niveau 2 : Tests de vérification de la solution
Ces tests vérifient l'exactitude algorithmique et le respect des contraintes à l'aide de tests unitaires et fonctionnels.
Précision 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 vérification en tant que pénalités négatives à la fonction de fitness pour éviter le piratage des récompenses. L'assertion d'un score de
-10000ou-100000constitue une pénalité efficace.
Remarques :
Affichez le nombre ou le pourcentage de tests réussis. Cette approche fournit un signal de gradient : un programme qui réussit 4 tests sur 5 est reconnu comme plus proche de la correction qu'un programme qui réussit 0 test sur 5.
Traitez la vérification comme une satisfaction de contrainte partielle. Même pour les contraintes système strictes, les exprimer sous forme de pénalités partielles basées sur la proximité de l'espace réalisable donne à AlphaEvolve un signal de recherche plus exploitable qu'une réussite ou un échec binaire.
Niveau 3 : Tests d'évaluation de la solution (tests de performances)
Ces tests mesurent les métriques de performances objectives en fonction du type de cible d'optimisation.
Mesure directe : suivez directement les objectifs lorsque 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 par rapport à des 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 d'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 :
Affichez les scores granulaires et agrégés.
Ne déchargez pas le calcul du score sur le LLM. Calculez-le de manière déterministe dans votre harnais d'évaluation. AlphaEvolve effectue une recherche locale par rapport à ces scores de performances 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 4 tests sur 5 doit recevoir un score de
0.8plutôt queNone. Le renvoi deNoneentraîne l'ignorance totale du programme par AlphaEvolve, ce qui élimine les commentaires utiles. Un score de0.8indique que le candidat est proche de la correction et présente un potentiel d'optimisation viable.