OpenAI Codex створив повноцінну 16-бітну гру для DOS на мові 16-bit x86 Assembly у стилі Asteroids, надавши 18 файлів вихідного коду та приблизно 2500 рядків коду без жодного рядка асемблерного коду, написаного людиною. Експеримент показує, що ШІ може керувати повним життєвим циклом програмного забезпечення — від планування до налагодження — без прямої участі програміста, що є кроком далі звичайних демо-версій «доповнення коду».
Чому цей тест мав значення
Більшість публічних демонстрацій програмування за допомогою ШІ обмежуються крихітними фрагментами або простими утилітами. Щоб перевірити верхню межу можливостей, експеримент змусив Codex працювати в найбільш обмеженому середовищі, яке тільки можна уявити: 16-бітний x86 Assembly на DOS, без ігрових рушіїв, графічних бібліотек чи зручностей мов високого рівня. Мета полягала в тому, щоб побачити, чи зможе ШІ не лише генерувати код, а й керувати супутніми інженерними завданнями.
Як були розподілені ролі
Обов'язки людини обмежувалися трьома діями:
- Визначення загальної мети проєкту (шутер у стилі Asteroids).
- Відповіді на будь-які запитання, пов'язані з ігровим процесом.
- Тестування кожної збірки та повідомлення про виявлені помилки.
Обов'язки Codex охоплювали все інше:
- Розробка плану проєкту та архітектури.
- Написання файлів вихідного коду на Assembly.
- Налагодження, рефакторинг та реструктуризація коду.
- Ведення Git-репозиторію, включаючи комміти та управління гілками.
- Створення бінарного файлу та його запуск в емуляторі DOS.
Людина ні разу не ввела жодної інструкції Assembly, ні разу не викликала компілятор і ні разу не запускала гру під час розробки. Взаємодія обмежувалася описом симптомів помилок; ШІ самостійно знаходив і усував їхню першопричину.
Ітеративний робочий процес
Кожен цикл починався з того, що Codex пропонував етап (наприклад, «реалізувати рух корабля гравця»). Потім він створював відповідні файли вихідного коду, фіксував їх (commit), збирав виконуваний файл і передавав робочу збірку тестувальнику. Codex аналізував симптом, відстежував його в кодовій базі та випускав патч без подальших вказівок людини.
Що містить кінцевий продукт
- 18 файлів вихідного коду Assembly, організованих у традиційну структуру репозиторію.
- ≈2500 рядків Assembly, що охоплюють обробку введення, малювання спрайтів, виявлення зіткнень та систему рекордів.
- Грабельний DOS-файл, який працює у стандартному середовищі DOS і імітує класичний ігровий процес Asteroids.
- Нуль рядків Assembly, написаних людиною, що підтверджує: ШІ взяв на себе всі завдання низькорівневого програмування.
Ставки та наслідки
Якщо ШІ може автономно вести проєкт від концепції до робочого бінарного файлу, традиційна роль програміста як головного організатора кодової бази змінюється. Компанії могли б скоротити час, витрачений на шаблонне налаштування, документацію та рутинне налагодження, звільнивши інженерів для зосередження на дизайні та стратегії продукту.
Експеримент також підсвічує обмеження. Тестове середовище було навмисно вузьким: однокористувацька DOS-гра з добре зрозумілою механікою. Масштабування цього підходу на великі багатомодульні системи із зовнішніми залежностями, обмеженнями безпеки або критичними до продуктивності шляхами коду залишається недоведеним. Більше того, людина-тестувальник все ще виступала останнім контролером якості; невиявлена логічна помилка могла б проскочити без цього нагляду.
Контраргументи та відкриті питання
- Надійність: Програмування на Assembly не прощає помилок; одна помилка «на одиницю» (off-by-one error) може призвести до збою всієї програми. Codex виправляв помилки, які бачив, але він може пропустити тонкі проблеми з таймінгом, які з'являються лише під час стрес-тестування.
- Підтримка: Код, згенерований без дотримання людських стилістичних правил, може бути важчим для читання або розширення майбутніми розробниками, особливо якщо правила іменування ШІ відрізняються від стандартів команди.
- Інтелектуальна власність: Кому належить код, коли його пише ШІ? Поточні ліцензійні структури передбачають авторство людини, залишаючи «сіру зону» для артефактів, створених ШІ.
За чим спостерігати далі
- Ширші бенчмарки: Застосування того самого автономного робочого процесу до мережевих додатків, мобільних застосунків або сучасних проєктів на C/C++ перевірить, чи масштабується цей підхід за межі ретро-ігор.
- Інтеграція інструментів: Впровадження Codex у конвеєри CI/CD може автоматизувати не лише генерацію коду, а й тестування, сканування безпеки та розгортання.
- Еволюція політик: Оскільки обсяг коду, створеного ШІ, зростає, юридичні та корпоративні політики повинні будуть вирішити питання власності, відповідальності та відповідності вимогам.
Висновок очевидний: ШІ тепер може виступати в ролі самостійного інженера-програміста для чітко визначених, обмежених проєктів, створюючи функціональний низькорівневий код без ручного написання людиною. Чи змінить ця можливість традиційну розробку, залежатиме від того, наскільки швидко екосистема зможе вирішити питання надійності, підтримуваності та юридичних аспектів.
