Этап 1. Описать сценарии
Для каждой функции зафиксируйте действие пользователя, ожидаемый результат, модели, возможные внутренние шаги и владельца процесса.
Результат этапа — карта AI-сценариев. Без неё расходы нельзя привязать к бизнес-функциям.
AI-функция запущена. Пользователи задают вопросы, загружают документы и получают отчёты. Первые недели расходы выглядят предсказуемыми.
Потом счёт за API вырастает вдвое.
Команда видит общую сумму, но не понимает, что именно стало дороже. Пользователей стало больше? История диалогов разрослась? Поиск начал передавать модели слишком много документов? Новый промпт увеличил контекст? Или AI-агент теперь по пять раз вызывает один и тот же инструмент?
Все эти причины выглядят одинаково: в конце месяца приходит более крупный счёт.


Кабинет провайдера показывает общее потребление, используемые модели и количество обработанных токенов. Но он не знает, какую задачу решал каждый вызов, к какому клиенту относился и был ли получен полезный результат.
Общий счёт отвечает на вопрос: «Сколько потратили?»
Управление начинается с другого вопроса: «На что именно?»
Когда расходы растут, первой обычно появляется идея сделать системный промпт короче.
Иногда это правильно. Если инструкция содержит повторы, устаревшие ограничения и примеры на все случаи жизни, её стоит пересмотреть.
Но сокращение промпта — это оптимизация одного элемента. Оно не заменяет управление расходами.
| Задача | На какой вопрос отвечает | Пример |
| Расчёт | Сколько стоит вызов или сценарий | Посчитать входные и выходные токены |
| Оптимизация | Как уменьшить расход | Сократить контекст или сменить модель |
| Управление | Как постоянно держать затраты под контролем | Собирать usage, вводить бюджеты и отслеживать аномалии |
Под управлением токенами в этой статье понимается регулярный учёт, разделение, анализ и ограничение расходов LLM на уровне продуктов, функций, сценариев и клиентов.
Это рабочая управленческая рамка, а не официальный отраслевой стандарт.
Цель такого управления — не минимальное число токенов любой ценой. Самый дешёвый запрос бесполезен, если модель не решила задачу.
Нужен другой результат: предсказуемая стоимость при приемлемом качестве.
Чтобы дальше не путаться в терминах:
Одна функция может содержать несколько сценариев, а один сценарий — несколько вызовов.

В простом интерфейсе всё выглядит линейно:
пользователь задал вопрос → модель ответила.
В работающем продукте между этими точками часто находится целый процесс.
Представим AI-ассистента службы поддержки. Пользователь спрашивает:
Можно ли вернуть товар после вскрытия упаковки?
Прежде чем показать ответ, система может:
Пользователь нажал одну кнопку. Внутри произошло несколько обращений к одной или разным моделям.
Пользовательский запрос → классификация → поиск → генерация → проверка → итоговый ответ
У каждого шага есть собственная стоимость, задержка и вероятность ошибки.
В обычном workflow последовательность действий заранее задаёт разработчик.
AI-агент может сам решать:
Такая гибкость полезна, но делает расходы менее предсказуемыми.
Если у агента нет критерия завершения, ограничения количества шагов и предельной стоимости операции, один пользовательский запрос может запустить длинную цепочку.
Система будет работать идеально до тех пор, пока к ней не придёт первый живой пользователь с задачей, которую разработчик не предусмотрел.
Модель вернула неподходящий формат, инструмент не сработал или проверочный модуль отклонил результат — токены уже обработаны.
Поэтому считать только последний ответ неправильно. Нужна полная трасса выполнения: от действия пользователя до результата или окончательной ошибки.
Граница темы
Токены — центральная, но не единственная часть себестоимости AI-функции. Дополнительно могут оплачиваться поиск, embeddings, хранение, внешние инструменты и инфраструктура. Здесь мы рассматриваем прежде всего стоимость LLM-вызовов.

