Подробное техническое описание создания потоковой LLM-игры с сохранением состояния с помощью React, TypeScript и одного очень нестандартного API чата. Большинство демо-версий «ИИ-игр» представляют собой окно чата с системной подсказкой. Это получает разговор, а не игра. Самая трудная часть о...
Подробное техническое описание создания потоковой LLM-игры с сохранением состояния с помощью React, TypeScript и одного очень нестандартного API чата.
Большинство демо-версий «ИИ-игр» представляют собой окно чата с системной подсказкой. Это получает
ты разговор, а не игра. Сложная часть работы мастера подземелий с искусственным интеллектом
это не повествование — модели отлично умеют повествовать. Самое сложное это
состояние: если LLM — это весь игровой движок, то нужно что-то запоминать
что ты взял ржавый ключ три оборота назад, что дверь теперь
открыта, и что укус варга лишил вас 60 ХП — и это что-то
быть надежным.
В этом посте рассказывается, как я создавал The Dungeon Master, текст
приключение, в котором модель ламы-3.1-8Б рассказывает, отслеживает HP/инвентарь/
локацию/флаги и ведет историю к победе или смерти – и эти три
инженерные проблемы, лежащие в основе этого:
Разговор с API, который лжет о типе контента (потоковая передача)
Получение структурированных данных из модели, которая пишет прозу (состояние)
Сделать пользовательский интерфейс похожим на игру, а не на журнал чата (дизайн)
Стек
Нарочито скучно, нарочито мало:
React 19 + TypeScript (строгое) — только перехваты. В этом приложении есть именно
один фрагмент сложного состояния (цикл поворота), и useReducer ощущался как
