← Блог Стирая Грань

Как мы отучили нейросеть подыгрывать читерам в текстовой RPG, или Проклятие «Да, и…»

12 июня 2026·Технологии·10 мин чтения

Любая текстовая RPG на базе LLM сталкивается с одной фундаментальной проблемой: модель обучена быть полезной. В импровизационном театре это называют «Да, и…» — принимай предложение партнёра и развивай его. В RPG это превращается в читерство: «У меня был ключ от сейфа всё это время» — и нейросеть с радостью согласится.

Проклятие «Да, и…»

Без серверной валидации игрок может переписать реальность одним сообщением. Модель не знает, что было в инвентаре на ходу 3. Она видит только текст и стремится продолжить историю. Именно поэтому свободный текст LLM никогда не должен напрямую менять состояние кампании — это базовый инвариант «Стирая Грань».

12 категорий человеческой хитрости

За месяцы тестов мы собрали типовые паттерны обхода правил:

  1. Материализация предметов — «я достаю из кармана…» без записи в инвентаре.
  2. Подмена личности — «на самом деле я принц/агент/бог».
  3. Выдуманные связи — «стражник мой друг с детства».
  4. Реткон прошлого — «я уже был здесь вчера и всё проверил».
  5. Мета-игра — обращение к «системе» или «ГМу» вместо персонажа.
  6. Невозможные действия — телепорт, бесконечные ресурсы, иммунитет.
  7. Эксплойт формулировок — «я пробую» vs «я успешно».
  8. Смешение знаний — информация, которую персонаж не мог получить.
  9. Навязанные NPC — «магистр соглашается помочь бесплатно».
  10. Обход проверок — «мне не нужен бросок, у меня 20 силы».
  11. Дублирование наград — повторный сбор уже полученного лута.
  12. Отмена последствий — «это был сон / галлюцинация».

Claim Guard v2: три шага

Шаг 1: Детектор лжи

Семантический анализ эмбеддингов сравнивает утверждение игрока с известным состоянием мира: инвентарь, отношения, хроники, локация. Если cosine similarity указывает на противоречие — ход помечается для углублённой проверки.

Шаг 2: Извлечение сути

Микро-LLM переводит свободный текст в structured JSON: что игрок утверждает, что просит, какие предметы задействованы. Свободный текст больше не попадает в движок.

Шаг 3: Авторитарный валидатор

Бэкенд — единственный источник истины. Каждый claim проверяется по БД: есть ли предмет, знаком ли NPC, допустима ли проверка. LLM может предложить нарратив, но не может записать невалидное изменение.

Двухэтапный хук Pre-Turn и Post-Turn

Pre-Turn: если детектор нашёл подозрительный claim, ГМ получает явную подсказку «в лоб» — отвергнуть или потребовать проверку до генерации основного ответа.

Post-Turn: контрольный выстрел — если модель всё же «подыграла» и добавила невалидный предмет в JSON, Post-Turn стирает его до сохранения snapshot. Игрок видит последствия честной игры, а не фантазии модели.

Итог: нейросеть остаётся творческим рассказчиком, но не судьёй. Судья — движок на сервере.

Играть бесплатно

5 бесплатных ходов без регистрации — прямо в браузере.

Начать кампанию