Ценообразование токенов LLM: как рассчитать и снизить расходы на API
Если вы строите продукт поверх API языковых моделей, тарификация токенов — та самая строка в бюджете, которая незаметно съедает деньги. Понимание реальной механики — не только заголовочных цен, а именно разницы между входными и выходными токенами, кэширования и пакетных скидок — даёт реальный рычаг для управления ежемесячными расходами. Разберём всё по порядку.
Что такое токен?
Токен — минимальная единица текста, которую обрабатывает модель. Это не совсем символ и не совсем слово, а фрагмент, определяемый токенизатором модели.
Для английского языка 1 токен ≈ 4 символа или примерно 0,75 слова. Фраза «ChatGPT is great» — это около 4 токенов.
Для языков CJK (китайский, японский, корейский) каждый иероглиф обычно занимает 1–2 токена из-за особенностей кодировки Unicode. Одна и та же мысль на китайском может потреблять на 30–80% больше токенов, чем на английском:
- «Hello, how are you?» ≈ 6 токенов
- «你好,你最近怎么样?» ≈ 9–11 токенов
Для русского языка ситуация похожа: кириллица кодируется менее компактно, чем латиница, и тот же текст на русском обычно расходует на 20–50% больше токенов, чем его английский эквивалент. Если ваша аудитория — не англоязычная, закладывайте это в расчёты с самого начала.
Входные и выходные токены
Тарификация API делится на две категории с разными ценами:
Входные токены — всё, что вы отправляете модели: системный промпт, история диалога, сообщение пользователя, подставленный контекст.
Выходные токены — то, что модель генерирует. Генерация текста вычислительно дороже, поэтому выходные токены обычно стоят в 3–5 раз больше входных.
Примерная картина цен за миллион токенов:
| Уровень модели | Входные | Выходные | |---|---|---| | Лёгкий (напр., Claude Haiku) | $0,25 – $0,80 | $1,00 – $4,00 | | Средний (напр., Claude Sonnet) | $3,00 | $15,00 | | Флагман (напр., Claude Opus) | $15,00 | $75,00 |
Разброс между уровнями — до 60×. Выбор правильного уровня под каждую задачу — самый мощный рычаг экономии.
Оценка расхода токенов
Прежде чем удивляться счёту, постройте грубую модель потребления на один запрос:
Всего токенов = системный промпт + история диалога + сообщение пользователя + ответ модели
Пример — бот поддержки клиентов:
- Системный промпт (роль, правила ответа): ~500 токенов
- Недавняя история (5 реплик): ~1 000 токенов
- Текущее сообщение пользователя: ~100 токенов
- Ответ модели: ~300 токенов
Итого ~1 900 токенов на запрос — 1 600 входных, 300 выходных.
На тарифе Claude Sonnet:
Входные: 1 600 / 1 000 000 × $3,00 = $0,0048
Выходные: 300 / 1 000 000 × $15,00 = $0,0045
Итого за запрос ≈ $0,0093
Выглядит дёшево. Но при 10 000 диалогов в день — это ~$2 790/мес. Цифры набегают быстро.
Кэширование промптов: скидка, которую большинство команд упускает
Кэширование промптов — одна из самых эффективных функций для экономии. Идея простая: когда последовательные запросы начинаются с одинакового префикса (например, системного промпта), провайдер переиспользует предыдущие вычисления вместо повторной обработки. Кэшированные входные токены тарифицируются примерно по 10% от стандартной цены.
Вернёмся к боту поддержки:
- 500 кэшированных токенов (системный промпт) по $0,30/М: $0,00015
- 1 100 некэшированных входных токенов по $3,00/М: $0,0033
- 300 выходных токенов по $15,00/М: $0,0045
Стоимость запроса падает до ~$0,0080 — снижение на 14%. И это с коротким системным промптом. Если ваш префикс включает базу знаний или развёрнутые инструкции (2 000–5 000 токенов), кэширование может сократить расходы на входные токены на 30–50%.
Ключ к высокому проценту попаданий в кэш: размещайте весь статический контент в начале массива сообщений, а переменный (ввод пользователя, свежий контекст) — в конце. Порядок имеет значение.
Шесть тактик для снижения расходов на API
1. Сократите промпты
Раздутые системные промпты — самый частый источник перерасхода токенов. Проведите аудит. Уберите дублирующие инструкции, лишние примеры и избыточные правила форматирования. Хорошо написанный промпт на 200 токенов часто работает не хуже промпта на 800.
2. Маршрутизируйте по сложности задачи
Не каждый запрос требует самой мощной модели. Настройте слой маршрутизации:
- Классификация, извлечение данных, форматирование → лёгкий уровень
- Суммаризация, ответы на вопросы → средний уровень
- Сложные рассуждения, креативная генерация → флагман
Одно это может снизить расходы в 10–60 раз на подходящем трафике.
3. Максимизируйте попадания в кэш
Структурируйте каждый запрос так, чтобы статический префикс был идентичен между вызовами. В многоходовых диалогах сохраняйте начало массива сообщений стабильным.
4. Используйте Batch API для асинхронных задач
Если вы запускаете массовый перевод, суммаризацию или анализ, пакетные эндпоинты обычно дают скидку ~50%. Время выполнения увеличивается до 24 часов, но для офлайн-пайплайнов это не проблема.
5. Ограничивайте длину ответа
Устанавливайте max_tokens, чтобы модель не генерировала неоправданно длинные ответы. Дополните это инструкцией в промпте вроде «отвечай кратко» — двойной эффект на расход выходных токенов.
6. Рассмотрите предоплатные кредиты
Большинство провайдеров предлагают предоплатные тарифы со скидкой 5–20%. Лучшие платформы не сгорают и не обнуляют баланс ежемесячно — вы расходуете его в своём темпе. Для команд с расходами от $500/мес предоплата почти всегда выгоднее оплаты по факту.
Реальные оценки ежемесячных расходов
Все цифры ниже — для тарифа уровня Claude Sonnet с применением кэширования.
Бот поддержки клиентов
- 5 000 диалогов/день
- ~1 500 входных, ~300 выходных токенов на диалог
- 60% попаданий в кэш
- Оценка: $950 – $1 200/мес
Платформа генерации контента
- 1 000 задач/день
- ~800 входных, ~1 500 выходных токенов на задачу
- 30% попаданий в кэш
- Оценка: $780 – $950/мес
Анализ и суммаризация документов
- 200 документов/день
- ~3 000 входных, ~500 выходных токенов на документ
- Batch API (скидка 50%)
- Оценка: $180 – $250/мес
При правильной комбинации маршрутизации моделей, кэширования и пакетной обработки реальные расходы обычно оказываются на 30–60% ниже наивных оценок.
Итог
Тарификация токенов вознаграждает тех, кто вникает в детали. Четыре вещи важнее всего:
- Знайте свою структуру расхода — поймите, где концентрируются затраты.
- Подбирайте уровень модели под задачу — не платите флагманские цены за простые операции.
- Используйте кэширование — сделайте повторяющиеся префиксы практически бесплатными.
- Используйте объём в свою пользу — пакетные скидки и предоплатные кредиты накапливают эффект со временем.
При выборе API-провайдера смотрите дальше заголовочной цены за токен. Зрелость реализации кэширования, глубина пакетных скидок и то, сгорают ли предоплатные кредиты — именно эти детали определяют вашу реальную долгосрочную стоимость.