Tecnologia

AWS Emulator copia 200 serviços da Amazon offline e nenhum engenheiro leu o código

Susan Hill
Adicione-nos no Google

O AWS Emulator, a nova ferramenta de desenvolvimento da Amazon, disponibiliza num computador comum uma versão funcional da sua cloud, permitindo testar offline, gratuitamente e sem conta, software que normalmente comunica com os servidores da Amazon. A surpresa está em quem o criou. A Amazon afirma que os agentes de IA escreveram todas as linhas de código e que os engenheiros do projeto não escreveram nem analisaram nenhuma delas.

Para quem desenvolve software, isto altera um hábito moroso e dispendioso. Testar uma aplicação na cloud real implica esperar pelos servidores e pagar por recursos que só são utilizados para depois serem descartados. Os agentes de programação, como o Kiro da Amazon e o Claude Code da Anthropic, agravam o problema, porque verificam o próprio trabalho executando código repetidamente, e cada ida à cloud acrescenta demora e custos. Com o emulador, esse ciclo pode decorrer num computador portátil.

O que mais se destaca é a escala. A ferramenta abrange mais de 200 serviços AWS, gerados a partir de mais de 400 descrições públicas de API da Amazon, e foi escrita em Rust. Segundo Matt Goldberg, engenheiro principal sénior da AWS responsável pelo projeto, tudo começou como uma experiência de fim de semana. Deu ao Kiro uma única instrução, obteve em cerca de 15 minutos uma réplica razoável do serviço de filas de mensagens da Amazon e, na segunda-feira, já tinha uma versão inicial do resto da AWS, que a equipa começou a usar para testar o seu próprio software.

O que mantém o código sob controlo não é a revisão humana, mas uma cadeia de verificações automatizadas. A Amazon descreve três equipas de agentes a funcionar na sua plataforma Bedrock AgentCore. Uma escreve «testes de fidelidade», cenários reais — como criar uma fila, enviar uma mensagem e eliminá-la — e verifica cada um deles na cloud ativa. Uma segunda equipa volta a executar esses testes no emulador e regista cada falha como um problema. Uma terceira corrige-os, com um agente por problema, e nada é integrado até outros agentes — vários deles dedicados à segurança — terem posto a alteração à prova. Goldberg afirma que centenas de agentes corrigem agora milhares de problemas por dia.

A explicação do próprio é surpreendentemente simples. Goldberg compara os seus agentes consigo próprio no jardim de infância: era demasiado novo para segurar corretamente num lápis de cera e foi responsabilizado por estragar um desenho de dinossauros da turma. Daí conclui que os agentes precisam de livros para colorir: uma área claramente delimitada que possam preencher. Sem essa estrutura, uma geração anterior de agentes decidiu escrever o seu próprio interpretador de Python para executar funções Lambda, um desvio que a equipa entretanto os ensinou a evitar.

Os limites são reais, e a própria Amazon divulga muitos deles. A documentação do projeto diz aos programadores que não devem usar o emulador em cargas de trabalho de produção nem para testar a segurança, e o repositório mantém uma pasta pública com comportamentos que ainda não correspondem aos da AWS real, intitulada «things-that-do-not-work». Devin Pratt, analista da IDC, disse à InfoWorld que a ferramenta ainda não simula limitações de tráfego, interrupções ou diferenças regionais na disponibilidade dos serviços, e que não isola o código que executa. Para a compilar a partir do código-fonte são necessários, no mínimo, 100 GB de espaço livre em disco. Além disso, a telemetria que comunica a utilização à Amazon está ativada por predefinição, embora possa ser desligada.

A ferramenta chega também a um mercado onde já existe um concorrente estabelecido. A LocalStack, o emulador de AWS mais conhecido, passou este ano a exigir uma conta para a sua versão gratuita e limitou-a a utilização não comercial, como noticiou a GeekWire. A ferramenta da Amazon é disponibilizada sob a licença CC0, uma declaração de dedicação ao domínio público, com o histórico completo de alterações e todos os problemas registados pelos agentes no GitHub, para que qualquer pessoa possa inspecioná-la, criar uma versão derivada ou desenvolver trabalho a partir dela.

O lançamento é tanto uma declaração de intenções como um produto. Swami Sivasubramanian, vice-presidente de IA agêntica da AWS, escreveu no blogue de Werner Vogels, diretor de tecnologia da Amazon, que, quando os agentes escrevem o código, cabe ao engenheiro criar as especificações, os testes e os critérios de integração que determinam se o trabalho está correto. Descreveu como supervisionou o Kiro durante quatro noites, enquanto este tentava reconstruir um motor de replicação que Sivasubramanian tinha criado à mão cerca de vinte anos antes; depois de o agente ter recebido uma especificação e um ambiente de testes, o trabalho demorou cerca de duas horas.

O AWS Emulator foi lançado a 11 de novembro como transferência gratuita em todo o mundo, com pacotes para Linux, uma opção via Docker para Windows e macOS e um modo incorporado para conjuntos de testes em Rust. A Amazon afirma que irá partilhar mais informações sobre o projeto na sua conferência re:Invent, dentro de algumas semanas.

A questão que a Amazon decidiu colocar publicamente é se as equipas confiarão em código que ninguém leu. É na pasta com as coisas que não funcionam que a maioria dos programadores começará a procurar.

Etiquetas: , , , , ,

Adicione-nos no Google

Discussão

Existem 0 comentários.