技術

AWS Emulator離線模擬亞馬遜200項雲端服務,程式碼全由AI代理撰寫

Susan Hill
在 Google 中新增我們

Amazon 推出全新的開發者工具 AWS Emulator,讓一般電腦也能執行其雲端服務的替代版本,開發者可在離線、免費且無須帳戶的情況下,測試平常需要連上 Amazon 伺服器的軟體。真正令人意外的是這項工具的打造方式。Amazon 表示,程式碼每一行都是由 AI 代理撰寫,參與專案的工程師既沒有撰寫,也沒有審查任何程式碼。

對軟體開發者而言,這改變了一種既耗時又昂貴的慣常做法。要用真正的雲端服務測試應用程式,就得等候伺服器回應,還要為那些測試完便會丟棄的資源付費。Amazon 的 Kiro、Anthropic 的 Claude Code 等程式編碼代理,讓問題更加嚴重,因為它們會一遍又一遍地執行程式碼來檢查成果,每次往返雲端都會增加延遲與成本。這款模擬器讓整個測試循環可以直接在筆電上進行。

最引人注目的是它的規模。這款工具涵蓋逾 200 項 AWS 服務,根據 Amazon 公開的 400 多份 API 描述生成,並以 Rust 編寫。負責這項專案的 AWS 資深首席工程師馬特·戈德堡(Matt Goldberg)表示,專案最初只是一次週末實驗。他只給 Kiro 一個提示,約 15 分鐘後就得到一份勉強可用的 Amazon 訊息佇列服務複製品;到了星期一,AWS 其餘服務的粗略版本也已成形,團隊隨即開始用它測試自家軟體。

讓程式碼維持可靠的,不是人工審查者,而是一連串自動化檢查。Amazon 說明,整套流程由三組在 Bedrock AgentCore 平台上運作的代理團隊組成。第一組撰寫「保真度測試」(fidelity tests),設計建立佇列、傳送訊息、刪除佇列等真實情境,並逐一對照線上雲端服務驗證。第二組會在模擬器上重播這些測試,將所有失敗項目回報為問題。第三組負責修復,每個問題交由一個代理處理;在其他代理——其中好幾個專門負責安全性——對變更進行攻擊測試之前,任何修改都不會合併。戈德堡表示,如今每天有數百個代理修復數千個問題。

戈德堡自己的解釋,意外地樸實。他把這些代理比作幼稚園時的自己:年紀太小,連蠟筆都握不好,還被怪罪把全班畫的恐龍圖弄壞了;由此得出結論,代理需要填色簿,也就是一個輪廓清楚、可以在裡面填色的範圍。缺少這種架構時,早期一代的代理竟決定自行編寫 Python 直譯器來執行 Lambda 函式;團隊後來已設法引導它們不再走這條冤枉路。

這款工具確實有其限制,Amazon 也自行公開了其中許多。專案文件提醒開發者,不要用模擬器處理正式環境的工作負載,也不要用它測試安全性;程式碼儲存庫則保留一個公開資料夾,列出目前仍與真正 AWS 不符的行為,資料夾名稱是「things-that-do-not-work」。IDC 分析師德文·普拉特(Devin Pratt)告訴 InfoWorld,這款工具目前還無法模擬流量限制、服務中斷或各地區服務供應狀況的差異,也不會對執行中的程式碼進行沙箱隔離。從原始碼建置至少需要 100 GB 可用磁碟空間;此外,用來向 Amazon 回報使用情況的遙測功能預設為開啟,但可以關閉。

它進入的市場已有一個站穩腳跟的對手。據 GeekWire 報導,知名度最高的 AWS 模擬器 LocalStack 今年開始要求使用者建立帳戶才能使用免費版本,並將免費版限制為非商業用途。Amazon 的工具則以 CC0 公眾領域奉獻宣告釋出,並在 GitHub 公開完整的提交紀錄,以及每一項由代理提出的問題,任何人都能檢視、分支或以此為基礎繼續開發。

這次發布既是產品推出,也是一種表態。AWS 代理式 AI 副總裁斯瓦米·西瓦蘇布拉馬尼安(Swami Sivasubramanian)在 Amazon 技術長維爾納·福格爾斯(Werner Vogels)的部落格撰文指出,當代理負責撰寫程式碼,工程師的工作便轉為建構規格、測試和合併關卡,藉此判定成果何時才算正確。他也描述了自己連續四個晚上監督 Kiro 的過程:代理試圖重建一套他約二十年前親手打造的複製引擎;有了規格和測試環境後,這項工作約兩小時便完成。

AWS Emulator 於 11 月 11 日在全球免費推出,提供 Linux 套件、適用於 Windows 和 macOS 的 Docker 使用方式,以及可嵌入 Rust 測試套件的模式。Amazon 表示,幾週後將在 re:Invent 大會上分享更多專案資訊。

團隊是否會信任一段從未有人讀過的程式碼,是 Amazon 選擇公開提出的問題。多數開發者大概會先從那個列出尚未正常運作項目的資料夾開始查看。

標籤: , , , , ,

在 Google 中新增我們

討論

共有 0 則留言。