Enfoques de puntuación

Aplica los siguientes principios de arquitectura cuando determines cómo calificar, normalizar y penalizar las entradas de código candidatas en tu arnés de evaluación.

Maximiza los objetivos directamente

AlphaEvolve realiza búsquedas de maximización de forma exclusiva y trata cada objetivo de optimización como una tarea de ascenso de colinas. Para minimizar una métrica como la latencia o las tasas de error, debes negar el valor final calculado: score = -latency_ms # AE maximizes -> minimizes latency.

Mantén una monotonía estricta de las funciones

Asegúrate de implementar solo funciones de calificación monotónicas. La calificación numérica que se muestra debe aumentar de manera constante a medida que mejoran las soluciones candidatas. La incorporación de calificaciones no monotónicas degrada el rendimiento de la búsqueda y genera inconsistencias lógicas en la ruta de optimización.

Proporciona métricas detalladas y granulares

Las calificaciones detalladas mejoran directamente la calidad general de la búsqueda. Incluso cuando se optimiza para un solo objetivo comercial principal, la incorporación de métricas secundarias o de proxy ayuda a AlphaEvolve a navegar por un espacio de búsqueda complejo de manera más eficaz. Pasa las calificaciones secundarias individuales al sistema como estadísticas estructuradas para que el LLM pueda razonar explícitamente sobre las compensaciones de rendimiento en todas las generaciones.

Recompensa el éxito parcial en lugar de los resultados dispersos

Recompensa el éxito parcial en lugar de depender por completo de los resultados terminales o binarios. Siempre es preferible un indicador de calificación denso en lugar de uno disperso.

Un objetivo binario o de baja resolución (por ejemplo, el seguimiento de las coincidencias ganadas en un problema de juego basado en torneos) crea mesetas de rendimiento masivas en las que varios candidatos empatan. Este comportamiento impide que AlphaEvolve distinga una solución casi perfecta de una solución deficiente, lo que detiene los bucles de selección superior.

Para mantener la dirección del gradiente de búsqueda, haz lo siguiente:

  • Agrega un subindicador detallado: Mide el progreso incremental hacia el objetivo final (como los puntos individuales obtenidos en una partida) para que AlphaEvolve pueda clasificar a los candidatos que, de otro modo, estarían empatados y ascender hacia espacios de solución prometedores.

  • Alinea la alineación y las ponderaciones con cuidado: Asegúrate de que el subindicador esté alineado de forma monotónica con el objetivo verdadero y que tenga una ponderación segura por debajo de él. Si no se pondera correctamente, AlphaEvolve optimizará la métrica de proxy a expensas del objetivo real (lo que provocará un hackeo de recompensas).

Por ejemplo, crea una función objetivo escalar con puntos como desempate lógico: use score = matches_won + w * (points_scored / points_possible).

Configura la restricción de ponderación en w < 1 para que una victoria terminal adicional siempre supere cualquier acumulación de puntos dentro de la partida, y trata el subindicador estrictamente como un desempate.

Comienza con un solo objetivo

Considera comenzar tu implementación con una sola función objetivo. Si bien la optimización de varios objetivos con un seguimiento integral de la frontera de Pareto es totalmente compatible de forma nativa en la base de datos, donde MAP-Elites hace un seguimiento del mejor programa por métrica y el sistema mantiene una frontera de Pareto en ejecución en todas las métricas, un solo objetivo escalar es mucho más fácil de razonar y depurar durante la implementación inicial. Si tu problema requiere varios objetivos, puedes combinarlos en un solo escalar ponderado o aprovechar las herramientas de seguimiento de varias métricas desde el principio.

Cambia la escala y normaliza antes de combinar

Aplica un equilibrio de escala estricto en tus métricas para evitar el sesgo de optimización:

  • Cambia la escala en todos los rangos: Normaliza las métricas a rangos comparables antes de combinarlas. La combinación de calificaciones delimitadas (que van de 0 a 1) y calificaciones no delimitadas (que van de 0 a infinity) sin un cambio de escala explícito hace que la métrica no delimitada domine el panorama de adecuación.

  • Prefiere las estructuras aditivas a las combinaciones multiplicativas: Los objetivos multiplicativos pueden volverse hipersensibles a las variaciones menores en el denominador, lo que compromete la exactitud y la estabilidad de la búsqueda. Implementa sumas ponderadas aditivas en su lugar: w1*A - w2*L - w3*M. Este formato permite ajustes de ponderación directos por parámetro de rendimiento.

  • Normaliza en relación con los valores iniciales: Para evitar que las diferencias de escala sesguen tu ruta de búsqueda, divide cada métrica por su respectivo valor de referencia inicial para que todas las métricas comiencen en una referencia de 1.0 antes de aplicar las ponderaciones y combinarlas.

Amplifica las diferencias numéricas mínimas

Es posible que las pequeñas diferencias en la calificación numérica no proporcionen un indicador de optimización útil para el LLM subyacente. Si un candidato sólido obtiene una calificación de 1e-7 y un candidato más débil obtiene una calificación de 1e-8, es posible que el LLM no los distinga de manera significativa cuando revise el contexto. Cambia la escala de tus calificaciones finales a un rango obvio, legible para las personas (como 0 a100) para que las mejoras incrementales del código se vuelvan numéricamente evidentes en la instrucción de generación.