今日,AWS正式发布AWS Emulator。该工具为编程智能体(coding agents)提供AWS服务的本地副本,旨在解决智能体在编写代码时的测试与环境一致性难题。

从“Alf”到Emulator:分布式系统测试的演进

这一发布的背后,折射出分布式系统测试方法的代际演变。约二十年前,亚马逊工程师Werner Vogels与Al Vermeulen合作开发了基于Paxos协议的分布式锁服务“Alf”。作为S3、DynamoDB等核心服务的底层支撑,Alf必须在服务器故障和网络分区下保持强一致性。当时,团队通过在JVM内高保真模拟网络及基础设施,结合TLA+等形式化推理技术,在部署前解决了大部分并发错误。然而,这种手工构建测试环境的方式仅适用于早期少数几个服务的规模。

如今,AWS拥有超过200项服务,应用程序依赖错综复杂。若继续采用手工方式构建测试环境,将耗费数年工程时间,且无法匹配智能体生成代码的速度。为此,AWS Developer Tools团队资深首席工程师Matt Goldberg提出新假设:智能体应能基于书面行为规范和真实服务比对,独立构建可用的服务模拟版本。

智能体驱动的开发闭环

AWS Emulator的核心逻辑基于“保真度测试”(fidelity tests)。智能体利用基于Smithy格式编写的公共API模型,设计端到端客户场景,并与真实AWS云环境进行比对。智能体不断修正模拟器直至通过所有测试,未通过的测试则指向模拟器的功能差距。

在原型阶段,Matt Goldberg向智能体Kiro发送相关提示词后,Kiro仅在约15分钟内便返回了可接受的Amazon SQS模拟器初版。目前,AWS Emulator的所有代码均由智能体编写和测试,基于覆盖200多个AWS服务的400多个API模型构建。该工具可在本地机器上免费离线运行。为确保质量,每次代码变更均需通过严格的合并门控(merge gate),包括执行对抗性审查的安全智能体检查,只有全部通过才能进入代码库。

AI时代工程师的职责重构

随着智能体介入编码循环,工程师的角色正从“编写者”转向“规范制定者”与“质量守门人”。作者在使用Kiro重建当年的Alf复制引擎时发现,初次构建耗时约四个月,主要瓶颈在于缺乏验证手段;而在建立规范与测试环境后,重建过程仅需约两小时。

在AWS Emulator项目中,工程师负责搭建运行框架并设计安全护栏,包括经真实AWS验证的保真度测试、多视角安全智能体审查以及防止越权修改的确定性检查。智能体则承担具体的构建与自我检查任务。目前,内部版本在一个周末内组装完成,并在一个月内开始获得采用。

开源与后续计划

AWS Emulator的代码已以CC0协议发布,放弃版权并贡献至公共领域。完整的提交历史及智能体发现但与真实AWS尚不匹配的行为议题,均在GitHub仓库中公开,其中“things-that-do-not-work”文件夹记录了当前的已知差距。更多细节将在re:Invent大会上公布。