Руководство · pricing

Как спрогнозировать стоимость работы ИИ-функции

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

Автор stackzen-desk · Editorial reviews deskОбновлено 18 августа 2026 г.

Почему опубликованная цена — неверная отправная точка

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

Найдите единицу, которая формирует счёт

Начните с того, чтобы назвать тарифицируемое событие в терминах собственного продукта, и разворачивайте расчёт оттуда. Для ассистента поддержки это один диалог. Для инструмента работы с документами — один обработанный файл. Для функции в редакторе кода — возможно, один запрос на дополнение. Затем измерьте на представительной выборке реальных случаев, сколько вызовов модели порождает одно такое событие. Именно это число чаще всего угадывают неверно: функция, выглядящая как один вызов, сплошь и рядом оказывается тремя-четырьмя, потому что есть шаг классификации, шаг поиска, основная генерация и иногда второй проход для проверки или переформатирования вывода. Прогноз, построенный на одном вызове на событие, ошибётся в разы, а не на проценты.

Считайте токены по реальному трафику

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

Учтите множители, о которых все забывают

Несколько вещей раздувают реальный итог над аккуратной оценкой. Повторы: неудачные или некорректные ответы отправляются заново, и каждый повтор тарифицируется. История диалога: чат пересылает накопленный контекст на каждом ходе, поэтому разговор из десяти реплик стоит куда больше, чем десять одиночных. Системные промпты и примеры для обучения в контексте едут вместе с каждым вызовом, превращая длинный системный промпт в постоянный налог на весь ваш объём. Функции с поиском по базе прикрепляют найденные документы ко входу, и те нередко многократно превышают собственный текст пользователя. А оценка качества, тестирование и внутреннее использование генерируют тарифицируемый трафик, который не попадает ни в одну клиентскую оценку потребления.

Знайте, какие рычаги действительно двигают цифру

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

Решите, подходит ли вам уже зарезервированная ёмкость

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

Соберите то, что сможете пересчитывать ежемесячно

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

Ещё гайды