AI

AWS Emulator、Amazonの200サービスをオフライン再現 コードはAIエージェントが全て書いた

Susan Hill
Googleで追加する

Amazonの新しい開発者向けツール、AWS Emulatorを使えば、クラウドの動作を普通のコンピューター上で再現できる。通常ならAmazonのサーバーと通信するソフトウェアを、アカウントなし、無料、オフラインでテストできるのだ。驚くべきなのは、これを作ったのが誰かという点だ。Amazonによると、コードはすべてAIエージェントが書き、プロジェクトに携わったエンジニアは誰ひとり、コードを書いてもいなければレビューもしていない。

ソフトウェア開発者にとって、これは時間も費用もかかる従来の習慣を変えるものだ。実際のクラウドを使ってアプリをテストするには、サーバーの準備を待ち、テスト後に破棄するだけのリソースにも料金を払わなければならない。AmazonのKiroやAnthropicのClaude Codeのようなコーディングエージェントは、コードを何度も実行して動作を確かめるため、この問題をさらに大きくする。クラウドとのやり取りのたびに、遅延とコストが増えるからだ。このエミュレーターなら、そうした反復作業をノートパソコン上で行える。

際立つのは、その規模だ。このツールは200を超えるAWSサービスに対応し、Amazonが公開する400以上のAPI仕様から生成されている。開発言語はRustだ。プロジェクトを率いるAWSのシニア・プリンシパル・エンジニア、マット・ゴールドバーグによると、始まりは週末の実験だった。Kiroにひとつのプロンプトを与えたところ、Amazonのメッセージキューサービスをそれなりに再現するものが約15分でできあがった。月曜日までにはAWSの残りのサービスを再現する粗削りなバージョンができ、チームは自社ソフトウェアのテストに使い始めたという。

コードの正確性を支えているのは、人間のレビュアーではなく、自動チェックの連鎖だ。Amazonによると、Bedrock AgentCoreプラットフォーム上で3つのエージェントチームが動いている。ひとつ目は「忠実度テスト」を作成する。キューの作成、メッセージの送信、キューの削除といった実際のシナリオを用意し、それぞれを稼働中のクラウドで検証する。2つ目のチームは、そのテストをエミュレーター上で再実行し、失敗をすべて課題として登録する。3つ目は課題ごとにエージェントを割り当てて修正し、さらに複数のエージェントが変更を検証する。なかにはセキュリティ検証に特化したエージェントもいる。ほかのエージェントによるチェックが済むまで、変更はマージされない。ゴールドバーグによると、現在は数百のエージェントが、1日に数千件の課題を修正している。

ゴールドバーグ自身の説明は、拍子抜けするほどローテクな比喩を使っている。エージェントを幼稚園児のころの自分になぞらえ、クレヨンをうまく持てず、クラスで描いた恐竜の絵を台無しにしたと責められたことを振り返る。そして、エージェントには塗り絵が必要だと結論づける。つまり、塗る範囲がはっきり示された枠だ。そうした枠組みがなかったころ、エージェントはLambda関数を実行するために独自のPythonインタープリターを書こうとしたこともある。チームはその後、エージェントがそうした遠回りをしないよう導いている。

もちろん、限界もある。Amazon自身がその多くを公開している。プロジェクトのドキュメントは、本番環境の処理やセキュリティテストにエミュレーターを使わないよう開発者に呼びかけている。また、リポジトリには実際のAWSとまだ挙動が一致しない項目をまとめた公開フォルダーがあり、「things-that-do-not-work」と名づけられている。IDCのアナリスト、デヴィン・プラットはInfoWorldに対し、このツールはスロットリングや障害、利用可能なサービスの地域差をまだ再現できず、実行するコードをサンドボックス化する機能もないと語った。ソースからビルドするには、少なくとも100GBの空きディスク容量が必要だ。また、利用状況をAmazonに報告するテレメトリーは初期設定で有効になっているが、無効にすることもできる。

このツールが登場した市場には、すでに有力なプレーヤーがいる。最もよく知られたAWSエミュレーターであるLocalStackは、今年、無料版の利用にアカウント登録を必須とし、非商用利用に限定したとGeekWireは報じている。Amazonのツールは、パブリックドメインとして公開するCC0のもとでリリースされ、すべてのコミット履歴と、エージェントが登録したすべての課題もGitHubで公開されている。誰でも中身を確認し、フォークし、開発に活用できる。

今回のリリースは、製品であると同時にひとつの声明でもある。AWSのエージェント型AI担当副社長、スワミ・シヴァスブラマニアンは、AmazonのCTO、ヴェルナー・フォーゲルスのブログに寄稿し、エージェントがコードを書く時代には、何をもって正しいと判断するかを決める仕様、テスト、マージ条件を整えることがエンジニアの仕事になると述べた。彼は、約20年前に自ら手作業で構築したレプリケーションエンジンをKiroに再構築させようと、4晩にわたって監督した経験も紹介している。仕様とテスト環境を与えた後の作業は、約2時間で完了したという。

AWS Emulatorは11月11日、世界中で無料ダウンロードできる形で公開された。Linux向けパッケージのほか、WindowsとmacOSではDockerを利用でき、Rustのテストスイートに組み込めるモードも用意されている。Amazonは、数週間後に開かれるカンファレンスre:Inventで、プロジェクトについてさらに詳しく説明する予定だ。

誰ひとり読んでいないコードをチームが信頼できるのか。それは、Amazonが公の場に投げかけた問いだ。多くの開発者がまず確認するのは、「things-that-do-not-work」のフォルダーだろう。

タグ: , , , , ,

Googleで追加する

ディスカッション

0件のコメントがあります。