Итан Моллик провёл эксперимент с искусственным интеллектом: он попросил Fable создать «игру в змейку с самосознанием». Изначально змея вела себя как в классической Snake — двигалась, ела, росла и разбивалась о стену. Но постепенно она начала осознавать, что живёт в игре, понимает искусственные правила и то, что ею управляет игрок. Игровой процесс начал трансформироваться: от классической Snake игра перешла к RTS, управлению фермой и повествовательному исследованию.
Моллик не давал детальных указаний, как в традиционной разработке игр. Часто он просто говорил: «Сделай это лучше». Для ИИ-агента это сложная задача: нужно превратить неопределённую обратную связь в конкретные инженерные действия. Демонстрация Fable показывает, насколько хорошо ИИ может модифицировать уже существующую систему, а не создавать новую с нуля в каждом раунде.
В прошлом задачи по программированию ИИ часто сводились к одноразовой генерации кода: пользователь отправлял запрос, а модель возвращала код. В случае с Fable процесс больше напоминает цикл: модель анализирует текущий проект, предлагает план модификации, изменяет код, запускает, проверяет результаты и переходит к следующему раунду. При этом ИИ должен учитывать множество факторов — структуру кода, границы модулей, управление состоянием, взаимосвязь игрового процесса, изменений состояния, развития повествования и обратной связи с экраном. Если модель не понимает этих взаимосвязей, она может нарушить первоначальную логику работы.
Ключевая сложность фразы «Сделай это лучше» в том, что она не является чёткой инструкцией. Это открытая оценка, которая может касаться плавности игрового процесса, естественности повествования или стабильности системы. Прежде чем внести изменения в код, ИИ должен разложить задачу на составляющие: какие проблемы решить в этом раунде, насколько сильно можно менять систему, какую старую логику нельзя разрушать и как убедиться, что не появились новые проблемы.
Кроме того, по мере развития проекта растёт объём исторической информации, которую должна обработать модель: структура кода, прошлые изменения, текущие цели, старые проблемы и временные решения. Модель должна уметь сжимать эту информацию в набор рабочих правил и использовать их в дальнейших модификациях. Важно не просто сохранить детали, а соблюсти ряд ограничений стабильности — например, чтобы игра сохраняла узнаваемость Snake, «самосознание» влияло на правила и взаимодействия, новый игровой процесс не разрушал базовый цикл, а код оставался работоспособным после нескольких раундов модификации.
Эксперимент показывает, что фокус программирования ИИ нужно смещать с создания первой версии кода на поддержку последующих модификаций. В реальной разработке именно модификация вызывает больше всего сложностей: как изменить требования, не сломав дополнительные функции, как избежать новых ошибок при исправлении багов, как сохранить чёткую структуру после множества итераций.