IA

AWS Emulator reproduit 200 services d’Amazon hors ligne, et aucun ingénieur n’a lu son code

Susan Hill
Ajoutez-nous sur Google

AWS Emulator, le nouvel outil de développement d’Amazon, installe sur un ordinateur ordinaire une version opérationnelle de son cloud. Les logiciels qui communiquent habituellement avec les serveurs d’Amazon peuvent ainsi être testés hors ligne, gratuitement et sans compte. La surprise, c’est l’identité de ses créateurs : Amazon affirme que des agents d’IA ont écrit chaque ligne de code et que les ingénieurs du projet n’en ont écrit ni relu aucune.

Pour les développeurs, cela change une habitude coûteuse et chronophage. Tester une application sur le véritable cloud suppose d’attendre que les serveurs répondent et de payer pour des ressources que l’on va ensuite jeter. Les agents de programmation comme Kiro, d’Amazon, et Claude Code, d’Anthropic, accentuent le problème : ils vérifient leur travail en exécutant le code encore et encore, et chaque aller-retour vers le cloud ajoute du délai et des frais. Avec l’émulateur, ces cycles peuvent désormais s’effectuer sur un ordinateur portable.

C’est l’ampleur du projet qui frappe. L’outil prend en charge plus de 200 services AWS, générés à partir de plus de 400 descriptions d’API publiques d’Amazon, et il est écrit en Rust. Selon Matt Goldberg, ingénieur principal senior chez AWS et à l’origine du projet, tout a commencé par une expérience menée le temps d’un week-end. Il a donné une seule consigne à Kiro, obtenu en une quinzaine de minutes une copie acceptable du service de mise en file d’attente de messages d’Amazon et, dès le lundi, disposait d’une version rudimentaire du reste d’AWS, que son équipe a commencé à utiliser pour tester ses propres logiciels.

Ce qui garantit la fiabilité du code, ce n’est pas une relecture humaine, mais une succession de vérifications automatisées. Amazon décrit trois équipes d’agents fonctionnant sur sa plateforme Bedrock AgentCore. La première rédige des « tests de fidélité » : des scénarios réels, comme créer une file d’attente, envoyer un message puis supprimer la file, et vérifie chacun d’eux sur le cloud en production. La deuxième rejoue ces tests sur l’émulateur et signale chaque échec comme un problème. La troisième les corrige, avec un agent par problème, et aucune modification n’est intégrée avant que d’autres agents — dont plusieurs sont spécialisés dans la sécurité — ne l’aient mise à l’épreuve. Goldberg affirme que des centaines d’agents corrigent désormais des milliers de problèmes par jour.

Son explication à lui est d’une simplicité désarmante. Goldberg compare ses agents à l’enfant qu’il était en maternelle, trop jeune pour tenir correctement un crayon et accusé d’avoir gâché un dessin de dinosaures réalisé en classe. Il en conclut que les agents ont besoin de livres de coloriage : une zone clairement délimitée qu’ils peuvent remplir. Faute d’un tel cadre, une génération précédente d’agents avait décidé d’écrire son propre interpréteur Python pour exécuter des fonctions Lambda, une digression dont l’équipe les a depuis détournés.

Les limites sont bien réelles, et Amazon en publie elle-même un grand nombre. La documentation du projet recommande aux développeurs de ne pas utiliser l’émulateur pour des charges de travail en production ni pour tester la sécurité, et le dépôt contient un dossier public répertoriant les comportements qui ne correspondent toujours pas à ceux du véritable AWS, intitulé « things-that-do-not-work ». Devin Pratt, analyste chez IDC, a déclaré à InfoWorld que l’outil ne simule pas encore la limitation du débit, les pannes ou les différences régionales de disponibilité des services, et qu’il n’isole pas le code qu’il exécute. La compilation à partir du code source nécessite au moins 100 Go d’espace disque disponible, et la télémétrie qui transmet des données d’utilisation à Amazon est activée par défaut, même s’il est possible de la désactiver.

L’outil arrive aussi sur un marché où un acteur est déjà bien établi. LocalStack, l’émulateur AWS le plus connu, a cette année rendu obligatoire la création d’un compte pour accéder à sa version gratuite et l’a limitée à un usage non commercial, comme l’a rapporté GeekWire. L’outil d’Amazon est publié sous CC0, une dédicace au domaine public, avec l’historique complet des modifications et chaque problème signalé par un agent sur GitHub : chacun peut donc l’examiner, le forker ou s’appuyer dessus.

Cette sortie est autant une prise de position qu’un produit. Swami Sivasubramanian, vice-président de l’IA agentique chez AWS, a écrit sur le blog de Werner Vogels, directeur technique d’Amazon, que lorsque des agents écrivent le code, le rôle de l’ingénieur consiste à élaborer les spécifications, les tests et les conditions de fusion qui déterminent si le travail est correct. Il a raconté avoir supervisé Kiro pendant quatre nuits, alors que l’agent tentait de reconstruire un moteur de réplication qu’il avait conçu à la main une vingtaine d’années auparavant. Une fois muni d’une spécification et d’un environnement de test, l’agent a réalisé le travail en environ deux heures.

AWS Emulator a été lancé le 11 novembre sous la forme d’un téléchargement gratuit disponible dans le monde entier. Des paquets sont proposés pour Linux, une solution Docker pour Windows et macOS, ainsi qu’un mode intégré destiné aux suites de tests Rust. Amazon indique qu’elle présentera plus en détail le projet lors de sa conférence re:Invent, dans quelques semaines.

La question de savoir si les équipes feront confiance à du code qu’aucun être humain n’a lu est celle qu’Amazon a décidé de poser publiquement. C’est dans le dossier consacré aux éléments qui ne fonctionnent pas que la plupart des développeurs commenceront à chercher.

Étiquettes: , , , , ,

Ajoutez-nous sur Google

Discussion

Il y a 0 commentaire.