AWS 发布了 AWS Emulator,一个 AWS API 的本地模拟器。你可以在笔记本电脑、开发服务器或 CI 中运行它。AWS CLI 和 SDK 会与它通信,而不是与 AWS 通信。无需 AWS 账户,也没有服务费用。不同寻常之处在于:自主智能体编写并审查了它的全部代码。对于开发者和编码智能体来说,AWS Emulator 提供了一个快速、免费的测试循环,针对的是 AWS 形态的 API。
TL;DR
规模:基于 438 个 AWS API 模型构建,覆盖 200 多个服务。每个服务一个 Rust crate。
运行环境:Linux x86_64/aarch64(RPM 或 Debian),或在 macOS/Windows 上使用 Docker,内存限制为 2 GiB。从源码构建需要 100 GB 可用磁盘空间。
性能:在 release v1.0.322 中,通过了 42,857 项计分保真度测试中的 24,243 项(56.6%)。
最佳:AWS KMS 达 93.9%(310 项测试中通过 291 项);Amazon SQS 达 89.8%。
最差:AWS CloudFormation 仅 15.8%(2,612 项测试中通过 414 项)。
什么是 AWS Emulator?
AWS Emulator 是 AWS 推出的一个无头本地程序,提供 AWS API 端点。你通过环境变量让 CLI 或 SDK 指向它。你的代码无需更改。资源存放在内存中,程序停止时即消失。
文档中给出了一个 DynamoDB 示例。一个使用 2 个字符名称的 CreateTable 调用会失败,并返回与 AWS 相同的 ValidationException 文本。
AI 智能体是如何构建 AWS Emulator 的?
该项目始于向 Kiro 发出的一条提示。它在大约 15 分钟内返回了一个尚可用的 Amazon SQS 模拟器。随后 AWS 将工作拆分给 3 个智能体团队:
测试编写者从公开的 Smithy API 模型推导出场景,并针对真实 AWS 逐一验证。
问题发现者针对模拟器重放这些测试并提交失败报告。
修复者每人领取 1 个问题并提交补丁。
每个补丁都要通过一道合并门禁,涵盖构建、代码审查、安全性和保真度。多个安全智能体运行对抗性审查。Matthew Goldberg 报告称,每天有数百个并发智能体修复数千个问题。发布流水线运行在 AWS Developer Tools 上,以 CodeCommit 作为智能体的代码仓库。代码最后才到达 GitHub。
AWS Emulator 的准确度如何?
AWS 随每个版本发布一个 scores.json 文件。我们统计了 v1.0.322 文件,计分日期为 2026 年 11 月 11 日。
总体:42,857 项计分测试中通过 24,243 项(56.6%);80 项被跳过。
步骤级别:68,007 个独立步骤中有 49,810 个通过(73.2%)。
跨服务工作流:6,569 个中有 2,752 个通过(41.9%)。
核心服务:S3 79.1%,DynamoDB 77.3%,SNS 73.9%,Lambda 46.4%,EC2 41.5%。
根据保真度文档,控制面 API 与 AWS 的匹配度最佳。数据面、CloudFormation、Terraform 和 CDK 的支持因服务而异。未实现的操作返回 HTTP 501 NotImplemented。测试位于 aws-emulator-evaluation-suite 中,包括失败的测试。
如何运行 AWS Emulator?
根据 README,有 4 种方式:
Linux:安装 RPM 或 Debian 包并运行 aws-emulator。
macOS/Windows:从 AWS 的 Dockerfile 构建容器,内存上限为 2 GiB。
Rust 嵌入式模式:将其添加为 dev-dependency,以便每个测试使用 1 个隔离实例。
编码智能体:aws agent-toolkit add-skill --skill-name aws-emulator,需要 AWS CLI 2.35.0 或更高版本。
源码构建在 127.0.0.1:9297 上通过自签名证书提供 HTTPS 服务。它需要 Rust 工具链、C 编译器和至少 100 GB 磁盘空间。嵌入式模式在首次 cargo test 时会产生相同的构建成本。
它与 LocalStack、Moto 和 Floci 相比如何?
功能AWS EmulatorLocalStackMotoFloci许可证CC0 1.0(vendor/ Apache 2.0)商业方案Apache-2.0MIT价格免费Hobby $0(非商业);Base $39;Ultimate $89 每许可证/月(按年)免费免费服务覆盖200+ 服务,438 个 API 模型按方案分为 30+ / 55+ / 110+README 中未披露README 中未汇总是否需要厂商令牌否是(认证令牌)否未披露默认端点HTTPS 127.0.0.1:9297端口 4566端口 5000端口 4566进程内测试模式Rust dev-dependency未披露Python @mock_aws 装饰器未披露占用空间AWS 指南中 Docker 限制为 2 GiB未披露未披露空闲约 13 MiB,启动约 24 ms(自报)已发布保真度分数是,每次发布未披露未披露未披露
AWS Emulator 有哪些限制?
AWS 明确列出了这些:
不进行 IAM 评估。身份和资源策略不会像 AWS 那样被评估。不要将其用于安全测试。
1 个区域,1 个账户。它接受任意 ID,但不会按这些 ID 隔离资源。
仅在 us-west-2 中验证,全球服务在 us-east-1 中检查。
内存中和短生命周期。它未经过长时间运行或负载测试。使用 --idle-timeout 来停止它。
遥测默认开启。可通过 --telemetry off、EMULATOR_TELEMETRY=off、config.toml 或嵌入式 API 将其关闭。
发布节奏很快。版本 v1.0.265 到 v1.0.322 在 11 月 8 日至 11 日之间发布。
关键要点
AWS Emulator 是一个免费的、CC0 许可的本地副本,涵盖 200+ 项 AWS 服务。
智能体编写了所有代码;人类构建了测试和合并门禁。
发布时,它通过了 42,857 项已发布的保真度测试中的 56.6%。
SQS、KMS 和 S3 表现强劲;CloudFormation 和 IoT 落后。
将其用于快速的本地和 CI 循环,而非安全或负载测试。
查看 GitHub 仓库、用户指南、保真度测试和工程博客文章。另外,欢迎在 Twitter 上关注我们,别忘了加入我们 150k+ 的 ML SubReddit 并订阅我们的 Newsletter。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们
文章《AWS Releases AWS Emulator: A Local Copy of 200+ AWS Services Built by AI Agents》首发于 MarkTechPost。