Patrones de implementación del evaluador

Cuando diseñes métricas de evaluación para un arnés de evaluación de AlphaEvolve, establece los siguientes tres niveles de prueba distintos.

Nivel 1: Pruebas de validación de la solución

Estas pruebas verifican la seguridad básica de la ejecución del código y el cumplimiento de las políticas antes de la ejecución completa.

  • Seguridad de la ejecución de código: Verifica si el código se ejecuta. Esto incluye revisar la sintaxis, verificar el tiempo de compilación, realizar análisis estáticos y verificar la compatibilidad de la infraestructura.

  • Política de ejecución: Determina si el código se debe ejecutar incluso si es funcional. Esto incluye linting, verificaciones generales de la calidad del código, revisiones de InfoSec, validación de riesgos y cumplimiento, y verificaciones de la cadena de suministro de la API.

Consideraciones:

  • Si la validación falla, devuelve una puntuación negativa alta, como -10000 o -100000. AlphaEvolve ignora estos programas.

  • Incluye el tipo de error y los registros para la depuración. Si bien AlphaEvolve no usa estos metadatos como un indicador de búsqueda, son útiles para el análisis posterior de los modos de falla.

Nivel 2: Pruebas de verificación de la solución

Estas pruebas verifican la corrección algorítmica y el cumplimiento de las restricciones con pruebas unitarias y funcionales.

  • Precisión funcional: Verifica si el código se comporta correctamente con pruebas de unidades y funcionales.

  • Cumplimiento de restricciones: Verifica la viabilidad de la solución o la satisfacción de las restricciones.

  • Mitigación de la piratería de recompensas: Aplica puntuaciones de verificación como penalizaciones negativas a la función de aptitud para evitar la piratería de recompensas. Confirmar una puntuación de -10000 o -100000 funciona como una penalización eficaz.

Consideraciones:

  • Devuelve la cantidad o el porcentaje de pruebas aprobadas. Este enfoque proporciona una señal de gradiente; se reconoce que un programa que aprueba 4 de 5 pruebas está más cerca de ser correcto que uno que aprueba 0 de 5.

  • Trata la verificación como una satisfacción de restricción flexible. Incluso para las restricciones estrictas del sistema, expresarlas como penalizaciones leves basadas en la proximidad al espacio factible le da a AlphaEvolve un indicador de búsqueda más práctico que un resultado binario de aprobación o falla.

Nivel 3: Pruebas de evaluación de la solución (pruebas de rendimiento)

Estas pruebas miden las métricas de rendimiento de los objetivos según el tipo de objetivo de optimización.

  • Medición directa: Realiza un seguimiento de los objetivos directamente donde la instrumentación lo permita.

  • Estimaciones determinísticas: Calcula los objetivos de forma analítica para los estilos clásicos de investigación de operaciones.

  • Validación fuera de la muestra: Realiza pruebas con conjuntos de datos de validación para casos de uso que impliquen la optimización de la canalización de aprendizaje automático o el ajuste del arnés de agentes.

  • Estimaciones basadas en simulaciones: Usa simulaciones de Monte Carlo basado en cadenas de Markov (MCMC), funciones de proxy de tipo optimización bayesiana o bien otros enfoques basados en modelos.

Consideraciones:

  • Muestra puntuaciones detalladas y agregadas.

  • No descargues el cálculo de la puntuación en el LLM; calcúlalo de forma determinística dentro de tu entorno de evaluación. AlphaEvolve realiza una búsqueda local en función de estas puntuaciones de rendimiento agregadas calculadas previamente.

  • El crédito parcial proporciona una señal de gradiente que acelera la convergencia de la búsqueda. Por ejemplo, un programa que aprueba 4 de 5 pruebas debería recibir una puntuación de 0.8 en lugar de None. Si se devuelve None, AlphaEvolve ignora el programa por completo, lo que elimina los comentarios útiles. Una puntuación de 0.8 indica que el candidato está cerca de ser correcto y tiene un potencial viable de optimización.