OpenAI Codex написал полноценную 16-битную игру в стиле Asteroids на языке ассемблера x86 для DOS, предоставив 18 исходных файлов и примерно 2500 строк кода без единой строки ассемблера, написанной человеком. Эксперимент показывает, что ИИ способен управлять полным жизненным циклом разработки ПО — от планирования до отладки — без прямого вмешательства программиста, что выходит за рамки привычных демо-версий «автодополнения кода».
Почему этот тест имел значение
Большинство публичных демонстраций возможностей ИИ в написании кода ограничиваются крошечными фрагментами или простыми утилитами. Чтобы проверить верхний предел возможностей, в эксперименте Codex поместили в максимально ограниченную среду: 16-битный ассемблер x86 под DOS, без игровых движков, графических библиотек или удобств высокоуровневых языков. Цель состояла в том, чтобы выяснить, может ли ИИ не только генерировать код, но и управлять сопутствующими инженерными задачами.
Как были распределены роли
Обязанности человека ограничивались тремя действиями:
- Определить общую цель проекта (шутер в стиле Asteroids).
- Отвечать на любые вопросы, связанные с игровым процессом.
- Проводить тестирование каждой сборки и сообщать об обнаруженных ошибках.
Обязанности Codex охватывали всё остальное:
- Составить план проекта и архитектуру.
- Написать исходные файлы на ассемблере.
- Отлаживать, проводить рефакторинг и реструктуризацию кода.
- Вести Git-репозиторий, включая коммиты и управление ветками.
- Собирать бинарный файл и запускать его в эмуляторе DOS.
Человек не ввел ни одной инструкции на ассемблере, не вызывал компилятор и не запускал игру в процессе разработки. Взаимодействие ограничивалось описанием симптомов ошибок; ИИ самостоятельно находил и устранял их первопричину.
Итеративный рабочий процесс
Каждый цикл начинался с того, что Codex предлагал контрольную точку (например, «реализовать движение корабля игрока»). Затем он создавал соответствующие исходные файлы, фиксировал их (commit), собирал исполняемый файл и передавал готовую сборку тестеру. Codex анализировал симптом, отслеживал его в кодовой базе и выпускал патч без дальнейшего руководства со стороны человека.
Что содержит конечный продукт
- 18 исходных файлов на ассемблере, организованных в традиционную структуру репозитория.
- ≈2500 строк ассемблерного кода, охватывающих обработку ввода, отрисовку спрайтов, обнаружение столкновений и систему рекордов.
- Исполняемый файл DOS, который запускается в стандартной среде DOS и имитирует классический геймплей Asteroids.
- Ноль строк ассемблера, написанных человеком, что подтверждает способность ИИ выполнять все задачи низкоуровневого программирования.
Ставки и последствия
Если ИИ может автономно вести проект от идеи до рабочего бинарного файла, традиционная роль программиста как основного организатора кодовой базы меняется. Компании могли бы сократить время, затрачиваемое на шаблонную настройку, документацию и рутинную отладку, освобождая инженеров для проектирования и разработки стратегии продукта.
Эксперимент также выявляет ограничения. Тестовая среда была намеренно узкой: однопользовательская игра для DOS с хорошо понятной механикой. Масштабирование этого подхода на крупные многомодульные системы с внешними зависимостями, ограничениями безопасности или критичными к производительности участками кода остается недоказанным. Более того, человек-тестер по-прежнему выступал в роли последнего рубежа контроля качества; необнаруженная логическая ошибка могла бы проскочить без этого надзора.
Контраргументы и открытые вопросы
- Надежность: Программирование на ассемблере не прощает ошибок; одна ошибка на единицу (off-by-one error) может привести к краху всей программы. Codex исправлял ошибки, которые видел, но он может упустить тонкие проблемы с таймингом, которые проявляются только при стресс-тестировании.
- Поддерживаемость: Код, созданный без соблюдения человеческих стандартов оформления, может быть труднее читать или расширять будущим разработчикам, особенно если соглашения об именовании ИИ отличаются от стандартов команды.
- Интеллектуальная собственность: Кому принадлежит код, когда его пишет ИИ? Текущие лицензионные модели предполагают авторство человека, оставляя «серую зону» для артефактов, созданных ИИ.
За чем следить дальше
- Более широкие бенчмарки: Применение того же автономного рабочего процесса к сетевым приложениям, мобильным приложениям или современным проектам на C/C++ позволит проверить, масштабируется ли этот подход за пределы ретро-игр.
- Интеграция инструментов: Внедрение Codex в конвейеры CI/CD может автоматизировать не только генерацию кода, но также тестирование, сканирование безопасности и развертывание.
- Эволюция политики: По мере распространения кода, созданного ИИ, юридические и корпоративные политики должны будут решить вопросы владения, ответственности и соответствия нормативным требованиям.
Вывод очевиден: ИИ теперь может выступать в роли самостоятельного инженера-программиста для четко определенных и ограниченных по масштабу проектов, предоставляя функциональный низкоуровневый код без ручного написания человеком. Изменит ли эта возможность повсеместную разработку, зависит от того, насколько быстро экосистема сможет решить вопросы надежности, сопровождаемости и правовых аспектов.
