Saltar al contenido
IA

AWS lanza un emulador gratuito creado por agentes de IA, según la empresa

La herramienta permite ensayar aplicaciones de AWS en una computadora. La compañía describe cómo los agentes generan y corrigen el código, y advierte que las pruebas locales tienen límites.

por Gerardo Pavez
Dos entradas a la izquierda, Smithy API Models (la especificaciones) y Real AWS (la referencia), Feed Team 1, los escritores de prueba. Escriben escenarios reales de AWS, los verifican en
Foto: Amazon News, términos de uso, vía aboutamazon.com

Amazon Web Services lanzó el 11 de noviembre AWS Emulator, una herramienta gratuita para probar en una computadora interacciones con sus servicios en la nube. Matthew Goldberg, ingeniero principal sénior de AWS, afirma que agentes autónomos de inteligencia artificial escribieron todo el código del programa y que su equipo no lo escribió ni lo revisó.

El emulador recibe solicitudes de una aplicación y reproduce parte de las respuestas de AWS en el equipo del desarrollador. Eso permite ensayar cambios sin crear recursos en la nube para cada prueba. La utilidad tiene un límite: una prueba aprobada en local no garantiza que la aplicación se comporte igual al desplegarse en AWS.

Según GeekWire, la herramienta se construyó a partir de más de 400 modelos de interfaces de programación, o API, que abarcan más de 200 servicios de AWS. Esos modelos describen cómo se comunican los programas con los servicios. Su alcance no implica que el emulador reproduzca todas las funciones con la misma precisión.

Pruebas sin crear recursos en la nube

Un equipo puede dirigir al emulador las solicitudes que sus herramientas de desarrollo enviarían a AWS. Por ejemplo, una prueba puede crear un contenedor de almacenamiento simulado de Amazon S3 y volver a consultarlo sin abrir uno en una cuenta real.

AWS indica que el programa funciona con su interfaz de línea de comandos y sus kits de desarrollo, tanto para pruebas locales como para procesos automatizados de integración. No requiere una cuenta de AWS y no tiene un cargo adicional por el servicio; los recursos que se utilicen después en la nube sí pueden generar costos.

En Linux se instala mediante paquetes; en Windows y macOS se ejecuta con Docker. El programa mantiene los recursos simulados en la memoria de la computadora y los elimina al detenerse.

La documentación también distingue entre las solicitudes de la aplicación y la telemetría. AWS afirma que el emulador no le envía las solicitudes, respuestas ni datos de los recursos, pero por defecto transmite datos anónimos de uso y errores. Esa telemetría se puede desactivar.

Los permisos y las fallas requieren otras pruebas

AWS advierte que el emulador no evalúa las políticas de acceso de la misma manera que la nube real y pide no usarlo para comprobar la seguridad de una aplicación. Una solicitud que funciona en la simulación, por ejemplo, podría ser rechazada al desplegarse por una política de permisos.

La precisión también depende del servicio y de la operación. AWS publica resultados de pruebas de fidelidad con cada versión para mostrar cuántos escenarios reproduce el programa. Es una medición de los casos examinados, no una garantía de cobertura total.

Devin Pratt, director de investigación de IDC, dijo a InfoWorld que el emulador tampoco simula por ahora situaciones como interrupciones, límites de solicitudes o diferencias de disponibilidad entre regiones. Esas condiciones importan cuando un equipo quiere comprobar cómo responde una aplicación ante fallas.

Pratt agregó que el código ejecutado por el emulador no está aislado. Por ello, las pruebas con credenciales reales podrían llegar a recursos de AWS. La propia guía de seguridad de AWS recomienda mantener fuera las credenciales y los datos de producción, y probar la aplicación y sus permisos en AWS antes de ponerla en funcionamiento.

Tres grupos de agentes para construir el programa

Goldberg sitúa el origen del proyecto en un experimento con Kiro, el agente de programación de AWS. Le pidió que escribiera pruebas, las contrastara con la nube real y construyera una implementación que las superara. Según su relato, en 15 minutos obtuvo una primera versión aceptable del emulador de Amazon SQS, un servicio de colas de mensajes.

El ingeniero refinó las instrucciones y extendió el prototipo durante un fin de semana. La versión inicial tenía huecos, reconoció, y convertirla en un producto exigió más trabajo de ingeniería y controles para los agentes.

Goldberg describe ahora tres grupos de agentes. El primero genera pruebas de fidelidad y las verifica contra AWS; el segundo las ejecuta en el emulador y registra las diferencias; el tercero toma los problemas y modifica el código para corregirlos.

Antes de incorporar cada cambio, el sistema comprueba que compile y usa otros agentes para revisar estándares de programación, seguridad y posibles regresiones en las pruebas, de acuerdo con Goldberg. Su afirmación sobre la ausencia de revisión humana del código se refiere al equipo que construyó el emulador; las instrucciones y los controles de ese proceso sí requirieron trabajo de ingeniería.

AWS publicó el código del emulador en GitHub con la dedicación de dominio público CC0 1.0. El código de terceros incluido en el directorio vendor/ usa la licencia Apache 2.0, precisa la guía de instalación. Las pruebas de fidelidad también son públicas.

Para quien adopte la herramienta, la comprobación decisiva sigue siendo comparar los servicios y operaciones que necesita con los resultados publicados y con pruebas en la nube real.

AWS compromete 100 millones de dólares en créditos de IA para proyectos de salud
AWS destinará créditos de IA y nube a proyectos de salud. Cada asignación durará 12 meses, con posible prórroga.

Fuentes: 1, 2, 3, 4

Gerardo Pavez imagen de perfil
por Gerardo Pavez

Redactor y creador de contenido especializado en deportes y tecnología. Apasionado por todo lo que ocurre dentro y fuera de la cancha.

Leer más de Tecnología y Ciencia