Мокрый Тортл Мокрый Тортл Wet Tortle Таверна для героев A tavern for heroes
ТавернаTavern ГеймплейGameplay Как игратьHow to play ПутьJourney ВопросыFAQ Блог Роадмап Играть в TelegramPlay on Telegram

Как я срезал цену хода ИИ-мастера DnD на 56%: кэш промпта и переезд на DeepSeek

· Владислав Новиков

Как я срезал цену хода ИИ-мастера DnD на 56%: кэш промпта и переезд на DeepSeek

Цену хода ИИ-мастера удалось срезать на 56% (замер 3 августа 2026) без потери качества: летопись кампании стала append-only ради стабильного кэша промпта, а нарратор переехал с тира Gemini на первопартийный DeepSeek - вдвое дешевле по тарифу и с живым кэшем.

В прошлый раз я разбирал, почему ход нашего ИИ-мастера оказался в 13 раз дороже, чем показывал счётчик: нарратор - тот, кто пишет тебе художественный текст сцены - съедал львиную долю цены хода. Тогда я только нашёл виновника. Эта статья - продолжение, про то, как я эту долю срезал. Спойлер: ход подешевел на 56%, и, по замерам на живом проде, игроки за столом ничего не потеряли.

Дальше - без магии, честно, как чинил. Ребят, это всё ещё активная стройка, ОБТ, так что где-то будет видно швы.

Насколько подешевел ход ИИ-мастера?

Цену одного хода удалось срезать на 56% - это замер от 3 августа 2026 года, на живом проде, где сейчас 500+ реальных игроков, а не на синтетике. Сделали это без даунгрейда качества: две связанные вещи - стабильный кэш промпта и переезд нарратора на другого провайдера. Ниже разберу обе по порядку, человеческими словами.

Чтобы было понятно, откуда вообще взялась дороговизна, придётся на минуту вернуться к первой части истории.

Почему ход стоил так дорого?

Каждый ход ИИ-мастера - это не одна нейросеть, а несколько. Есть “директор”, который решает, что происходит по правилам, и есть нарратор, который превращает сухой результат в живую сцену: “факел трещит, гоблин скалится, ты чувствуешь запах гари”. Так вот нарратор - самый прожорливый. Он читает много контекста (историю мира, состояние персонажей, правила) и пишет много текста. В первой части я показал, что именно он и раздувал цену хода в разы.

Вывод из той части был простой, я его тогда прибил одной строкой: дорого не то, что видно в счётчике, а то, сколько модель реально прожёвывает под капотом. Значит, резать надо контекст и то, как его считают.

Тут важно понять одну вещь про то, как считаются деньги за нейросеть. Ты платишь не за “ход” как таковой, а за каждое слово, которое модель прочитала на входе и написала на выходе. Нарратор на входе получает простыню: правила, лор, кто где стоит, что было в прошлых сценах. Эта простыня и есть основная статья расхода. И вот с ней можно сделать одну хитрую штуку - не платить за неё каждый раз по полной. Как раз про это дальше.

Что такое кэш промпта и зачем он экономит деньги?

Кэш промпта - это когда провайдер запоминает начало твоего запроса и не пересчитывает его заново на каждом ходу. Начало запроса нарратора (его инструкции, правила, лор мира) почти не меняется от хода к ходу. Если оно остаётся байт-в-байт одинаковым, провайдер узнаёт этот кусок и берёт за него сильно меньше. Меняется только “хвост” - что игрок сделал прямо сейчас.

Метафора простая. Представь, что каждый ход ты заново диктуешь мастеру всю предысторию кампании с самого начала. Скучно и долго. А кэш - это когда мастер говорит: “Предысторию я помню, давай сразу к тому, что ты делаешь”. Быстрее и дешевле.

Загвоздка в том, что кэш очень капризный. Стоит поменять хоть один символ в начале запроса - и провайдер считает, что это новый текст, кэш промахивается, ты платишь по полной. А у меня начало запроса ломалось само.

Как append-only летопись помогла кэшу?

Ломалось оно из-за летописи кампании - истории мира, которую ИИ-мастер держит в контексте. Раньше она переписывалась: события мира редактировались, ужимались, перетасовывались. Каждая такая правка сдвигала префикс промпта - и кэш промахивался. Мир как будто перезагружался за твоей спиной, а провайдер каждый раз считал всё заново.

Фикс - сделать летопись append-only. Это значит: новые события только дописываются в конец, а то, что уже записано, не трогается никогда. Начало запроса застывает и перестаёт дёргаться. Манифест этой фазы я сформулировал так: летопись только растёт, прошлое не переписывается.

Эффект по замерам: кэш нарратора вырос с 22,8% до 50,5%. Целились мы в 80%+ и формально цель не взяли - потолок оказался ниже, дожим я вынес в отдельную задачу на потом. Но экономическую цель перекрыла вторая половина истории - переезд нарратора на другого провайдера.