Провайдеры возвращают технические данные об использовании API. Набор полей отличается, но обычно позволяет увидеть входные, выходные, кэшированные и иногда внутренние вычислительные токены.
Организационные API некоторых провайдеров дополнительно позволяют группировать потребление по моделям, проектам, ключам или рабочим пространствам. Это полезно для сверки счетов и общей аналитики. Но внутренние сценарии продукта провайдер всё равно не знает. [1][2][3][4]
Для него два вызова одной модели могут выглядеть одинаково.
Для бизнеса один из них может быть ответом бесплатному пользователю, а второй — частью платного анализа договора.
Поэтому данные провайдера нужно дополнять собственным контекстом.
На первом этапе не нужна отдельная платформа наблюдаемости с двадцатью графиками.
Достаточно сохранять:
Такой набор уже позволяет понять:
Минимальное правило для MVP
Начните с пяти сущностей: сценарий, модель, пользователь, usage и результат. Новые поля добавляйте тогда, когда базовые данные перестают отвечать на конкретный вопрос.
В зрелом продукте к usage добавляют информацию, которая помогает восстановить всю цепочку:
Главное — не количество полей, а возможность восстановить причинно-следственную связь.
Например:
После релиза новой версии промпта стоимость сложных запросов выросла.
Без версионирования команда увидит только рост расходов.
С версионированием можно проверить, что именно изменилось: системная инструкция, модель, объём контекста или логика поиска.| Группа данных | Что сохранять | Какое решение это помогает принять |
| Сценарий | Продукт, функция, тип задачи | Найти дорогие процессы |
| Пользователь | Пользователь, клиент, тариф | Ввести квоты и оценить маржинальность |
| Конфигурация | Модель, промпт, версия логики | Сравнить релизы |
| Usage | Входные, кэшированные и выходные токены | Рассчитать стоимость |
| Выполнение | Шаги, время и ошибки | Найти сбои и циклы |
| Результат | Успех, эскалация, ручная проверка | Посчитать стоимость полезной задачи |
Кабинет провайдера нужен для контроля общего счёта. Собственные логи — для понимания его причин.

Количество токенов и стоимость отдельного обращения к модели — базовые показатели. Они нужны, но сами по себе мало говорят об экономике продукта.
Эта метрика помогает:
Но один вызов редко описывает всю пользовательскую задачу.
Сценарий включает все модельные вызовы, необходимые для выполнения одного действия пользователя.
Проверка договора, например, может состоять из определения типа документа, поиска правил, анализа текста, проверки результата и подготовки отчёта.
Если система сделала пять обращений к модели, стоимость сценария равна сумме всех пяти.
Иначе получается удобная, но ложная картина: финальный ответ стоит недорого, а подготовительные операции как будто не существуют.
Для эксплуатационного контроля полезно считать стоимость не только сценария, но и успешно выполненной задачи.
Результатом может быть:
Рабочая операционная метрика:
Стоимость успешного результата = стоимость всех модельных вызовов / количество успешно завершённых задач
Это авторская модель для внутреннего контроля, а не полная формула экономики продукта. Она не учитывает инфраструктуру, ручную работу, выручку и стоимость возможной ошибки.
Допустим, 100 обращений к ассистенту обошлись в 2 000 рублей. Самостоятельно решить удалось 60 обращений. Остальные потребовали передачи менеджеру.
Стоимость одного успешно решённого обращения на уровне LLM составляет около 33 рублей, а не 20.
Для полной оценки к этой сумме нужно добавить ручную обработку оставшихся обращений и последствия ошибочных ответов.
| Уровень | Что считаем | Для чего |
| Вызов | Одно обращение к модели | Сравнение моделей и промптов |
| Сценарий | Полную цепочку выполнения | Оценка AI-функции |
| Пользователь | Расход одного аккаунта | Квоты и тарифы |
| Клиент | Себестоимость обслуживания | Оценка маржинальности |
| Результат | Успешно выполненную задачу | Экономика сценария |
Средняя стоимость полезна для общей оценки, но легко маскирует крайние значения.
Допустим:
Среднее сгладит проблему.
Поэтому вместе с ним стоит смотреть медиану, максимум и верхние перцентили.
95-й перцентиль показывает стоимость, в которую укладываются 95% сценариев. Оставшиеся 5% — дорогие крайние случаи, которые нужно разбирать отдельно.
После изменения модели, промпта или RAG-логики необходимо сравнивать показатели до и после релиза.
Иногда медианная стоимость почти не меняется, а 95-й перцентиль вырастает вдвое. Значит, новая версия нормально работает на типовых запросах, но резко дорожает в сложных случаях.
Без версии конфигурации такой эффект легко пропустить.
Токены нужны для расчёта. Решение о развитии продукта принимается на уровне результата.

