Developers

AWS Releases Agent-Built Emulator Under Creative Commons License, Maintained Entirely by AI

Amazon's new AWS Emulator was constructed and is continuously maintained by autonomous agents rather than human engineers, marking a significant experiment in agentic software development.

6 min read
AWS had its agents build a free and open emulator for AWS. They now maintain it, too.

Amazon Web Services unveiled its AWS Emulator on Wednesday, a tool designed to replicate AWS services locally. The project stands out not for what it does, but for how it came into being: the entire codebase was written by a team of autonomous agents and continues to be maintained by them.

Because AWS harbored uncertainty about whether it could claim copyright over work produced by agents, the company released the emulator under the Creative Commons Zero license, effectively placing the code in the public domain.

Tom 'Spot' Callaway, principal open source software strategist at AWS, explained to The Silicon Ledger that while AWS and others have created emulators previously, they suffer from a fundamental problem. "The challenge is that they get out of date very quickly," he said. "They don't always reflect reality on the ground, and because of that, they're often not trusted. And we didn't even trust them internally."

The emergence of agentic coding tools prompted AWS to reconsider the emulator approach. The team recognized that agents needed a way to test code against AWS services without requiring access to actual AWS credentials. Additionally, the bounded nature of the emulator project—with clearly defined objectives and measurable outcomes—made it an ideal test case for building an entire project using agents.

The agent system building AWS Emulator. Credit: AWS.

AWS already maintains comprehensive API models in Smithy format and generates all its software development kits from these specifications. Callaway noted that this existing infrastructure made it logical to generate mock emulation using the same underlying models.

From Weekend Experiment to Production Tool

The project originated from an experiment by Matt Goldberg, senior principal engineer on the AWS Developer Tools team. The effort drew inspiration from Anthropic's work in having agents construct a C compiler earlier in the year.

Goldberg initially tasked Kiro, AWS's agentic coding tool, with building an emulator for Amazon Simple Queue Service (SQS). The first version arrived within 15 minutes. He then directed Kiro to expand coverage across the rest of AWS over the course of a weekend. Though that iteration contained gaps, Goldberg's team began testing their own software against it the following Monday.

Callaway admitted his initial skepticism. "I got to admit, the first time I heard about this, I was like, 'Are we sure this is a good idea?'" he said. As the team continued refining the system, however, his confidence grew that agents could effectively handle this particular problem.

The current version of AWS Emulator encompasses 438 public AWS API models spanning more than 200 services. As AWS introduces updates and launches new services, the agents will rapidly incorporate those changes into the emulator. Callaway anticipates the lag between a new AWS service launch and emulator support will shrink to "days, not weeks, not months," though the team has yet to observe this timeline with the project now public.

Built in Rust, the emulator operates locally on Linux, macOS, and Windows without requiring network connectivity or an AWS account. "There's no AI inside of AWS Emulator," Callaway emphasized. "It does not do an LLM callout at all."

Three-Team Agent Architecture

AWS organizes the agent workforce into three specialized teams. The first team generates test scenarios derived from the public Smithy models and executes them against actual AWS services to define expected emulator behavior. These scenarios frequently involve multiple services interacting together rather than isolated API calls.

Callaway explained the philosophy behind this approach: "if the docs don't tell the truth, then the cloud becomes the source of truth."

A second team runs those same scenarios against the emulator and identifies discrepancies between its behavior and AWS's actual behavior. This team categorizes failures sharing common causes and creates issues in the code repository documenting these problems.

The third team addresses these issues by modifying the code. Before any changes can be merged, they must pass build and test checks along with reviews from other agents examining security implications, adherence to coding standards, and potential regressions in emulator functionality.

Human engineers concentrate their efforts on enhancing the system that directs the agents themselves. "We don't edit it. We don't modify it," Callaway stated regarding the emulator code. "If we find that the code has issues, we try and trace those issues back to the agent and fix the agent so that it doesn't make bad code."

When problems emerge in agent-generated code, the team adjusts how the agents operate rather than manually patching the code. Goldberg noted that in an earlier iteration, agents attempted to write their own Python interpreter to support Lambda functions. The team subsequently instructed them to leverage existing libraries instead.

Callaway reflected on lessons learned: "I think we've learned a lot about sandboxing, haven't we all in the last few months?" Early versions of the system lacked sufficiently aggressive sandboxing, and the team faced concerns about agents examining AWS's internal service source code to understand how to implement features like Aurora. Considerable effort went into reassuring Amazon leadership that the agent framework would not operate autonomously in problematic ways.

No Human Pull Requests

AWS maintains a strict policy against accepting pull requests from external contributors. "We're not going to take pull requests on the project at all," Callaway said. "The agents will be doing that. We will take issues from customers."

He characterized the agents as "their own little pull request army." When customers consistently report an API behaving incorrectly, that represents "a bug in the agent," and Callaway expects external contributions to primarily consist of scenarios the emulator does not yet handle properly.

AWS is publishing the benchmark used to validate the emulator's behavior. "You can not trust us," Callaway said. "You can run that benchmark." The benchmark is also available for others to use when evaluating their own projects.

Limitations of the Emulator

Users should understand that the emulator does not replicate all functionality of actual AWS services. "I run this SQL query, and I don't get the right results," Callaway said as an example. "Well, guess what? There's no database." The emulator was "really built for the purposes of testing coverage."

AWS plans to provide additional details about the project during its re:Invent conference, which begins November 30.

Source: The New Stack · Reporting supplemented by The Silicon Ledger staff.