AlphaEvolve guía sus operaciones utilizando la línea de base de código proporcionada, así como el contexto específico que proporciona el usuario.
Contexto del usuario
El contexto proporcionado por el usuario se inserta en cada instrucción de generación. Equilibra el espacio de búsqueda proporcionando al LLM conocimiento del dominio, formulaciones matemáticas y restricciones del sistema.
- Presupuesto de tokens: Hasta 200,000 tokens funcionan bien. Más allá de un umbral de 200, 000 tokens, la ventana de contexto se carga, la atención del LLM disminuye y la calidad de la mutación se reduce. Si el contexto combinado (descripción del problema, código y programas anteriores) supera los 200, 000 tokens, debes reducirlo.
Qué incluir
Formulación matemática precisa del problema de optimización
Restricciones clave y su fundamento claro
Terminología y definiciones específicas del dominio
Enfoques correctos conocidos o conocimiento anterior para guiar la dirección de búsqueda del LLM
Instrucciones específicas y explícitas que detallan lo que NO se debe hacer
Qué NO incluir
Instructivos de programación generales
Documentación de la biblioteca estándar (el LLM ya conoce
numpy,sklearn, etc.) Sin embargo, INCLUYE documentación para bibliotecas de nicho o específicas del dominio que el LLM podría no conocer bien (APIs de kernel personalizadas, SDKs propietarios o DSLs especializados).Datos sin procesar arbitrarios, hojas de cálculo o grandes volcados de datos Los datos pertenecen al arnés del evaluador, no al contexto de la instrucción.
Contexto no relacionado que consume tokens sin agregar un indicador de búsqueda
Cada parte del contexto que incluyas debe ofrecer un valor claro, ya que ayuda de forma activa al LLM a producir mutaciones mejores y estructuralmente sólidas.
Comentarios de la evaluación (estadísticas)
Después de cada bucle de ejecución, el evaluador puede mostrar texto de comentarios de diagnóstico junto con puntuaciones numéricas. Estos comentarios se agregan automáticamente a las estructuras de instrucciones futuras.
Línea de base de calidad: Los comentarios sólidos son específicos, prácticos y concisos. Los comentarios deficientes son genéricos (como "la evaluación falló") o demasiado detallados.
Propósito operativo: Estas estadísticas se muestran al LLM en generaciones posteriores, lo que le permite aprender explícitamente de las fallas de ejecución y evitar errores repetitivos.
Diversificación de instrucciones integrada
AlphaEvolve diversifica automáticamente las instrucciones que transmite al conjunto de LLM de backend. Esta operación se maneja de forma interna y no requiere configuración manual del usuario.
El sistema varía sus instrucciones principales en generaciones sucesivas para fomentar mutaciones diversas y evitar que el LLM caiga en patrones de codificación repetitivos. Este comportamiento sirve como uno de los mecanismos principales que ayudan a AlphaEvolve a explorar un panorama amplio en lugar de quedar atrapado en óptimos locales estrechos.
Legibilidad del código
La complejidad del código actúa como una métrica auxiliar eficaz. Si la legibilidad del código final es un factor para tu caso de uso de producción, considera agregar la longitud del código o la complejidad cognitiva como una métrica de destino secundaria.
AlphaEvolve puede lograr una compresión de archivos de hasta el 50% sin degradar el rendimiento funcional. Sin embargo, el LLM aprovechará las métricas de simplicidad ingenuas (como quitar todos los comentarios intercalados para reducir los recuentos de caracteres sin procesar). Para evitar esto, implementa métricas que capturen una complejidad estructural significativa, como la complejidad ciclomática o los recuentos de nodos del árbol de sintaxis abstracta (AST), en lugar de evaluar las longitudes de cadenas sin procesar.