0

ДнД-бот: обработка запроса игрока

Игрок в ДнД: "Я хватаю меч и атакую!" Что дальше? Расскажу ниже.

Сразу оговорюсь, что вариант "отдай всё gpt-5.5" не рассматриваю — это уровень PoC (доказательство концепции). Если вы взялись за ДнД-бота всерьёз, вам наверняка понадобится пайплайн из нескольких вызовов LLM, которые будут выполнять разные функции. От этого и будем отталкиваться.

Итак, первое — нужно классифицировать запрос. Вы вряд ли захотите прогонять через движок вопрос типа "а сколько времени в Москве?", так что этот шаг обязателен. С этим хорошо спраляются маленькие модели.

Затем желательно нормализовать сообщение. Игрок говорит: "атакую его!" А кого он атакует? И чем? Благо, LLM прекрасно понимают контекст по предыдущим сообщениям. Проблема в том, что пайплайн LLM — это долго и дорого, и если каждая LLM будет вычислять контекст, это будет ещё дольше и ещё дороже. Лучше сразу вместо размытого "атакую его" получить конкретное "игрок атакует гоблина мечом".

Следом можно разбить сообщение на отдельные действия. Зачем? Это позволяет боту быть гибким: часть запроса можно пропустить, часть заблокировать. Например, игрок хочет спрятаться за укрытием и выстрелить из лука. А в локации нет укрытия. Честный бот скажет: укрытия не существует. Гибкий бот добавит: зато ты стреляешь с таким-то результатом.

Ну и если совсем заморочиться, то понадобится граф зависимостей действий, чтобы реалзиовать каскадную блокировку. Игрок хватает нож и бросает в гоблина? Но если нож не существует, то игрок не может схватить нож, а значит, и бросить в гоблина не может. Зависимости позволяют эту логику реализовать. (Да, gpt-5.5 сам за раз это всё и обработал бы, и зависимости бы решил. Но бота на этом не построишь.)

Тут стоит добавить, что в подобном пайплайне теряется общий контекст. Отдельные элементы обрабатывают отдельные действия, так что кому-то придётся потом склеивать разрозненные результаты воедино. Это может быть LLM, может быть что-то ещё.

Ну... вроде бы всё. Что даёт такая схема? Она даёт масштабирование, точность и крутые ответы. Так, управиться с длинным и сложным сообщением становится легче, если понятны зависимости и понятно, кто какую часть сообщения (отдельные действия) должен обработать. А точность увеличивается, протому что небольшие специализированные LLM с небольшим же контекстом не попадают в ловушку "lost in the middle" (в отличие от gpt-5.5, если она одна отвечает сразу за всё).

Наконец, ответы. Тут проявляется вся магия подхода. Каждое действие честно судится, кодом бросаются кубики, а на выходе получается честная логичная цепочка. Остаётся лишь придать ей красивую форму.

Например, игрок говорит:

Я прыгаю, отрубаю дракону голову и приземляюсь прямо в постель принцессы!

Описанный выше подход позволяет получить такое вот логичное дерево результатов без галлюцинаций:

И это круто, потому что игрок вроде как получает свободу и может творить дичь, но эта дичь будет честная — с правилами, кубами и последствиями.


P.S. Я описал свой личный взгляд на обработку сообщений в системе, где на первом месте стоит анализ, а нарратив в конце. Возможны и другие подходы, где мой опыт может быть не применим. Сам я сейчас работаю как раз над зависимостями действий для своего бота, о чём подробнее пишу в тг канале.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества