Разработчик снизил медианную цену хода LLM-игры до 0,34 рубля
Один запрос к LLM должен одновременно продолжить сюжет, рассчитать бой и обновить память персонажей. Автор AniWorlds добился согласованности не дополнительными агентами, а порядком полей в JSON: сначала модель фиксирует решение, затем пишет зависящий от него текст. Сервер берёт на себя кубики, ресурсы и откаты, а повторяемые части контекста уходят в кеш. На 71 ходе медианная цена составила 0,34 рубля.
AI-обработка оригинала Habr AI; редакция Hamidun News
В текстовой RPG один ответ модели должен сделать сразу несколько вещей: продолжить сцену, разрешить действия игрока, обновить раны и отношения, сохранить память персонажей и подготовить следующий ход. Если хотя бы два поля расходятся, история начинает разваливаться. Удар попал в описании, но не попал в расчёте. Персонаж узнал тайну, хотя не присутствовал при разговоре. Спутник сначала ушёл, а в следующем поле остался рядом.
Автор Telegram-игры AniWorlds столкнулся именно с этой инженерной проблемой. Вместо цепочки агентов он использует один запрос и получает JSON из 38 полей. Главный практический вывод неожиданно простой: порядок полей в структурированном ответе влияет на согласованность результата.
Сначала решение, потом рассказ
Модель генерирует JSON последовательно. Следующее поле может учитывать уже написанное, но не способно вернуться назад и переписать предыдущее. Поэтому скрытое решение — например, попал ли удар — должно стоять раньше художественного описания боя.
Когда порядок был обратным, рассказчик мог сначала красочно описать попадание, а затем записать в поле результата промах. Уговоры в системном промпте не устраняли противоречие надёжно. Перестановка полей устранила сам источник ошибки: модель сначала фиксирует исход, затем описывает его последствия.
Второй принцип — одно решение должно жить в одном месте. Если поведение спутника одновременно определяют правило перехода между локациями и отдельное правило спутников, ответы начинают расходиться. В AniWorlds решение вынесли в единственное поле, а остальные части схемы только используют его результат.
Что нельзя доверять рассказчику
Случайность и точную арифметику автор оставил серверу. Для каждого участника боя код бросает два кубика d6, учитывает характеристику и передаёт модели готовые числа. Модель не решает, кому повезло: она рассчитывает итог по заданным данным и превращает его в сцену.
Так же устроены стоимость способностей, запас сил и откаты. Сервер заранее сообщает, сколько ресурса осталось и какие действия недоступны. Это снижает риск того, что рассказчик забудет прошлый расход или самовольно изменит правила ради красивого эпизода.
Есть и отдельная граница знаний. После исхода модель записывает, что именно видели и слышали персонажи. Их память обновляется только из этого поля, а не из полного сообщения игрока. Решение пока не идеально: в части тестов персонажи всё ещё получают лишнюю информацию. Автор честно отмечает, что улучшение ещё не доказано.
Цена контекста и цена ошибки
Полный вход занимает 45–53 тысячи токенов. Правила и описание мира почти не меняются, поэтому стоят в начале запроса и попадают в кеш провайдера. По 71 ходу медианная цена одного запроса составила 0,34 рубля, средняя — 0,57 рубля. Без попадания в кеш ход обходился примерно в 1,25 рубля.
Причина дорогих промахов оказалась прозаичной: идентификаторы групп создавались заново на каждом ходе. Даже один изменившийся символ нарушал совпадение префикса. После закрепления постоянных идентификаторов кеш стал стабильнее. Это полезный урок для любого LLM-продукта: кеш зависит не от смысловой похожести, а от неизменности входных данных.
Правки автор проверяет сериями по 10 одинаковых запросов и фиксирует долю ошибок. Критерий приёмки — 10 ответов из 10 без выбранного дефекта. Это не доказывает абсолютную надёжность, зато не позволяет объявить проблему решённой после одного удачного примера. Перед выпуском правила дополнительно читают две чистые сессии модели, а затем изменение проходит 20 живых ходов.
Практический вывод шире игр. Для систем со структурированным выводом сначала размещайте факты и решения, затем зависимый текст. Детерминированные расчёты держите в коде. Каждому решению назначайте один источник истины. Стабильную часть контекста делайте побайтно неизменной. И измеряйте качество сериями прогонов: уверенное «готово» от ассистента ещё не означает, что ошибка исчезла.
- 8 нояб. 2026 г.Гибридный ИИ-агент снизил цену диалога до 3,8 рубля
- 11 июл. 2026 г.Самоэволюционирующие LLM-агенты: компиляция SOP в инструменты снижает задержку на 42%
- 25 июл. 2026 г.SFT-дообучение сужает поведение ИИ: исследование arXiv о коллапсе разнообразия
- 10 окт. 2026 г.Длинные нарды глазами ИИ: 170 тыс. ходов и ошибки людей
Вопросы и ответы по материалу
Что известно по теме: сначала решение, потом рассказ?
Модель генерирует JSON последовательно. Следующее поле может учитывать уже написанное, но не способно вернуться назад и переписать предыдущее. Поэтому скрытое решение — например, попал ли удар — должно стоять раньше художественного описания боя. Когда порядок был обратным, рассказчик мог сначала красочно описать попадание, а затем записать в поле результата промах. Уговоры в системном промпте не устраняли противоречие надёжно.
Что известно по теме: что нельзя доверять рассказчику?
Случайность и точную арифметику автор оставил серверу. Для каждого участника боя код бросает два кубика d6, учитывает характеристику и передаёт модели готовые числа. Модель не решает, кому повезло: она рассчитывает итог по заданным данным и превращает его в сцену. Так же устроены стоимость способностей, запас сил и откаты. Сервер заранее сообщает, сколько ресурса осталось и какие действия недоступны. Это снижает риск того, что рассказчик забудет прошлый расход или самовольно изменит правила ради красивого эпизода.
Что известно по теме: цена контекста и цена ошибки?
Полный вход занимает 45–53 тысячи токенов. Правила и описание мира почти не меняются, поэтому стоят в начале запроса и попадают в кеш провайдера. По 71 ходу медианная цена одного запроса составила 0,34 рубля, средняя — 0,57 рубля. Без попадания в кеш ход обходился примерно в 1,25 рубля. Причина дорогих промахов оказалась прозаичной: идентификаторы групп создавались заново на каждом ходе. Даже один изменившийся символ нарушал совпадение префикса. После закрепления постоянных идентификаторов кеш стал стабильнее.
Протестируйте новые LLM и мультимодальные модели в одном окне
Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.