Elasticsearch usa agentes de IA para optimizar su código con harness de verificación
El equipo de Elastic ha desarrollado un sistema que separa la exploración de cuellos de botella de la ejecución, utilizando benchmarks para validar los cambios.

Elastic ha publicado el diseño de un "harness" o arnés de medición que permite a agentes de IA optimizar el rendimiento de Elasticsearch de forma semiautomática. La empresa argumenta que la optimización de código es ideal para la automatización porque existe un verificador objetivo: un número duro que indica si el cambio ha mejorado el rendimiento, respaldado por herramientas de profiling.
El principal problema al apuntar un agente directamente a un benchmark es la relación señal-ruido baja. Se pueden obtener mejoras ficticias debido a la variabilidad del entorno o al thermal throttling, en lugar de mejoras reales en el código. Para resolverlo, Elastic construyó un bucle de medición que asume que el agente se equivoca con frecuencia, pero capaz de detectar y probar cuando acierta, guiándolo sobre dónde buscar a continuación.
Arquitectura del pipeline
La decisión arquitectónica clave fue separar la identificación de oportunidades de la ejecución de los cambios. El proceso se divide en tres tipos de tareas:
- Exploración: El agente perfila una carga de trabajo real para producir una lista clasificada de oportunidades de rendimiento.
- Explotación: Un humano promueve una oportunidad a una tarea de explotación, donde el agente itera sobre un microbenchmark aprobado y commit cada experimento aceptado.
- Validación: Una ejecución final en la carga de trabajo real protege el resultado antes de que un humano revise y abra la solicitud de pull.
Si no existe un benchmark para el punto caliente, una tarea específica lo crea y un humano lo aprueba en el registro. Todo el proceso usa una CLI llamada atune que actúa como el "aparato sensorial" del agente, devolviendo respuestas claras y explicaciones razonables en lugar de datos crudos.
Elastic identifica tres propiedades que hacen que una tarea sea adecuada para agentes autónomos: un veredicto objetivo, una señal de guía densa y un radio de acción acotado (un error solo cuesta tiempo, no corrección). El perfil de rendimiento actúa como el gradiente que sugiere qué probar a continuación, lo cual es más útil para el agente que una simple indicación binaria de "esto es más rápido".
Hasta ahora, el sistema ha identificado ineficiencias en la conversión de cadenas en ES|QL, mejoras en la implementación del producto punto vectorial NEON y una oportunidad de actualización para la librería gzip. La empresa señala que esta aproximación reduce la dependencia de la atención humana en la revisión de cada ruta de código caliente, un proceso tradicionalmente limitado por la falta de horas de ingeniería.


