Technologia

AWS Emulator odtwarza 200 usług Amazona offline, a żaden inżynier nie przeczytał jego kodu

Susan Hill
Dodaj nas w Google

AWS Emulator, nowe narzędzie deweloperskie Amazona, pozwala uruchomić na zwykłym komputerze działający odpowiednik jego chmury. Dzięki temu oprogramowanie, które normalnie łączy się z serwerami Amazona, można testować offline, za darmo i bez zakładania konta. Zaskakuje to, kto je stworzył. Amazon twierdzi, że każdą linijkę kodu napisali agenci AI, a inżynierowie pracujący nad projektem nie napisali ani nie sprawdzili żadnego fragmentu.

Dla osób tworzących oprogramowanie oznacza to zmianę powolnego i kosztownego nawyku. Testowanie aplikacji w prawdziwej chmurze wymaga czekania na serwery i płacenia za zasoby, które zaraz potem trafiają do kosza. Agenci programistyczni, tacy jak Kiro Amazona i Claude Code firmy Anthropic, pogłębiają problem: sprawdzają swoją pracę, wielokrotnie uruchamiając kod, a każda kolejna wymiana z chmurą oznacza dodatkowe opóźnienia i koszty. Emulator pozwala przeprowadzać takie testy na laptopie.

Największe wrażenie robi skala projektu. Narzędzie obsługuje ponad 200 usług AWS, a jego podstawą jest ponad 400 publicznych opisów interfejsów API Amazona. Całość napisano w języku Rust. Jak mówi Matt Goldberg, starszy główny inżynier AWS stojący za projektem, wszystko zaczęło się od weekendowego eksperymentu. Dał Kiro jedno polecenie i po około 15 minutach otrzymał całkiem niezłą kopię amazonowej usługi kolejkowania wiadomości. W poniedziałek miał już zgrubną wersję pozostałej części AWS, z której jego zespół zaczął korzystać przy testowaniu własnego oprogramowania.

Za poprawność kodu nie odpowiada ludzki recenzent, lecz łańcuch automatycznych kontroli. Amazon opisuje trzy zespoły agentów działające na platformie Bedrock AgentCore. Pierwszy tworzy „testy zgodności” — rzeczywiste scenariusze, takie jak utworzenie kolejki, wysłanie wiadomości i usunięcie kolejki — a następnie sprawdza każdy z nich w działającej chmurze. Drugi odtwarza te testy w emulatorze i zgłasza każdy błąd jako problem. Trzeci je naprawia: do każdego problemu przypisany jest osobny agent. Zmiana nie zostaje scalona, dopóki inne agenty, w tym kilka wyspecjalizowanych w bezpieczeństwie, nie sprawdzą jej pod kątem słabych punktów. Goldberg mówi, że setki agentów naprawiają teraz tysiące problemów dziennie.

Wyjaśnienie Goldberga jest zaskakująco przyziemne. Porównuje swoich agentów do siebie samego w przedszkolu — był wtedy za mały, by dobrze trzymać kredkę, a obwiniono go o zniszczenie klasowego rysunku dinozaurów. Wniosek? Agentom potrzebne są kolorowanki, czyli jasno wyznaczone pole, które mają wypełnić. Bez takiej struktury wcześniejsza generacja agentów postanowiła napisać własny interpreter Pythona do uruchamiania funkcji Lambda. Zespół od tamtej pory kieruje je z dala od takich objazdów.

Ograniczenia są realne, a Amazon sam szczegółowo je opisuje. Dokumentacja projektu ostrzega deweloperów, by nie używali emulatora do obsługi obciążeń produkcyjnych ani testowania bezpieczeństwa. W repozytorium znajduje się też publiczny folder z opisem zachowań, które wciąż odbiegają od prawdziwego AWS. Nosi nazwę „things-that-do-not-work”. Analityk IDC Devin Pratt powiedział serwisowi InfoWorld, że narzędzie nie symuluje jeszcze ograniczania liczby żądań, awarii ani regionalnych różnic w dostępności usług, a także nie izoluje uruchamianego kodu. Zbudowanie emulatora z kodu źródłowego wymaga co najmniej 100 GB wolnego miejsca na dysku. Domyślnie włączona jest też telemetria przekazująca Amazonowi informacje o użyciu, którą można jednak wyłączyć.

Narzędzie trafia również na rynek, na którym działa już uznany konkurent. LocalStack, najbardziej znany emulator AWS, w tym roku uzależnił dostęp do bezpłatnej wersji od posiadania konta i ograniczył jej użycie do celów niekomercyjnych, jak informował GeekWire. Narzędzie Amazona udostępniono na licencji CC0, która przekazuje je do domeny publicznej. Na GitHubie można znaleźć pełną historię zmian oraz wszystkie problemy zgłoszone przez agentów, więc każdy może zajrzeć do projektu, stworzyć jego własną wersję lub rozwijać go dalej.

To wydanie jest równie mocnym sygnałem co gotowym produktem. Swami Sivasubramanian, wiceprezes AWS ds. agentowej sztucznej inteligencji, napisał na blogu Wernera Vogelsa, dyrektora ds. technicznych Amazona, że gdy kod tworzą agenci, zadaniem inżyniera staje się przygotowanie specyfikacji, testów i warunków scalania, które rozstrzygają, czy praca jest poprawna. Opisał, jak przez cztery noce nadzorował Kiro, gdy agent próbował odtworzyć silnik replikacji, który Sivasubramanian zbudował ręcznie około dwudziestu lat wcześniej. Gdy agent dostał specyfikację i środowisko testowe, wykonanie zadania zajęło mu około dwóch godzin.

AWS Emulator udostępniono 11 listopada jako bezpłatne narzędzie do pobrania na całym świecie. Dostępne są pakiety dla systemu Linux, rozwiązanie oparte na Dockerze dla Windows i macOS oraz tryb osadzony w zestawach testowych Rust. Amazon zapowiada, że za kilka tygodni opowie więcej o projekcie podczas konferencji re:Invent.

Pytanie, czy zespoły zaufają kodowi, którego nie przeczytał żaden człowiek, Amazon postanowił postawić publicznie. Większość deweloperów zacznie od folderu z opisem rzeczy, które nie działają.

Tagi: , , , , ,

Dodaj nas w Google

Dyskusja

Jest 0 komentarzy.