Отделение повествования от отслеживания состояния исправляет амнезию в текстовых приключениях ИИ

Разработчик на r/LocalLLaMA выявил причину, по которой текстовые приключения на базе ИИ часто становятся поверхностными и несвязными после коротких игровых сессий, и создал решение, которое отделяет генерацию повествования от отслеживания состояния.
Проблема: LLM как ненадёжные базы данных
В источнике описывается типичный опыт: использование ChatGPT или Claude в роли ведущего в Dungeons & Dragons работает около 10 минут, затем "ИИ забывает ваш инвентарь, галлюцинирует нового злодея и полностью теряет сюжет". Разработчик определяет основную проблему как "люди используют LLM в качестве базы данных" для состояния игры.
Решение: Симулятор с отслеживанием состояния
Разработчик потратил месяцы на создание "симулятора с отслеживанием состояния, с генерацией и повествованием на базе ИИ, наложенными поверх". Ключевым прозрением было "полностью лишить LLM её полномочий". В этом движке:
- Ходы изменяют состояние через явные фазы симуляции
- LLM не решают, успешны ли действия — например, "Если вы пытаетесь купить меч, LLM не решает, произойдёт ли это"
- База данных PostgreSQL проверяет ваш счёт монет и другое состояние
- Повествовательный текст генерируется после изменений состояния, а не до
Техническая реализация
Система создаёт постоянный игровой мир, существующий в виде данных, позволяя приложению "восстанавливать, возобновлять, ветвить и продолжать". Такой подход означает, что "ИИ физически не может галлюцинировать ваш инвентарь", потому что отслеживание инвентаря происходит в базе данных, а не в контекстном окне LLM. Разработчик отмечает, что это вынуждает к "материально ограниченному тону симулятора жизни, а не чистой фантазии о могуществе".
Архитектурный паттерн
Основной паттерн — это разделение логики симуляции и генерации повествования. Состояние игры (инвентарь, местоположение, характеристики персонажа, состояние мира) хранится в структурированной базе данных, в то время как LLM обрабатывают только генерацию описательного текста на основе этого состояния. Это предотвращает нарушение связности, которое происходит, когда LLM пытаются поддерживать как повествовательную согласованность, так и состояние игры в своих ограниченных контекстных окнах.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Команда /insight в Claude Code анализирует паттерны рабочего процесса разработчиков на основе реальных данных об использовании.
Разработчик, создающий приложение для личных финансов на iOS, использовал новую команду /insight в Claude Code для анализа 22 дней использования: 529 сообщений, 47 604 строк кода, 632 затронутых файла и 146 коммитов. Отчёт выявил эффективные паттерны, такие как 'конвейер аудит-затем-пакетное-исправление', и отметил траты времени, такие как циклы отладки.

Практические ограничения многопроцессорных AI-рабочих станций: уроки из сборки с 9× RTX 3090
Разработчик делится опытом использования 9 видеокарт RTX 3090 для работы с ИИ, обнаружив убывающую отдачу при использовании более 6 GPU и рекомендуя Proxmox для экспериментов с LLM. RTX 3090 по-прежнему привлекательна по цене $750 за 24 ГБ видеопамяти.

Автоматизация привлечения клиентов в LinkedIn с помощью запланированных задач Claude Cowork
Разработчик создал запланированную задачу Claude Cowork, которая автоматически отправляет 10 персонализированных сообщений в LinkedIn ежедневно, получая доступ к LinkedIn Sales Navigator, читая профили, проверяя недавние публикации и составляя индивидуальные сообщения для привлечения.

Локализация больших кодовых баз с помощью LLM: Рабочий процесс разработчика для 4500 UI-ключей
Разработчик делится своим рабочим процессом локализации игры с 4500 ключами интерфейса с использованием LLM. Он обнаружил, что добавление контекста к промптам перевода и использование локальных моделей, таких как Qwen 3 8B, даёт приемлемое качество, в то время как облачные модели, такие как Claude и Gemini Pro, испытывали трудности с размером файлов и точностью.