Teknologi

AWS Emulator kjører 200 Amazon-tjenester offline, og ingen ingeniør har lest koden

Susan Hill
Legg oss til på Google

AWS Emulator, Amazons nye utviklerverktøy, gjør en fungerende kopi av skytjenesten tilgjengelig på en vanlig datamaskin. Dermed kan programvare som vanligvis kommuniserer med Amazons servere, testes offline, gratis og uten konto. Det overraskende er hvem som har laget verktøyet. Amazon sier at KI-agenter skrev hver eneste kodelinje, og at ingeniørene i prosjektet verken har skrevet eller gjennomgått koden.

For dem som utvikler programvare, kan dette endre en tidkrevende og kostbar vane. Skal man teste en app mot den faktiske skytjenesten, må man vente på servere og betale for ressurser som bare skal brukes og deretter kastes. Kodeagenter som Amazons Kiro og Anthropic Claude Code gjør problemet større: De sjekker arbeidet sitt ved å kjøre kode om og om igjen, og hver tur til og fra skyen koster både tid og penger. Med emulatoren kan denne arbeidsflyten kjøres på en bærbar datamaskin i stedet.

Det er omfanget som vekker oppsikt. Verktøyet dekker mer enn 200 AWS-tjenester, generert fra over 400 av Amazons offentlige API-beskrivelser, og er skrevet i Rust. Ifølge Matt Goldberg, senior principalingeniør i AWS og mannen bak prosjektet, startet det som et helgeeksperiment. Han ga Kiro én enkelt instruks, fikk en brukbar kopi av Amazons meldingstjeneste for køer på rundt 15 minutter, og hadde innen mandag en grov versjon av resten av AWS som teamet hans begynte å bruke til å teste egen programvare.

Det som holder koden på rett kurs, er ikke en menneskelig kontrollør, men en kjede av automatiserte kontroller. Amazon beskriver tre agentteam som kjører på plattformen Bedrock AgentCore. Det første skriver «fidelity tests» – realistiske scenarier som å opprette en kø, sende en melding og slette køen – og kontrollerer hvert av dem mot den faktiske skytjenesten. Det andre kjører testene på nytt mot emulatoren og registrerer hver feil som en sak. Det tredje retter feilene, med én agent per sak, og ingenting slås sammen før andre agenter, flere av dem viet til sikkerhet, har forsøkt å angripe endringen. Goldberg sier at hundrevis av agenter nå løser tusenvis av saker hver dag.

Goldbergs egen forklaring er forfriskende jordnær. Han sammenligner agentene sine med seg selv i barnehagen: for liten til å holde en fargestift skikkelig, og beskyldt for å ha ødelagt klassens tegning av dinosaurer. Konklusjonen hans er at agenter trenger malebøker – et tydelig avgrenset område å fylle ut. Uten slike rammer bestemte en tidligere generasjon av agentene seg for å skrive sin egen Python-tolk for å kjøre Lambda-funksjoner, en omvei teamet siden har styrt dem unna.

Begrensningene er reelle, og Amazon beskriver mange av dem selv. Prosjektdokumentasjonen ber utviklere om ikke å bruke emulatoren til produksjonsoppgaver eller sikkerhetstesting, og i prosjektarkivet ligger en offentlig mappe med funksjoner som ennå ikke samsvarer med ekte AWS, kalt «things-that-do-not-work». IDC-analytikeren Devin Pratt sa til InfoWorld at verktøyet foreløpig ikke simulerer kapasitetsbegrensninger, driftsavbrudd eller regionale forskjeller i hvilke tjenester som er tilgjengelige, og at det ikke kjører koden i et isolert miljø. Å bygge verktøyet fra kildekoden krever minst 100 GB ledig diskplass. Telemetri som rapporterer bruken til Amazon, er dessuten slått på som standard, men kan deaktiveres.

Verktøyet kommer også inn i et marked med en etablert aktør. LocalStack, den mest kjente AWS-emulatoren, la i år gratisversjonen bak et krav om å opprette konto og begrenset bruken til ikke-kommersielle formål, skrev GeekWire. Amazons verktøy er utgitt under CC0, en dedikasjon til det offentlige domenet, med hele historikken over kodeendringer og alle saker agentene har opprettet, tilgjengelig på GitHub. Dermed kan hvem som helst undersøke det, lage en egen forgrening eller bygge videre på det.

Lanseringen er like mye et standpunkt som et produkt. Swami Sivasubramanian, visepresident for agentbasert KI i AWS, skrev på bloggen til Amazons teknologidirektør Werner Vogels at når agenter skriver koden, blir ingeniørens jobb å lage spesifikasjonene, testene og kontrollene for sammenslåing som avgjør når arbeidet er riktig. Han fortalte at han i fire netter hadde fulgt Kiro mens agenten forsøkte å bygge opp igjen en replikeringsmotor han selv hadde laget for hånd rundt tjue år tidligere. Da agenten først hadde fått en spesifikasjon og et testmiljø, tok jobben omtrent to timer.

AWS Emulator ble tilgjengelig for gratis nedlasting verden over 11. november. Det finnes pakker for Linux, en Docker-løsning for Windows og macOS og en innebygd modus for Rust-testpakker. Amazon sier at selskapet vil fortelle mer om prosjektet på konferansen re:Invent om noen uker.

Om team vil stole på kode ingen mennesker har lest, er spørsmålet Amazon har valgt å stille offentlig. Mappen med det som ikke fungerer, er stedet de fleste utviklere kommer til å begynne å lete.

Tagger: , , , , ,

Legg oss til på Google

Diskusjon

Det er 0 kommentarer.