Когда ответ стоит не копейки, а рубли: экономика ассистента на сильных моделях
Вторая статья про экономику ИИ. На данных NeyroVerse AI Chat: сколько стоит ответ Claude Sonnet и Opus в рублях, почему длинный чат оказался дешевле среднего, как маршрут к модели поменял цену в шесть раз и какой слой управления контекстом делает сильные модели рабочим инструментом
В первой статье я считала экономику ассистентов для малого бизнеса на платформе «ИИ, расскажи». Там ответ бота на gpt-4o-mini стоил 16 копеек, тысяча диалогов обходилась в цену одного обеда, а механики экономии сберегали копейки. Я написала тогда, что они нужны для момента, когда задача требует модель классом выше.
Этот момент наступает у любого, кто строит рабочий инструмент, а не витрину. NeyroVerse AI Chat это мой второй продукт: рабочий чат для людей и команд на Claude Sonnet и Opus, с проектами, файлами, памятью между чатами и генерацией документов. Здесь ответ стоит не 16 копеек, а 9 рублей на Sonnet и 16 на Opus, в 60 раз дороже одного и того же вопроса. И те же механики, которые на mini экономили копейки, здесь экономят рубли на каждом ответе.
Как считала
По каждому ответу модели в базе записаны четыре счётчика из ответа API и модель. Для Anthropic это input_tokens, cache_read_input_tokens, cache_creation_input_tokens, output_tokens; полный вход это сумма первых трёх, и все три тарифицируются по-разному. Стоимость считается в момент ответа по таблице цен модели и пишется в ту же строку в долларах, чтобы не пересчитывать задним числом при смене прайса. Для запросов с веб-поиском и выполнением кода в стоимость добавляются вызовы инструментов, у Anthropic это отдельная строка в счёте.
Дальше стандартная аналитика поверх этой таблицы: средние по моделям, позиция ответа внутри чата через оконную функцию, группировка по маршруту (прямой ключ или агрегатор, определяется по префиксу модели), распределение чатов по длине с долей стоимости на каждую корзину. Сжатие истории пишет отдельную таблицу с числом покрытых сообщений и оценкой токенов, которые не пошли в модель.
Курс тот же, что в первой статье, средний за лето 2026 по ЦБ, 78 рублей за доллар. Все цифры на единицу: ответ и чат, без объёмов платформы.
Из чего складывается цена ответа на сильной модели
На mini было просто: 95% счёта это вход, выход почти бесплатен. На Claude вход распадается на три вида с разной ценой, и выход перестаёт быть мелочью.
Обычный вход: то, что модель читает впервые, базовая цена. Чтение из кеша: то, что модель уже видела в этом чате несколько минут назад, десятая часть базовой цены. Запись в кеш: то, что модель откладывает на будущее, на четверть дороже базовой. Выход: на Sonnet в пять раз дороже входа за токен, и ответы здесь длинные, код, макеты, документы на тысячи токенов.
Средний ответ Sonnet в данных: 34 тысячи токенов входа, из них 29% прочитано из кеша, и 1 260 токенов выхода. Около 12 центов, 9 рублей. Средний ответ Opus: 24 тысячи входа, 740 выхода, 20 центов, 16 рублей.
Против 12 тысяч токенов за ответ бота в первой статье вход вырос втрое: в контексте лежат файлы проекта, память о пользователе, накопленные факты чата, история. А цена за токен выросла в 20 раз. Перемножьте, и получите 60.
Слой управления контекстом
На таких ценах нельзя отправлять в модель всё, что накопилось. Продукт работает через собственный слой между интерфейсом и API модели. Он собирает контекст каждого запроса заново: решает, что модель увидит целиком, что в сжатом виде, что вспомнит из других чатов, какие фрагменты файлов относятся к вопросу, сколько ей разрешено написать в ответ и на какую модель запрос уйдёт. Это не библиотека и не настройка провайдера. Я писала этот слой под реальные ошибки и реальные счета четвёртый год, и ниже пять его функций с измеренным эффектом.
Управление памятью чата. Слой держит стоимость ответа на плато. История не растёт бесконечно: прошлое подаётся модели в сжатом виде, полный текст получает только свежее окно, границы сжатия выбираются так, чтобы не разрывать пару «вопрос-ответ», а перед сжатием из истории вычищаются бинарные вложения, иначе модель тратит десятки тысяч токенов на пересказ base64. Эффект обратный тому, что было на mini. Первый ответ в чате стоит 6 рублей. Ответы с одиннадцатого по двадцатый, когда история уже большая, а сжатие ещё не сработало, стоят 18 рублей. Ответы после пятидесятого стоят 7 рублей. Длинный чат дешевле среднего за ответ, и это сделано специально. Объём, который слой не отправил в модель за период, сопоставим со всем, что модель реально прочитала, и это оценка снизу: сжатое не уходило бы в модель на каждом следующем запросе, а не один раз.
Работа с кешем провайдера. Anthropic отдаёт уже прочитанное за десятую часть цены, если начало контекста от запроса к запросу совпадает байт в байт. Слой строит контекст так, чтобы начало оставалось стабильным, и согласует это со сжатием истории: если пересобирать сжатое представление на каждом сообщении, префикс меняется и кеш умирает. Измеренный эффект сейчас 18% экономии на входе Sonnet, и здесь главный урок для тех, кто включит кеш и посмотрит на процент. Процент не показатель. Показатель это отношение токенов, прочитанных из кеша, к токенам, записанным в него. У меня оно около единицы: каждый записанный фрагмент читается в среднем один раз, потому что кеш живёт минуты, а человек между сообщениями в рабочем чате думает дольше. На глубоких чатах доля кеша поднимается до 45%, на средних падает до 15%. Кеш работает на быстрых сериях сообщений и почти не работает на вдумчивой переписке. Экономию от него надо планировать по темпу своих диалогов, а не по цифре «до 90%» из документации.
Уровни контекста и длина ответа. Слой классифицирует запрос до вызова модели и подаёт разный объём контекста: на короткую реплику минимум, на общий вопрос среднее, на работу с файлами и данными всё. Одновременно выставляется верхняя граница длины ответа под тип запроса, чтобы модель не обрывала макет посреди вёрстки и не писала простыню в ответ на «спасибо». Первое экономит вход, второе экономит выход, который на сильных моделях стоит впятеро дороже.
Маршрутизация между моделями. Если пользователь выбрал Opus, слой всё равно отправляет простые запросы на Sonnet. Для пользователя это незаметно, а разница между 16 и 9 рублями на каждом «объясни» и «переведи» накапливается за месяц в ощутимую сумму. Правила маршрутизации это отдельный предмет, они настраивались на реальных запросах и в статью не попадут.
Память между чатами и работа с файлами. Факты о пользователе, его проектах и прошлых обсуждениях слой извлекает фоново и хранит отдельно, в модель они подаются компактным блоком, а не историей целиком. Файлы проекта индексируются локальной моделью эмбеддингов, без обращения к внешнему API, и в контекст уходят только фрагменты, семантически близкие к вопросу. Изображения в истории заменяются текстовыми описаниями, кроме нескольких последних, потому что картинка в контексте стоит как страница текста на каждом запросе. Фоновая работа памяти идёт на дешёвой модели и в стоимость ответа не входит, но в стоимость продукта входит. Это скрытая статья расходов, которую при планировании обычно забывают.
Маршрут дороже модели
Летом у меня был инцидент, который стоит отдельного раздела. Часть запросов к Claude уходила не по прямому ключу Anthropic, а через агрегатор моделей. Модель та же. Цена ответа оказалась другой: Opus через агрегатор 61 рубль за ответ против 16 напрямую, Sonnet 59 рублей против 9. В четыре и в шесть раз.
Причины две, и обе инженерные. Через агрегатор не проходят метки кеша, весь вход тарифицируется по базовой цене. И самого входа больше: агрегатор не поддерживает часть возможностей прямого API, слой управления контекстом работает через него грубее, и в модель уходит лишнее. Тот же вопрос, та же модель, счёт в шесть раз выше. После инцидента код переводит такие запросы на прямой маршрут автоматически, а сравнение стоимости ответа по маршрутам стало постоянной метрикой.
В первой статье посредники добавляли к цене от полутора до трёх раз. На сильных моделях с кешем посредник может добавить шесть. Если вы ходите к Claude или GPT через прокладку, первое, что стоит измерить, это цена одного и того же ответа по двум маршрутам на одинаковых запросах.
Модели в рублях за ответ
Таблица по моделям, которые были подключены к продукту за период, на реальных запросах пользователей. Это счёт, а не бенчмарк качества.
| модель | средний вход, тыс. токенов | средний выход, токенов | рублей за ответ |
|---|---|---|---|
| Claude Sonnet 4.6, прямой ключ | 34 | 1 260 | 9 |
| Claude Opus 4.6, прямой ключ | 24 | 740 | 16 |
| GPT-5 | 17 | 1 520 | 3 |
| YandexGPT Pro | 10 | 420 | 11 |
| YandexGPT Lite | 9 | 320 | 2 |
| DeepSeek V3 через агрегатор | 21 | 1 250 | 0,5 |
| Claude Opus 4.6 через агрегатор | 44 | 1 040 | 61 |
| Claude Sonnet 4.6 через агрегатор | 227 | 3 090 | 59 |
Три наблюдения. GPT-5 на моих задачах обошёлся втрое дешевле Sonnet при вдвое меньшем входе и большем выходе: аргумент для маршрутизации по типу задачи, а не по бренду. YandexGPT Pro стоил столько же, сколько Sonnet, при вдвое меньшем входе и втрое меньшем выходе: российская модель в этом продукте не экономия, а требование к данным, и закладывать её надо как требование. Две нижние строки: агрегатор превращает лучшую модель в самую дорогую.
Кто тратит бюджет
Тот же хвост, что в первой статье, только дороже. Чаты длиннее пятидесяти сообщений это 4% всех чатов и треть всех денег. Чаты от двадцати сообщений это 12% чатов и 70% денег. Короткие разговоры до пяти сообщений, а их две трети, стоят десятую часть бюджета.
В рублях: типичный чат на 6–10 сообщений около 58 рублей, чат на 21–50 сообщений около 440, чат длиннее пятидесяти около 730. Один рабочий день пользователя, который ведёт длинный проект в одном чате, стоит как месячная подписка на большинство сервисов. Именно поэтому слой управления памятью делает длинные чаты дешевле за ответ: без него хвост ломал бы экономику продукта.
Что измерять, если вы строите на сильных моделях
Стоимость ответа по позиции в чате. Оконная функция по номеру сообщения, группировка по корзинам. Если кривая растёт линейно, у вас нет управления памятью, и хвост клиентов разорит вас раньше, чем вы увидите проблему.
Отношение прочитанного из кеша к записанному. Единица означает, что кеш почти не работает. Смотрите на темп диалогов, а не на процент кеша.
Цена одного и того же ответа по двум маршрутам, прямому и через посредника, на одинаковых запросах. Разница может быть шестикратной.
Стоимость ответа по моделям на своих задачах, а не по прайсу. Прайс говорит про токен, счёт зависит от того, сколько токенов модель запросит и сколько выдаст.
Доля выхода в счёте. На сильных моделях она уже не 5%, и верхняя граница длины ответа стала рычагом.
Фоновые расходы: память, индексация, сжатие, описание изображений. Они не в счёте пользователя, но в вашем.
Ваши 4% самых длинных чатов. Бюджет считается по ним, и продуктовое решение тоже: что вы делаете с пользователем, который стоит 730 рублей в день.
Первые три пункта это по одному запросу к базе, если у вас записаны четыре счётчика из ответа API. Если не записаны, начните с этого: без них экономику сильной модели не увидеть, а счёт придёт всё равно.
У вас похожая ситуация?
Расскажите, где в вашем отделе продаж теряются деньги. Разберём, что покажет аналитика именно вашей CRM
Обсудить задачу