Допустим, команда сократила средний расход токенов на 30%.
Можно ли считать задачу выполненной?
Нет. Сначала нужно проверить, что произошло с результатом.
После изменения сравнивают:
Критерий качества зависит от задачи.
Для извлечения данных важна точность полей. Для поддержки — доля обращений, решённых без менеджера. Для анализа документов — полнота найденных рисков. Для агента — доля задач, завершённых без ручного вмешательства.
Более сильная модель может выполнить задачу с первой попытки.
Более дешёвая:
Цена одного токена будет ниже. Стоимость результата — выше.
Сравнивать модели нужно на одинаковом наборе задач и по полной стоимости сценария.
Удаление части истории или документов снижает входной расход.
Одновременно модель может потерять важное ограничение, договорённость с пользователем или нужный раздел документа.
На типовом запросе всё продолжит работать. На краевом сценарии система начнёт ошибаться.
Не каждый лишний вызов нужно удалять.
Проверка может быть оправдана, если неправильный результат приведёт к финансовому риску, юридической ошибке или претензии клиента.
В критическом сценарии несколько тысяч дополнительных токенов могут стоить значительно меньше неправильного решения.
Не стоит одновременно:
Если стоимость или качество изменятся, команда не поймёт причину.
Снижение расходов считается оптимизацией только тогда, когда уменьшается стоимость полезного результата, а качество остаётся приемлемым.
Мониторинг показывает, что уже произошло.
Управление должно ещё и ограничивать то, что может произойти.
Если система только записывает растущий расход, это хороший журнал наблюдений, но слабый финансовый контроль.
Для продукта или отдельной функции задаётся допустимый расход за период: день, неделю, месяц или расчётный период клиента.
Для нового сценария первый бюджет можно установить как временный предел на основе тестовой нагрузки. После накопления реальных данных его пересматривают.
Отдельные бюджеты полезны для функций с разной экономикой.
Чат поддержки и массовая обработка документов могут использовать один API, но финансово это разные процессы. Первый работает постоянно. Второй способен создать крупную нагрузку за несколько часов.
Квоту можно задавать по числу запросов, стоимости, объёму документов или количеству дорогих операций.
Это особенно важно в SaaS-продуктах.
Формулировка «безлимитный ИИ» хорошо выглядит на лендинге. В биллинге она выглядит менее романтично.
Расходы по клиентам нужны не только для защиты от злоупотреблений. Они показывают, соответствует ли цена тарифа фактической себестоимости AI-функций.
Например:
При мягком ограничении система предупреждает пользователя или меняет режим работы.
Она может показать остаток квоты, запросить подтверждение дорогой операции или переключить часть запросов на более дешёвую модель.
Жёсткое ограничение останавливает выполнение: блокирует операцию, завершает агентный цикл, отключает дорогую функцию или передаёт задачу человеку.
Например, при достижении 80% месячной квоты пользователь получает предупреждение.
После 100% обычные вопросы остаются доступны, а анализ больших документов блокируется до следующего периода или покупки дополнительного объёма.
| Вид ограничения | Что происходит | Где применять |
| Мягкое | Предупреждение или смена режима | Обычные пользовательские сценарии |
| Жёсткое | Операция прекращается | Дорогие и рискованные процессы |
| Пользовательское | Ограничивается один аккаунт | SaaS и личные кабинеты |
| Сценарное | Ограничивается одна функция | Агенты и обработка документов |
Четыре разных лимита
Это разные механизмы. Объединять их одним словом удобно только до первой аварии.

