Contexto y configuración de instrucciones

AlphaEvolve guía sus operaciones utilizando el código de referencia proporcionado y el contexto específico que brinda 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 tu 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 justificación clara

  • Terminología y definiciones específicas del dominio

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

  • Instrucciones específicas y explícitas que detallan lo que NO se debe hacer

Qué NO debes incluir

  • Instructivos generales de programación

  • 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 especializadas).

  • Datos arbitrarios sin procesar, 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 fragmento de contexto que incluyas debe aportar valor de forma clara, ya que ayuda de manera activa al LLM a producir mutaciones mejores y estructuralmente sólidas.

Comentarios de evaluación (estadísticas)

Después de cada bucle de ejecución, el evaluador puede devolver texto de comentarios de diagnóstico junto con las puntuaciones numéricas. Estos comentarios se agregan automáticamente a las estructuras de instrucciones futuras.

  • Calidad de referencia: Los comentarios sólidos son específicos, prácticos y concisos. Los comentarios deficientes son genéricos (como "falló la evaluación") o demasiado detallados.

  • 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 de 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 las 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 principales mecanismos que ayudan a AlphaEvolve a explorar un amplio panorama 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 importante 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 una compresión de archivos de hasta el 50% sin degradar el rendimiento funcional. Sin embargo, el LLM explotará 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 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 cadenas sin procesar.