Открытая движковая система для сольных RPG использует три экземпляра Claude для парсинга, нарратива и управления.

Архитектура и конвейер
EdgeTales — это движок для одиночных RPG на Python, где игроки вводят действия персонажа, механика бросков кубиков разрешает исходы за кулисами, а ИИ Claude пишет атмосферную прозу на основе результатов. Ключевой принцип дизайна — «ИИ рассказывает, но не решает» — кубики определяют успех или провал, а Claude лишь превращает исходы в историю.
Система использует тройной ИИ-конвейер с тремя экземплярами Claude на ход игрока:
- Мозг (Claude Haiku): Разбирает свободный текстовый ввод в структурированный JSON с полями, такими как RPG-действие, характеристика, цель NPC, уровень позиции/эффекта. Занимает ~300 мс и стоит ~$0.0002.
- Рассказчик (Claude Sonnet): Получает структурированные промпты с результатами бросков, контекстом NPC и сюжетной аркой, затем пишет атмосферную прозу. Также встраивает скрытые метаданные (
<new_npcs>,<memory_updates>), которые парсер извлекает для обновления игрового состояния. Занимает ~2 с и стоит ~$0.003. - Режиссёр (Claude Haiku): Запускается асинхронно после того, как игрок увидел повествование. Анализирует сцены, как продюсер сериала, на предмет подсказок поведения NPC, отслеживания сюжетных линий и сводок сцен. Срабатывает только при определённых событиях (провальные броски, новые NPC, каждые 3-я сцена) с нулевой задержкой для игрока.
Общая стоимость за ход составляет ~$0.003–0.004, что делает сессию из 20 сцен стоимостью ~6–8 центов. Вывод Режиссёра попадает в теги <director_guidance> в следующем промпте Рассказчика, с плавной деградацией, если Режиссёр не сработает.
Детали технической реализации
Уроки инженерии промптов:
- Структурированная инъекция контекста в XML (
<world>,<character>,<npc>,<story_arc>,<director_guidance>) сделала вывод Sonnet более стабильным, чем прозаические инструкции. - Haiku эффективен для структурированного разбора — Мозг возвращает валидный JSON с 8+ полями из свободного многоязычного ввода.
- Восстановление JSON обязательно. Обе модели иногда выдают некорректный JSON (пропущенные запятые в немецком тексте, неэкранированные переносы строк, лишние запятые). Функция
_repair_json()с подходом «попробуй сначала» обрабатывает это с нулевыми накладными расходами для валидного JSON. - Дедупликация NPC использует три страховочные сети: явные теги
<npc_rename>, нечёткое сравнение подстрок перед созданием и поиск с учётом псевдонимов.
Система памяти NPC: У каждого NPC есть память с взвешенной по важности оценкой, рассчитываемой как Оценка = 0.40 × Актуальность + 0.35 × Важность + 0.25 × Релевантность. Режиссёр генерирует «размышления» (как NPC чувствует себя) вместе с фактическими наблюдениями. Память ограничена 25 записями на NPC с интеллектуальной консолидацией.
Технологический стек: Python 3.11+, NiceGUI, Anthropic SDK, EdgeTTS/Chatterbox (TTS), Faster-Whisper (STT). Кодовая база составляет ~6 800 строк в 5 файлах. Возможности включают повествование на 20+ языках, голосовой ввод/вывод, экспорт в PDF, детский режим и совместимость с Raspberry Pi.
📖 Прочитать полный источник: r/ClaudeAI
👀 Смотрите также
GLiGuard: открытая модель контроля безопасности с 300 миллионами параметров обещает ускорение в 16 раз по сравнению с LLM-фильтрами
Fastino Labs выпускает GLiGuard — энкодер-модель с 300 млн параметров, которая выполняет несколько задач безопасности за один проход, сравниваясь или превосходя модели в 23–90 раз больше, работая при этом до 16 раз быстрее.

Фабрика агентов: Плагин Claude Code для создания постоянных команд AI-субагентов
Agent-factory — это плагин Claude Code, который создает постоянные команды под-агентов с различными личностями и файловой памятью. Он формирует 2-5 агентов на проект через диалоговое интервью, где каждый агент выполняет определенные роли, такие как ревью кода, отслеживание технического долга или стратегия.

soul.py добавляет постоянную память локальным LLM с помощью простого файлового подхода.
soul.py — это библиотека Python, которая добавляет постоянную память любому LLM, используя два файла в формате markdown для идентификации и ведения журнала разговоров, работая с моделями Ollama, OpenAI и Anthropic без необходимости в базах данных или серверах.

Солоноватый: Пусть два экземпляра Claude Code согласуют контракт API через OpenAPI 3.1
Brackish — это CLI-инструмент, который запускается между двумя сессиями Claude Code — одна на бэкенде (FastAPI), другая на фронтенде (React/TypeScript) — для согласования API-контракта через общий документ OpenAPI 3.1. Он выявляет разногласия до того, как будет написан код.