Обработка заявки ДнД игрока с помощью ИИ
Данжен мастера — крутые ребята. Они помнят контекст и сюжет, быстро оценивают ситуацию и сразу понимают, что игрок может сделать и к каким последствиям это приведёт. ИИ так не может.
И всё же играть с ИИ можно (простейшая реализация), если забрать у него память и математику. Однако если в центре такой системы стоит одна-единственная LLM, она не справится: просто не сможет сопоставить действия игрока со всеми механиками, сделать все нужные проверки и т.д. Захлебнётся, даже если у неё контекстное окно на 1М токенов. И никакой чёрный пояс по промпт инженирингу не поможет.
Приведу пример. В локации по колено воды, плавают листы бумаги. В центре стоит каменная чаша — часть загадки: если в неё положить что-то ценное, двери откроются. А ещё плавающие листы, если их потревожить, превращаются в бумажный рой и атакуют. И вот игрок заявляет:
Я беру из воды лист и точным броском отправляю его в чашу!
Что должно случиться? Очевидно, три вещи:
Беря лист, игрок провоцирует скрытого врага.
Чтобы попасть в чашу, нужна проверка ловкости.
Лист вряд ли ценный, так что даже если игрок попадёт, загадка не решится и двери не откроются.
Казалось бы, всё просто, но одна даже "сильная" LLM с такой задачей будет справляться через раз. А вот LLM пайплайн справится значительно лучше. Идея в том, чтобы заявка игрока обрабатывалась несколькими LLM, где каждая ответственна за свою часть: одна проверяет триггеры врагов, другая — триггеры ловушек, третья валидирует заявку в целом.
Архитектурно вся эта система может выглядеть так:
Роутер решает, каких LLM-специалистов нужно запустить, те отрабатывают свои проверки, следующий элемент собирает всё в кучу и решает конфликты (если есть) — и после этого можно выдавать ответ игроку. Конечно, это более сложная схема, чем "запрос → LLM → ответ", но и результат куда лучше.
Если вы пробовали делать своих ботов для игры в НРИ, делитесь своими подходами в комментариях — было бы интересно обменяться опытом.



































