Contexto y configuración de instrucciones

AlphaEvolve guía sus operaciones utilizando la 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 funciona 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 tu contexto combinado (descripción del problema, código y programas anteriores) supera los 200, 000 tokens, debes reducirlo.

Información que debes incluir

  • Formulación matemática precisa del problema de optimización

  • Restricciones clave y su justificación clara.

  • Terminología y definiciones específicas del dominio.

  • Enfoques conocidos como buenos o conocimiento anterior para guiar la dirección de búsqueda del LLM.

  • Instrucciones específicas y explícitas que detallan qué NO hacer.

Qué NO debes incluir

  • Instructivos de programación general

  • Documentación de la biblioteca estándar (el LLM ya conoce numpy, sklearn, etc.) Sin embargo, SÍ 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 arbitrarios sin procesar, hojas de cálculo o volcados de datos grandes. 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 fragmento de contexto que incluyas debe aportar 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 devolver un texto de comentarios de diagnóstico junto con las 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 "error de evaluación") o excesivamente extensos.

  • Propósito operativo: Estas estadísticas se muestran al LLM en generaciones posteriores, lo que le permite aprender de forma explícita de los errores de ejecución y evitar errores repetitivos.

Diversificación de instrucciones integrada

AlphaEvolve diversifica automáticamente las instrucciones que transmite al conjunto de LLM del backend. Esta operación se controla 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 programació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 objetivo secundaria.

AlphaEvolve puede lograr hasta un 50% de compresión de archivos 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 evitarlo, implementa métricas que capturen la 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 las cadenas sin procesar.