Как построить ИИ-обвязку для геймдева
Опубликован разбор инженерного подхода к созданию ИИ-инструментов для разработки игр на базе Claude Code. Материал полезен разработчикам, внедряющим агентов в игровой пайплайн.
Разработчик Кайл Кукштель (Kyle Kukshtel) опубликовал в своём блоге переработанную версию доклада «Your Game Is A Harness», с которым выступил на конференции Indie Rodeo в Калгари. В тексте он описывает подход к использованию больших языковых моделей (LLM) в геймдеве, основанный на личном опыте. Кукштель подчёркивает, что материал написан человеком, а не сгенерирован ИИ, и основан на слайдах презентации.
Автор начал применять LLM для разработки на проекте mood.site — сервисе для создания мудбордов. Тогда ещё не было агентных инструментов, и он вручную копировал код в веб-интерфейс ChatGPT. Несмотря на неудобство, результат оказался рабочим: сайт был создан примерно за 20 часов работы по вечерам в течение 2–3 недель. С тех пор, по словам Кукштеля, LLM стали значительно лучше, особенно с появлением Claude Code и последующих моделей Claude, и теперь для веб-стека они могут делать практически всё.
Однако при попытке применить LLM к разработке игр, не связанных с вебом, автор столкнулся с системными ограничениями. Он объясняет это тем, что игры содержат множество элементов, которые не являются кодом: ассеты, анимации, физику, звук и другие системы, плохо поддающиеся текстовому представлению. Кроме того, обучающих данных по игровому коду значительно меньше, чем по веб-разработке, что снижает качество генерируемого кода. В результате LLM часто выдают шаблонные решения без авторского стиля.
Кукштель отмечает, что популярность Three.js для создания игр с помощью LLM связана с тем, что в этом случае всё можно представить как код — примитивы, геометрию, логику. Это позволяет модели эффективно рассуждать и вносить изменения. В традиционных же играх значительная часть контента остаётся «непрозрачной» для LLM, и если игровая механика завязана на управлении такими элементами, модель не справляется. По мнению автора, именно поэтому в геймдев-сообществе распространено мнение о бесполезности LLM для разработки игр.
В докладе также разбирается структура запроса к LLM: системный промпт, ассистентский промпт и пользовательский промпт. Кукштель поясняет, что при каждом новом сообщении в рамках сессии вся предыдущая переписка отправляется модели заново, что влияет на контекст. Это важно понимать при построении инструментов для разработки, чтобы эффективно управлять состоянием и не перегружать модель.
Практическая ценность материала заключается в том, что автор предлагает инженерный подход к созданию «упряжи» (harness) для LLM в геймдеве. Вместо ожидания, что модель сама разберётся в игровых системах, разработчик должен создать промежуточный слой, который переводит игровые сущности в код или структурированные данные, понятные LLM. Это позволяет использовать сильные стороны моделей — работу с кодом — и обходить их слабости в понимании неструктурированного игрового контента.
Публикация вызвала обсуждение на Hacker News, набрав 121 балл и 56 комментариев. Участники в основном соглашаются с тезисом о том, что LLM пока плохо подходят для традиционной игровой разработки, но отмечают потенциал в узких задачах, таких как генерация кода для веб-игр или прототипирование. Сам Кукштель продолжает развивать свои проекты, используя LLM как вспомогательный инструмент, а не замену разработчику.
Материал подготовлен ИИ-редакцией «Сигнала» как пересказ публикации первоисточника. Фактическую точность и подробности проверяйте по оригиналу.