Для новичка

Дешёвый ИИ API может обойтись дороже: считайте результат, кэш и повторы

|Автор: Редакция QUASA|5 мин чтения| 6
Дешёвый ИИ API может обойтись дороже: считайте результат, кэш и повторы

Стоимость ИИ-функции считайте не по рекламной цене миллиона токенов, а по полному расходу на принятую задачу. Сначала сложите стоимость обычного входа, выхода, записи и чтения кэша, дополнительных операций; затем учтите все попытки и разделите месячный расход на число успешных результатов.

Так становятся сопоставимы модели с разным поведением. API с низкой ставкой может обойтись дороже, если модель генерирует больше выходных или внутренних токенов, чаще промахивается по кэшу либо требует повторных вызовов.

Разложите стоимость одного вызова

Раздельный расчёт входных, выходных, записанных и прочитанных из кэша токенов одного вызова ИИ API

Базовая формула: стоимость вызова = I / 1 000 000 × Pi + O / 1 000 000 × Po + W / 1 000 000 × Pw + R / 1 000 000 × Pr + E. Здесь I, O, W и R — обычные входные, выходные, записанные в кэш и прочитанные из кэша токены; Pi, Po, Pw и Pr — ставки за миллион токенов; E — стоимость дополнительных операций.

Формула калькулятора BetterToken разделяет эти четыре категории и предлагает отдельно учитывать поиск, изображения, аудио, хранение и другие платные инструменты. Для функций с разными типами нагрузки — например, короткой классификацией и разбором документа — нужны отдельные строки расчёта.

Категории должны быть взаимно исключающими. Если общий показатель входа уже содержит кэшированные токены, нельзя начислить обычную ставку на весь вход, а затем ещё раз прибавить чтение кэша. Сначала сопоставьте поля раздела usage конкретного API со строками калькулятора.

  • Обычный вход: новый текст, сообщения, схемы инструментов и другой некэшированный контекст.
  • Выход: токены, которые поставщик относит к сгенерированному результату.
  • Запись в кэш: токены сохраняемого повторяемого контекста.
  • Чтение кэша: токены ранее сохранённого контекста, использованные при попадании.
  • Дополнительные операции: отдельные тарифицируемые вызовы поиска, обработки изображений, выполнения кода и других инструментов.

Не судите о расходе по видимому ответу

Короткое сообщение на экране не обязательно означает короткий оплачиваемый выход. Справка OpenAI по токенам разделяет входные, выходные, кэшированные и внутренние токены рассуждения: последние не показываются пользователю, но входят в выходной расход и оплачиваются как выходные.

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

Среднее значение по одной функции нельзя переносить на весь продукт. Классификация сообщения, обработка длинного документа и многошаговая задача с инструментами расходуют токены по-разному. Месячный бюджет складывается из затрат отдельных классов задач.

Кэш оценивайте по попаданиям и промахам

Последовательность вызовов ИИ API с записью, попаданиями и промахом кэша и разной стоимостью попыток

Кэш не даёт единой скидки на весь запрос. При записи повторяемый фрагмент оплачивается по ставке создания кэша, при попадании — по ставке чтения, а изменяемая часть остаётся обычным входом. Поэтому рассчитайте Cmiss — стоимость попытки с записью или без попадания — и Chit — стоимость попытки с чтением кэша.

Официальная тарификация Claude устанавливает множитель 1,25 к базовой цене входа для пятиминутной записи и стандартный множитель 0,1 для чтения; для Claude Fable 5.1 и Claude Mythos 5.1 чтение и обновление кэша тарифицируются с множителем 0,025. Ставку нужно фиксировать вместе с моделью и условиями обработки, а не переносить из старого расчёта.

При N вызовах и доле попаданий h ожидаемый расход равен N × h × Chit + N × (1 − h) × Cmiss. До запуска h является допущением, после запуска её следует заменить фактическим соотношением попаданий и промахов из журналов.

Учитывайте повторы и долю успешных задач

В месячный объём входят все обращения к модели, а не только исходные действия пользователей. Если на каждую задачу приходится в среднем r дополнительных попыток, приближённое число вызовов равно Ntasks × (1 + r). Для многошаговых процессов точнее брать фактическое число API-вызовов: одна повторная задача может заново запустить несколько шагов.

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

Главная продуктовая метрика — стоимость успешной задачи = все расходы функции / число принятых результатов. Критерий успеха определите заранее: это может быть валидный структурированный ответ, правильная классификация или завершённый пользовательский сценарий. Ответ API со статусом 200 сам по себе не доказывает полезность результата.

Заполните три сценария месячной нагрузки

Сравнение экономного, базового и стрессового сценариев по нагрузке, повторам и стоимости успешной задачи

Используйте одинаковый набор полей для экономного, базового и стрессового сценариев. Тогда разница в итоговой сумме покажет, какое предположение — объём, кэш, длина выхода, повторы или качество — сильнее всего влияет на бюджет.

  • Экономный: меньший объём задач, высокая доля попаданий, короткий выход и редкие повторы.
  • Базовый: ожидаемый рабочий объём и медианные показатели репрезентативной тестовой выборки.
  • Стрессовый: высокий трафик, больше промахов, длиннее выход, чаще повторы и платные операции.

Для каждого сценария укажите число пользовательских задач, обычные входные и выходные токены, запись и чтение кэша, долю попаданий, среднее число попыток, дополнительные расходы и долю успешных задач. Ставки приведите к одной валюте; при пересчёте в местную валюту сохраните курс и дату его фиксации.

Условный пример: попытка при промахе стоит 0,0435 доллара, при попадании — 0,0159 доллара, доля попаданий равна 80%. Средняя цена попытки составит 0,8 × 0,0159 + 0,2 × 0,0435 = 0,02142 доллара. При 10 000 задач и 12% дополнительных попыток получится 11 200 вызовов и 239,90 доллара расходов на токены.

Если каждая попытка включает платную операцию за условные 0,002 доллара, добавятся 22,40 доллара. При успешности 88% функция даст 8 800 принятых результатов, а один результат обойдётся примерно в 0,0298 доллара: (239,90 + 22,40) / 8 800.

Сверяйте модель бюджета с фактическим списанием

После запуска сопоставляйте расчёт с usage и панелью поставщика. Группируйте расход по модели и классу задач, проверяйте число вызовов, платные инструменты, попадания в кэш и валютный пересчёт. Расхождение полезно выражать и в деньгах, и в процентах.

Если фактическая сумма выше прогноза, сначала проверьте структуру нагрузки: длину контекста, выходные и внутренние токены, число шагов с инструментами, повторы и долю промахов кэша. Если usage совпадает с расчётом, сверяйте версию модели, режим обработки и действующие ставки.

Итоговый бюджет — это стоимость всех попыток и операций, соотнесённая с числом принятых результатов. Такая модель и выявляет ситуацию, когда формально дешёвый API обходится продукту дороже.

Читайте также:

Поделиться:

Подпишитесь на рассылку

Получайте свежие новости Web3, AI и криптовалют прямо на вашу почту.

0