AWS ha lanzado el AWS Emulator, un programa local que sirve los puntos de conexión de la API de AWS y permite a los desarrolladores probar software sin realizar llamadas reales a la nube. Notablemente, cada línea de código del emulador fue escrita y probada por agentes de IA autónomos en lugar de ingenieros humanos. Este desarrollo tiene como objetivo resolver la dificultad de probar sistemas distribuidos complejos proporcionando un entorno local donde los agentes pueden iterar sobre el código más rápido de lo que los equipos humanos pueden verificarlo en producción.

La evolución de las pruebas en sistemas distribuidos

Probar sistemas distribuidos a escala es notoriamente difícil porque los errores de concurrencia a menudo solo aparecen bajo condiciones de red específicas o en órdenes de eventos particulares. Para abordar esto en servicios tempranos como 'Alf' (un servicio de bloqueo basado en Paxos), los ingenieros de Amazon construyeron un entorno de simulación para descartar paquetes e inyectar fallos en un entorno JVM controlado.

Si bien la simulación y el razonamiento formal (como TLA+) mejoraron la calidad del software, construir estos entornos manualmente se volvió insostenible a medida que AWS creció hasta superar los 200 servicios. El AWS Emulator aborda esto utilizando agentes de IA para generar automáticamente estos entornos de prueba basados en las especificaciones de servicio existentes.

“Cuando los agentes escriben el código y verifican su propio trabajo, el trabajo del ingeniero es darles espacio para trabajar por su cuenta y construir las especificaciones, las pruebas y las puertas de fusión que deciden cuándo ese trabajo es correcto.”

— AWS Emulator and the engineer's job when agents write the code

El flujo de trabajo de desarrollo basado en agentes

El emulador se construyó utilizando una arquitectura de agentes de tres equipos. El primer equipo convierte los modelos de API Smithy y el comportamiento real de AWS en 'pruebas de fidelidad'. El segundo equipo reproduce estas pruebas contra el emulador para identificar divergencias, registrando problemas en una carpeta de 'cosas que no funcionan'. El tercer equipo recoge estos problemas, escribe las correcciones y las envía para revisión.

Un diagrama que ilustra la arquitectura de tres equipos de agentes de IA para el AWS Emulator.
El flujo de trabajo basado en agentes involucra tres equipos distintos: escritores de pruebas, buscadores de problemas y correctores, todos operando a través de un repositorio compartido y una puerta de fusión.www.aboutamazon.com

Este diagrama visualiza la arquitectura de tres equipos de agentes descrita en el artículo, mostrando cómo diferentes equipos de IA colaboran para construir y mantener el emulador.

Escala del Emulador AWS: Modelos de API 438; Servicios de AWS 200
Escala del Emulador AWSaboutamazon.com

Gráfico elaborado por HN Digest a partir de las cifras reportadas por aboutamazon.com; los valores se muestran tal como aparecen en la fuente.

Estos agentes operan dentro de una 'puerta de fusión' (merge gate): una serie de comprobaciones automatizadas que verifican que el código se compile, cumpla con los estándares de codificación, sea seguro y mantenga la fidelidad frente a la nube real de AWS. Esto permite a los agentes iterar sobre el código en un bucle, corrigiendo su propio trabajo antes de que un humano vea el commit final.

Un diagrama de flujo detallado que muestra las entradas y salidas para los equipos de agentes de IA del AWS Emulator.
El ciclo de vida del desarrollo implica convertir modelos Smithy en pruebas de fidelidad, identificar divergencias y enviar correcciones a través de puertas de fusión automatizadas.www.aboutamazon.com

Esta figura proporciona una visión más granular del flujo de datos entre los modelos de API Smithy, el comportamiento real de AWS y las carpetas específicas utilizadas por los agentes de IA.

El cambio en el papel del ingeniero

A medida que los agentes asumen la mayor parte de la codificación y las pruebas, el papel del ingeniero humano se desplaza hacia la supervisión de alto nivel y el diseño de infraestructura. Los ingenieros ahora se centran en definir el 'libro de colorear' para los agentes: los modelos de API públicos, las pruebas de fidelidad y las barreras de seguridad automatizadas que garantizan que los agentes no 'coloreen fuera de las líneas'.

El proyecto demuestra que la calidad del software en la era de la IA depende de estas barreras de seguridad. Al proporcionar un entorno local donde los agentes pueden verificar su propio trabajo, los ingenieros pueden supervisar el proceso de manera más efectiva, pasando de la implementación manual al diseño de los sistemas que gobiernan la producción automatizada.

Uso y limitaciones

El AWS Emulator está destinado estrictamente a la construcción y las pruebas; no está diseñado para cargas de trabajo de producción ni para pruebas de seguridad. Se ejecuta sin conexión en la máquina del usuario y, aunque proporciona una copia local de las APIs de AWS, no ofrece una réplica 1:1 de cada comportamiento posible en la nube.

Las brechas en servicios individuales se rastrean en el directorio de problemas del repositorio. Si bien el emulador representa un salto significativo en las capacidades de prueba local, las 'puntuaciones de fidelidad' de cada servicio indican que algunos comportamientos aún pueden diferir del entorno en vivo de AWS.