Contexte et configuration des requêtes

AlphaEvolve guide ses opérations en utilisant la base de référence de code fournie, ainsi que le contexte spécifique fourni par l'utilisateur.

Contexte utilisateur

Le contexte fourni par l'utilisateur est injecté dans chaque invite de génération. Il équilibre l'espace de recherche en fournissant au LLM des connaissances sur le domaine, des formulations mathématiques et des contraintes système.

  • Budget de jetons : jusqu'à 200 000 jetons,les performances sont bonnes. Au-delà du seuil de 200 000 jetons, la fenêtre de contexte est chargée, l'attention du LLM diminue et la qualité de la mutation est réduite. Si votre contexte combiné (description du problème, code et programmes précédents) dépasse 200 000 jetons, vous devez le réduire.

Éléments à inclure

  • Formulation mathématique précise du problème d'optimisation.

  • Contraintes clés et leur justification claire.

  • Terminologie et définitions spécifiques au domaine.

  • Approches efficaces connues ou état de la technique pour guider la direction de recherche du LLM.

  • Instructions spécifiques et explicites indiquant ce qu'il NE faut PAS faire.

Éléments à NE PAS inclure

  • Tutoriels de programmation généraux.

  • Documentation de la bibliothèque standard (le LLM connaît déjà numpy, sklearn, etc.). Toutefois, INCLUEZ la documentation des bibliothèques de niche ou spécifiques à un domaine que le LLM ne connaît peut-être pas bien (API de noyau personnalisées, propriétaires SDK ou DSL spécialisés).

  • Données brutes arbitraires, feuilles de calcul ou vidages de données volumineux. Les données appartiennent au harnais de l'évaluateur, et non au contexte de l'invite.

  • Contexte non lié qui consomme des jetons sans ajouter de signal de recherche.

Chaque élément de contexte que vous incluez doit apporter une valeur claire en aidant activement le LLM à produire des mutations de meilleure qualité et structurellement saines.

Commentaires sur l'évaluation (insights)

Après chaque boucle d'exécution, l'évaluateur peut renvoyer un texte de commentaires de diagnostic ainsi que des scores numériques. Ces commentaires sont automatiquement ajoutés aux futures structures d'invite.

  • Base de référence de qualité : les commentaires pertinents sont spécifiques, exploitables et concis. Les commentaires de mauvaise qualité sont génériques (par exemple, "l'évaluation a échoué") ou excessivement verbeux.

  • Objectif opérationnel : ces insights sont affichés dans les générations suivantes, ce qui permet au LLM d'apprendre explicitement des échecs d'exécution et d'éviter les bugs répétitifs.

Diversification des invites intégrée

AlphaEvolve diversifie automatiquement les invites qu'il transmet à l'ensemble de LLM backend. Cette opération est gérée en interne et ne nécessite aucune configuration manuelle de l'utilisateur.

Le système fait varier ses instructions de base au fil des générations successives pour encourager des mutations diverses et empêcher le LLM de tomber dans des modèles de codage répétitifs. Ce comportement est l'un des principaux mécanismes qui aident AlphaEvolve à explorer un large paysage plutôt que de se retrouver piégé dans des optima locaux étroits.

Lisibilité du code

La complexité du code constitue une métrique auxiliaire efficace. Si la lisibilité du code final est un facteur important pour votre cas d'utilisation en production, envisagez d'ajouter la longueur du code ou la complexité cognitive comme métrique cible secondaire.

AlphaEvolve peut atteindre jusqu'à 50% de compression de fichiers sans dégrader les performances fonctionnelles. Toutefois, le LLM exploitera des métriques de simplicité naïves (par exemple, en supprimant tous les commentaires intégrés pour réduire le nombre de caractères bruts). Pour éviter cela, implémentez des métriques qui capturent une complexité structurelle significative, telles que la complexité cyclomatique ou le nombre de nœuds de l'arbre de syntaxe abstraite (AST), plutôt que d'évaluer les longueurs de chaînes brutes.