Технологии

AWS Emulator запускает 200 сервисов Amazon офлайн, и ни один инженер не читал его код

Susan Hill
Добавьте нас в Google

AWS Emulator — новый инструмент Amazon для разработчиков, который позволяет запустить на обычном компьютере рабочую копию облака компании. Благодаря этому программы, обычно обращающиеся к серверам Amazon, можно тестировать офлайн, бесплатно и без учётной записи. Но удивляет не только это, а то, кто создал инструмент. По словам Amazon, каждую строку кода написали ИИ-агенты, а инженеры проекта не написали и не проверили ни одной строчки.

Для разработчиков это меняет привычный, медленный и дорогостоящий процесс. Тестирование приложения в настоящем облаке требует ждать ответа серверов и платить за ресурсы, которые нужны лишь на время проверки. Кодинговые агенты вроде Kiro от Amazon и Claude Code от Anthropic усугубляют проблему: они проверяют свою работу, снова и снова запуская код, а каждый запрос к облаку добавляет задержку и расходы. Эмулятор позволяет выполнять этот цикл прямо на ноутбуке.

Особенно впечатляет масштаб проекта. Инструмент поддерживает более 200 сервисов AWS, создан на основе более чем 400 опубликованных Amazon описаний API и написан на Rust. По словам Мэтта Голдберга (Matt Goldberg), старшего главного инженера AWS, руководившего проектом, всё началось как эксперимент на выходных. Он дал Kiro всего один запрос и примерно через 15 минут получил вполне работоспособную копию службы очередей сообщений Amazon. К понедельнику была готова черновая версия остальной части AWS, и команда Голдберга начала использовать её для тестирования собственного ПО.

Надёжность кода обеспечивает не человек-рецензент, а целая цепочка автоматических проверок. Amazon рассказывает о трёх командах агентов, работающих на платформе Bedrock AgentCore. Первая пишет «тесты на соответствие» — реальные сценарии вроде создания очереди, отправки сообщения и удаления очереди — и проверяет каждый из них в действующем облаке. Вторая повторяет эти тесты в эмуляторе и заводит задачу для каждой ошибки. Третья устраняет ошибки: на каждую задачу назначается отдельный агент. Изменения не попадают в основную ветку, пока другие агенты, в том числе несколько специально предназначенных для проверки безопасности, не подвергнут их тщательной проверке. По словам Голдберга, теперь сотни агентов ежедневно устраняют тысячи проблем.

Собственное объяснение Голдберга обезоруживающе простое. Он сравнивает своих агентов с собой в детском саду: тогда он был слишком мал, чтобы как следует держать мелок, и его обвинили в том, что он испортил классный рисунок с динозаврами. Отсюда вывод: агентам нужны раскраски — чётко очерченные области, которые можно заполнить. Без такой структуры раннее поколение агентов решило написать собственный интерпретатор Python для запуска функций Lambda. С тех пор команда старается не допускать, чтобы они снова сворачивали на этот путь.

Ограничения у инструмента существенные, и Amazon сама о многих из них сообщает. В документации проекта разработчикам советуют не использовать эмулятор в производственных средах и для проверки безопасности. В репозитории также есть общедоступная папка со списком функций, которые пока работают не так, как в настоящем AWS; она называется «things-that-do-not-work». Аналитик IDC Девин Пратт (Devin Pratt) рассказал InfoWorld, что инструмент пока не моделирует ограничение частоты запросов, сбои и региональные различия в доступности сервисов, а также не изолирует выполняемый код. Для сборки из исходников потребуется как минимум 100 ГБ свободного места на диске. Кроме того, передача Amazon данных об использовании включена по умолчанию, хотя её можно отключить.

К тому же инструмент выходит на рынок, где уже есть заметный игрок. LocalStack, самый известный эмулятор AWS, в этом году сделал бесплатную версию доступной только после создания учётной записи и ограничил её некоммерческим использованием, сообщало издание GeekWire. Инструмент Amazon выпущен под CC0 — декларацией о передаче произведения в общественное достояние. На GitHub доступны полная история изменений и все задачи, заведённые агентами, поэтому любой желающий может изучить проект, создать его ответвление или развивать его дальше.

Этот релиз — не только продукт, но и заявление о новом подходе к разработке. Свами Сивасубраманиан (Swami Sivasubramanian), вице-президент AWS по агентному ИИ, написал в блоге технического директора Amazon Вернера Фогелса (Werner Vogels), что, когда код пишут агенты, задача инженера — создавать спецификации, тесты и критерии слияния, по которым определяется, правильно ли выполнена работа. Он рассказал, как четыре ночи наблюдал за Kiro, пытавшимся заново создать движок репликации, который сам Сивасубраманиан разработал вручную примерно двадцать лет назад. Когда у агента появились спецификация и тестовая среда, на эту работу ушло около двух часов.

AWS Emulator стал доступен 11 ноября: его можно бесплатно скачать по всему миру. Предусмотрены пакеты для Linux, вариант с Docker для Windows и macOS, а также встроенный режим для тестовых наборов Rust. Amazon обещает подробнее рассказать о проекте на конференции re:Invent через несколько недель.

Доверятся ли команды коду, который не прочитал ни один человек, — именно этот вопрос Amazon решила вынести на всеобщее обсуждение. Большинство разработчиков, вероятно, начнут знакомство с проектом с папки, где перечислено то, что пока не работает.

Теги: , , , , ,

Добавьте нас в Google

Обсуждение

Имеется 0 комментариев.