Codex засунули в DOOM

Доминик Кундел из OpenAI заставил Codex встроить самого себя в DOOM. Не в виде мода и не как внешнюю обертку, а прямо внутрь игрового движка. Терминал Codex рендерится как часть текстуры в игре, и с ним можно взаимодействовать, не выходя из геймплея. Хочешь попросить агента проверить здоровье персонажа или выдать оружие – пожалуйста. Хочешь, чтобы он параллельно ревьюил твой код – тоже можно.

Зачем вообще это делать? Кундел хотел продемонстрировать одну из самых недооцененных фич Codex – app server. Это JSON-RPC сервер, на котором работает приложение Codex, расширения для IDE, интеграции с Xcode и JetBrains, и даже сторонние open-source проекты. По сути, app server позволяет встроить Codex куда угодно. Буквально куда угодно – вот, даже в DOOM.

Как это устроено

Архитектура проекта собрана из нескольких частей. Основа – Electron-приложение, которое использует форк doom-wasm от Cloudflare в качестве игрового движка. Игровые данные взяты из Freedoom Phase 2, свободной реализации DOOM с тем же форматом WAD-файлов. Дальше происходит следующее: Electron управляет соединением с Codex app server и окном браузера, WAD-файл патчится для добавления кастомной текстуры терминала, а в модифицированном doom-wasm появился специальный файл codex_terminal.c, который рендерит терминал непосредственно в движке. Это не HTML-оверлей поверх игры, а полноценная часть рендеринга DOOM.

Через app server также подключены кастомные инструменты, которые позволяют Codex читать и менять состояние игры: получать данные о здоровье игрока, выдавать оружие и так далее.

Codex собрал все сам

Самое интересное – весь проект написан самим Codex. От начального плана до работающей реализации агент уложился в один поток, потратив примерно 6 часов 40 минут и более 205 миллионов токенов. Самый длинный шаг занял около часа. Всю компактификацию контекста Codex тоже выполнял самостоятельно.

Кундел говорит, что не проводил за компьютером ни минуты, пока шла сборка. Иногда заходил проверить прогресс и попросить новые фичи. В какой-то момент его напугали звуки выстрелов и стонов: оказалось, Codex тестировал игру с включенным звуком.

Рекурсия: Codex тестирует Codex в DOOM

Codex не просто писал код – он сам проверял результат. Когда понадобилось добавить текстуру с логотипом Codex на стену в игре, агент получил изображение, запустил задачу и работал 52 минуты: генерировал текстуры, патчил WAD-файл и проверял рендеринг в самой игре. Он даже осматривал стену с разных углов, чтобы убедиться, что текстура отображается корректно, и исправлял ошибки.

Никто его об этом не просил. В самом начале Кундел один раз сказал: “Можешь использовать Playwright для работы над всем этим, пока не заработает?” – и дальше агент просто решал сам, как верифицировать свою работу.

Что из этого следует

DOOM, конечно, не лучшая среда для продуктивной работы с ИИ-агентом. Но этот проект показывает, что Codex app server позволяет встроить полноценного агента в любой интерфейс. Документация app server открыта, исходный код на GitHub доступен, а можно просто попросить самого Codex собрать интеграцию.

Ссылки:
Оригинальный пост Доминика Кундела в X
Исходный код Codex на GitHub

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *