Montevideo Portal
En medio del impulso hacia los
agentes de inteligencia artificial (IA), con el lanzamiento esta semana de
herramientas multiagente tanto de Anthropic como de OpenAI, Anthropic está más
que listo para mostrar algunos de sus experimentos de codificación de IA más
audaces.
El jueves, el investigador de
Anthropic, Nicholas Carlini, publicó una entrada de blog que describe cómo puso
en funcionamiento 16 instancias del modelo de IA Claude Opus 4.6 de la compañía
en una base de código compartida con una supervisión mínima, y ??les encargó
construir un compilador de C desde cero. Durante más de dos semanas y casi 2.000 sesiones
de Claude Code que costaron alrededor de US$ 20.000 en tarifas de API, los
agentes del modelo de IA supuestamente produjeron un compilador basado en Rust
de 100.000 líneas capaz de construir un kernel Linux 6.9 de arranque en
arquitecturas x86, ARM y RISC-V, según consigna el portal ArsTechnica.
Carlini, investigadora científica
del equipo de Protección de Anthropic —quien trabajó durante siete años en
Google Brain y DeepMind—, utilizó una nueva función lanzada con Claude Opus 4.6
llamada “equipos de agentes”.
En la práctica, cada instancia de
Claude se ejecutaba dentro de su propio contenedor Docker, clonando un
repositorio Git compartido, reclamando tareas mediante la escritura de archivos
de bloqueo y luego enviando el código completado de vuelta al servidor. Ningún
agente de orquestación dirigía el tráfico. Cada instancia identificaba de forma
independiente el problema que parecía más obvio y comenzaba a resolverlo.
Cuando surgían conflictos de fusión, las instancias del modelo de IA los
resolvían por sí solas.
El compilador resultante,
publicado por Anthropic en GitHub, puede compilar una amplia gama de
importantes proyectos de código abierto, como PostgreSQL, SQLite, Redis, FFmpeg
y QEMU. Logró una tasa de aprobación del 99% en la suite de pruebas de tortura
de GCC y, en lo que Carlini denominó “la prueba de fuego definitiva para el
desarrollador”, compiló y ejecutó el videojuego Doom.
Cabe destacar que un compilador
de C es una tarea casi ideal para la codificación de modelos de IA
semiautónomos: la especificación tiene décadas de antigüedad y ya existen
conjuntos de pruebas completos y bien definidos, además de un compilador de
referencia confiable para comparar, remarca el citado medio. La mayoría de los
proyectos de software del mundo real carecen de estas ventajas. Lo difícil de
la mayor parte del desarrollo no es escribir código que supere las pruebas,
sino determinar cuáles deberían ser las pruebas en primer lugar.
El compilador también presenta
limitaciones claras, sobre las que Carlini fue franco. Carece de un backend x86
de 16 bits necesario para arrancar Linux desde el modo real, por lo que recurre
a GCC para realizar ese paso. Su propio ensamblador y enlazador siguen
presentando errores. Incluso con todas las optimizaciones habilitadas, produce
código menos eficiente que GCC ejecutándose con todas las optimizaciones
deshabilitadas. Y la calidad del código de Rust, aunque funcional, no se acerca
a la que produciría un programador experto en Rust. “El compilador resultante
casi ha alcanzado los límites de las capacidades de Opus”, escribió Carlini. “Intenté
(¡con ahínco!) corregir varias de las limitaciones mencionadas, pero no lo
logré del todo. Las nuevas funciones y correcciones de errores frecuentemente
interrumpían la funcionalidad existente”, añadió.
De hecho, esas limitaciones
podrían ser más informativas que los éxitos. Carlini informa que, hacia el
final del proyecto, la corrección de errores y la adición de características “con
frecuencia interrumpían la funcionalidad existente”, un patrón familiar para
cualquiera que haya visto crecer una base de código más allá del punto en que
cualquier colaborador la comprende por completo.
Y esa limitación es aún más común
al trabajar con agentes de codificación de IA, que pierden coherencia con el
tiempo. El modelo alcanzó este límite alrededor de las 100.000 líneas, lo que
sugiere un límite práctico para la codificación autónoma de agentes, al menos
con los modelos actuales.
Montevideo Portal