BookinglyTech News
Inteligencia artificial

Un agente de IA escribe Rust de 2x a 20x más rápido que las librerías establecidas

El autor del experimento confirma la hipótesis que dejó abierta en 2025: con guardarraíles y un objetivo medible, un LLM agéntico optimiza código Rust por encima de implementaciones maduras.

2 min de lecturaLobsters0 vistas

Un agente de codificación puede escribir Rust más rápido que librerías asentadas si se le deja iterar sobre sus propios benchmarks. La mejora medida va de 2x a 20x según el dominio y llega después de meses de pruebas con Opus 4.5. Quien firma el experimento publica los prompts y los resultados de rendimiento, algo poco habitual en este tipo de posts.

La hipótesis original es de enero de 2025: ¿escriben mejor los LLM si les pides una y otra vez que escriban mejor? Entonces Claude Sonnet 3.5 mejoraba código Python algorítmico, pero la instrucción "mejor" era tan ambigua que el modelo la aprovechó para añadir un montón de funciones inútiles. El código era más rápido, sí, pero por un camino que nadie había pedido. Con el coding agéntico de Opus 4.5 el autor retomó la idea con una vuelta de tuerca: si el objetivo es Rust, la velocidad se puede medir y el bucle de mejora tiene una señal objetiva.

Benchmarks como criterio

La pieza central es criterion, el arnés de benchmarks de Rust, que los agentes saben usar sin ayuda. Corre las pruebas, guarda los resultados entre iteraciones y calcula si un cambio es una mejora real o ruido estadístico. El primer objetivo fue UMAP, un algoritmo de reducción de dimensionalidad lento y con mal escalado en datos grandes. Existía la opción de hacer fork de umap-rs y pedirle al agente que le añadiera soporte de PyO3 para llamarlo desde Python, o de tirar de cuML. En su lugar, el agente escribió el algoritmo desde cero con dependencias mínimas, para poder optimizar en el nivel más bajo posible.

El prompt inicial exigía benchmarks con varios tamaños de entrada, resultados volcados a un fichero Markdown y casos de hasta 100.000x768 en CPU y GPU. A partir de ahí, cada cambio se validaba reejecutando la suite: faer para álgebra lineal, simsimd para operaciones SIMD. Una restricción se mantiene en todo momento, prohibir unsafe salvo cuando no haya alternativa.

El prompt pesa más de lo que parece

El autor escribe prompts largos en documentos Markdown, con mayúsculas y negritas para marcar los matices. Y sostiene que la ingeniería de prompts no está muerta: los modelos también han mejorado siguiendo instrucciones detalladas. Cuando soltó al agente a iterar hasta que "el crate sea tan rápido como pueda ser", Opus 4.5 se acomodó, tocó un par de hiperparámetros y dio el trabajo por terminado. Hubo que reformular la meta como algo que se aprueba o se suspende para que el bucle continuara.

Que un agente saque entre 2x y 20x a implementaciones maduras tiene consecuencias prácticas. Rust compila a WebAssembly, así que la misma pieza corre en un navegador, y el puente con PyO3 permite mantener la ergonomía de Python por encima. Falta ver si el método se replica en otros dominios y cuánto lastra la prohibición de unsafe.