Расходы редко растут без причины. Обычно меняется один из элементов системы: контекст, ответ, модель, количество шагов или поведение пользователей.
Задача мониторинга — не просто заметить рост, а связать его с конкретным изменением.
| Симптом | Возможные причины | Что проверить |
| Растёт входной контекст | История, RAG, системный промпт | Размер контекста и число документов |
| Растёт ответ | Новая инструкция или модель | Output tokens и формат |
| Стало больше повторных попыток | Ошибка структуры или инструмента | Причины повторных вызовов |
| Стало больше шагов | Агент не завершает задачу | Трассу и критерии остановки |
| Снизилась доля кэшированного входа | Изменился повторяемый префикс | Структуру запроса |
| Подорожал один клиент | Активность или ошибка интеграции | Расход по аккаунтам |
| Расход вырос после релиза | Изменились модель, промпт или RAG | Версии конфигурации |
| Нагрузка появилась ночью | Тесты или фоновый процесс | Окружение и API-ключи |
Повторные вызовы часто выглядят как мелкая техническая деталь.
На большой нагрузке они становятся отдельной статьёй расходов.
Причинами могут быть:
Важно измерять не только количество повторов, но и их долю в стоимости сценария.
Если они создают 20% расходов, проблема находится не в цене токена. Нужно исправлять причину повторов.
Зацикливание возникает, когда агент не понимает, что задача завершена, либо не может получить нужный результат от инструмента.
Признаки:
Для защиты нужны:
Слабый алерт: Расход API вырос. - Он сообщает очевидное и не помогает действовать.
Полезный алерт:
После выхода версии промпта 3.2 стоимость 95-го перцентиля сценария «анализ договора» выросла на 28%. Увеличились входной контекст и доля повторных попыток.
Команда сразу получает конкретные точки проверки.
Порог в 28% здесь приведён как пример внутреннего правила. Универсального допустимого процента не существует: он зависит от ценности сценария и стоимости ошибки.
Этап 1. Описать сценарии
Для каждой функции зафиксируйте действие пользователя, ожидаемый результат, модели, возможные внутренние шаги и владельца процесса.
Результат этапа — карта AI-сценариев. Без неё расходы нельзя привязать к бизнес-функциям.
Этап 2. Настроить минимальное логирование
Сохраняйте сценарий, модель, пользователя, usage, стоимость и результат.
Не нужно ждать идеальной аналитической платформы. Пока команда её проектирует, API продолжает работать и выставлять счета.
Этап 3. Рассчитать базовые показатели
За нормальный рабочий период определите:
Эти значения станут базовой линией для сравнения новых релизов.
Этап 4. Ввести бюджеты и алерты
Для значимых сценариев задайте:
Алерт без ответственного и заранее определённого действия быстро превращается в ещё одно уведомление, которое все научились не замечать.
Этап 5. Регулярно сравнивать стоимость и качество
Контроль расходов должен войти в обычный цикл развития продукта:
| Роль | За что отвечает |
| Владелец продукта | Ценность функции, бюджет и тарифная модель |
| Техническая команда | Логи, метрики, алерты и архитектура |
| Владелец процесса | Качество и критерии результата |
| Финансы | Общий бюджет, прогноз и отклонения |
Если владелец продукта не знает стоимость сценария, а техническая команда не знает критерий полезного результата, расходы будут оптимизироваться отдельно от ценности.
Токены — важная техническая и финансовая метрика. Но сами по себе они не показывают ценность AI-функции.
Одинаковое количество токенов может решить вопрос клиента, подготовить полезный отчёт, уйти на исправление ошибки или пропасть в зацикленном агенте.
Поэтому сначала нужно определить полезный результат. Затем — собрать usage всей цепочки, рассчитать стоимость сценария и установить допустимые границы.
Только после этого кэширование, маршрутизация, лимиты и смена модели становятся инструментами управления, а не случайным набором способов сэкономить.
Управление токенами начинается не с команды сделать промпт короче.
Оно начинается с понимания, сколько стоит одна успешно выполненная задача и почему она стоит именно столько.