Почему я ушёл от Gemini на DeepSeek?

Сначала я честно пробовал остаться на тире Gemini Pro. Не взлетело: тариф оказался вдвое дороже, И кэш на нём был нулевой. То есть я платил больше и не получал ту самую экономию на неизменном начале запроса. Двойной проигрыш. “Галя, у нас отмена”.

Ушёл на первопартийный DeepSeek. “Первопартийный” - это когда берёшь модель напрямую у того, кто её сделал, а не через посредника-агрегатор. Меньше наценок, честнее тариф, живой кэш. По замеру от 3 августа нарратор целиком переехал на него: цена вызова упала на 54%, латентность - на 20%, откатов ноль.

Грабли на переезде были. DeepSeek не держит строгую схему ответа (strict json_schema) - а нам важно, чтобы модель отдавала структурированный ответ, а не свободный текст, иначе игра ломается. Пришлось перейти на мягкий режим (json_object) и проверять корректность ответа уже на своей стороне. Отдал контроль модели - сделай свою страховку. Работает.

Из чего в итоге собрана схема?

Финальная схема, задеплоенная 4 августа: рутинные ходы идут на дешёвой и быстрой модели через flex-пиннинг (вдвое дешевле, с живым кэшем на AI Studio), а первый - стартовый - ход кампании отдаётся более дорогой и качественной модели DeepSeek.

Логика тут простая, как разделение труда за столом. Первое впечатление важнее всего: когда ты только заходишь в кампанию, проза должна цеплять - на это денег не жалко. А рутинные ходы посреди сессии можно вести дешевле и быстрее, качество там не проседает. Дорогое - на вход, дешёвое - на поток.

По цифрам на этой схеме: flex-пиннинг дал те самые −56% к цене вызова при нуле отказов, p95-латентность (это время отклика для самых медленных запросов) упала с 20,5 до 5,2 секунды, а кэш на AI Studio ожил с 3,3% до 29,6%. Быстрее и дешевле одновременно - так бывает редко, поэтому и пишу.

Что было и что стало по цифрам?

Если свести всю фазу в одну табличку в голове, картина такая. Кэш нарратора: был около 22,8%, стал 50,5% после append-only летописи. Вызов нарратора при переезде на DeepSeek: −54% к цене и −20% к латентности, откатов ноль. Финальный flex-замер хода: −56% к цене, кэш ожил с 3,3% до 29,6%, время отклика самых медленных запросов упало вчетверо. Всё это - 3-4 августа 2026 года, на живом проде.

Отдельно отмечу, чего тут нет. Нет никакой магии и нет жертвы качеством ради экономии. Я не заменил хорошую модель на плохую и не выкинул половину контекста. Я поменял две вещи: как хранится история мира (чтобы кэш не промахивался) и у кого арендую нарратора (чтобы тариф был честнее). Всё. Иногда самая большая экономия - это перестать платить за одно и то же дважды.

Заметят ли это игроки за столом?

Тут честно: специально ощущение игроков после переезда я пока не мерил отдельным опросом - это остаётся открытым вопросом, и я его дожму. Что могу сказать по факту: замеры шли не в лаборатории, а на живом проде ОБТ, стартовый ход я осознанно оставил на более качественной модели, отказов и сломанных ответов - ноль. То есть с точки зрения “работает / не работает” переезд прошёл чисто.

Такие дела. Итог фазы: ход дешевле на 56%, нарратор на DeepSeek, летопись больше не перезагружает мир за твоей спиной. Спасибо всем, кто сейчас на ОБТ ломает бота и присылает баги - половина этих фиксов родилась из ваших логов. А я пойду дожимать кэш до тех самых 80%.

Играем дальше в “Таверне Мокрый Тортл”.

Частые вопросы

DeepSeek дешевле Gemini для генерации текста?

В этом проекте - да: тариф первопартийного DeepSeek оказался вдвое дешевле тира Gemini Pro, а ещё у DeepSeek живой кэш промпта, тогда как у того тира Gemini кэш был нулевой. Поэтому нарратор ИИ-мастера переехал на DeepSeek.

Влияет ли экономия на модели на качество игры за столом?

Стартовый ход кампании оставлен на более дорогой и качественной модели DeepSeek ради первого впечатления, а рутинные ходы идут на дешёвой быстрой модели. Замеры шли на живом проде ОБТ с 500+ игроками, сломанных ответов ноль.

Зачем ИИ-мастеру две разные модели вместо одной?

Это разделение труда: дорогая модель отвечает за стартовую прозу, где важнее всего первое впечатление, а дешёвая и быстрая ведёт рутинные ходы посреди сессии. Дорогое - на вход, дешёвое - на поток.

Как готовился материал: черновик собирает мой ИИ-конвейер по темам из практики таверны, факты сверяются с первоисточниками и правилами, финальную версию я читаю и правлю руками перед публикацией. Обложку тоже рисует нейросеть. Про кухню — на странице о проекте.