A comienzos de este mes, el equipo de desarrollo de Hydro, un framework de código abierto en Rust para sistemas distribuidos, introdujo una novedosa metodología para verificar que el sistema continúe operando correctamente incluso al reenviar mensajes tras una caída. Este avance generó una petición de inclusión en el proyecto (pull request, PR) que Shadaj Laddad, líder de investigación de Hydro en AWS, calificó como un «PR de unas 5000 líneas» por la vastedad y complejidad del código involucrado.
Hydro funciona facilitando la creación de sistemas distribuidos, programas que se ejecutan simultáneamente en múltiples máquinas, y actualmente gran parte de su código es elaborado por agentes de inteligencia artificial, con supervisión humana. La dificultad radicó en descomponer esa enorme revisión en segmentos menores, ya que sus componentes interactúan estrechamente, haciendo necesaria una revisión exhaustiva para evitar fallos.
Laddad explicó durante el evento AGNTCon + MCPCon en San José que la velocidad con la que los agentes generan código supera al ritmo con el que los desarrolladores pueden revisarlo manualmente. Señaló que, aunque las características desarrolladas funcionen correctamente por separado, al integrarse pueden surgir fallos inesperados que desafían la robustez del sistema.
Además, los tests no bastan como garantía, ya que en la mayoría de los procesos automatizados el propio agente desarrolla tanto el código como las pruebas unitarias. Esto genera una imprevisibilidad inherente a los agentes, que si bien es fuente de innovación, dificulta que un humano valide completamente que las pruebas cumplen su propósito.
La solución que propone el equipo Hydro pasa por implementar comprobaciones automáticas de corrección fuera de la denominada «zona de confianza» de los agentes, específicamente a nivel de compilador. Como ejemplo, Laddad mencionó el sistema de verificación de préstamos (borrow checker) de Rust, que detecta condiciones de carrera antes de que el programa se ejecute. Hydro extiende esta filosofía a los sistemas distribuidos, identificando varios tipos de errores en tiempo de compilación para ofrecer a los agentes una retroalimentación inmediata sobre posibles equivocaciones.
El objetivo a largo plazo es establecer barreras de seguridad específicas para cada dominio que puedan ser compartidas entre agentes. Para determinar cuáles implementar, el equipo revisa proyectos históricos buscando patrones recurrentes. Uno de los conceptos frecuentes es la idempotencia, que garantiza que una solicitud reenviada no se ejecute múltiples veces, lo que consideran un candidato prometedor para convertirse en una regla general de protección.
Laddad compara este avance con hitos históricos en la programación: mientras que C liberó a los programadores de manejar llamadas de función en ensamblador y Java les alivió de la gestión manual de memoria, la emergencia de agentes de IA exige ahora niveles mayores de seguridad automatizada para evitar errores complejos.
No obstante, admite que los compiladores tienen limitaciones. Como se reportó anteriormente en The New Stack, el código generado por IA en Rust puede compilar perfectamente pero aun así contener errores lógicos o conceptuales.
Además del trabajo en Hydro, el mismo equipo desarrolló Infinity, un entorno de ejecución para agentes disponibles de forma abierta anunciado el 23 de octubre. Infinity permite suspender un agente mientras espera herramientas externas o procesos de integración continua, en lugar de mantenerlo activo consumiendo recursos. En pruebas demostraron la capacidad de manejar 75.000 agentes simultáneos en un único Raspberry Pi, extrapolando resultados de un servidor donde cada agente ocioso consumía unos 100 KB de memoria.
Hydro se encuentra en una fase inicial, enfocado a equipos que manejan servicios de alto volumen y baja latencia, y que necesitan garantizar la estabilidad frente a las complejidades de los sistemas distribuidos. Laddad advierte que todavía existen aspectos a pulir y una curva de aprendizaje, pero la inversión permitirá a los desarrolladores modificar sistemas con mayor confianza y sin temor a roturas imprevistas en meses posteriores.
Hydro e Infinity son proyectos abiertos que resultan de la colaboración entre AWS y la Universidad de California en Berkeley y están disponibles para la comunidad en hydro.run.