
亚马逊云服务(AWS)正式发布 AWS Emulator,这是一款可在开发者笔记本电脑、开发服务器或持续集成(CI)管道中模拟 AWS 服务的免费工具。据媒体报道,该工具完全由自主 AI 代理编写,人类工程师未参与任何代码的编写或审查。用户无需支付额外服务费,仅在将应用部署至 AWS 时才产生资源费用。
三组 AI 代理协同构建
AWS 表示,当任务具体且定义明确时,AI 代理表现更佳。AWS Emulator 由三个职责明确的 AI 代理团队构建和改进。
第一组代理基于公开的 AWS API 规范创建测试用例,并在真实 AWS 服务上验证,涵盖消息队列创建、收发及删除等操作。随着测试库扩充至数万个用例,这些测试可在无需连接 AWS 的情况下重放。
第二组代理在模拟器上运行上述测试,识别模拟行为与真实 AWS 行为的差异,报告失败情况并按根本原因归类问题。
第三组代理负责修复问题,每个代理专门处理一个 issue。在代码合并入主库前,必须通过构建检查及其他代理对编码标准、安全性和保真度的审查,未通过者将被退回修改。
AWS 称,数百个代理同时处理代码,每天修复数千个问题,确保持续迭代中的代码质量。
支持本地测试与 CI 集成
AWS Emulator 提供四种使用方式:AI 编码代理、Linux 包、Docker 及嵌入式模式。Linux 包作为本地进程运行,Docker 支持 Windows、macOS 和 Linux,嵌入式模式则在 Rust 测试进程内运行。
开发者可利用该工具在本地机器上测试代码与 AWS 服务的交互,包括跨服务调用;或在 CI 管道中运行集成测试,无需 AWS 账户或资源;亦可配合 AI 编码代理进行本地原型设计,随后再部署至 AWS。
局限性、数据隐私与开源协议
AWS 明确指出,Emulator 不适用于生产环境负载。由于不评估 AWS 身份和访问管理(IAM)或基于资源的策略,该工具不应被用于安全测试。
文档建议,因模拟器不按区域或账户隔离资源,所有请求应指向同一实例的区域和账户。其保真度因服务和功能而异,AWS 在美国西部(俄勒冈州)检查行为,全球服务则在美国东部(弗吉尼亚州)检查。所有模拟资源存储于内存中,停止后即消失,且未经过长时运行或负载测试。
默认情况下,模拟器会向 AWS 发送匿名使用和错误数据,但用户可禁用此功能。系统不会发送请求、响应或资源数据。
目前,源代码和保真度测试已在 GitHub 上以 CC0 公共领域贡献协议开源。代码仓库包含代理提交的所有 issues,并按“已修复”和“未解决”分类。AWS 表示,每次发布均会公布各服务的保真度评分。