
Оптимизация LLM часто начинается с таблицы тарифов и заканчивается дешёвой моделью, которую сотрудники перестают использовать. Мы разберём другой подход: не искать минимальную цену Token, а убрать дорогую модель из тех частей процесса, где её качество не создаёт ценности.
Ниже три мысленных, но технически воспроизводимых эксперимента: интернет-магазин, Telegram-команда и финансовый отдел. Цифры приведены как методика расчёта, а не как обещание экономии для любого проекта.
01Интернет-магазин: дорогим оказался не текст
Команда использовала сильную модель для всех операций с карточкой товара: извлечения характеристик, нормализации единиц, написания описания и проверки запрещённых обещаний. Казалось логичным держать один Prompt и один Model ID.
Разметка 300 задач показала, что 72% трафика составляло детерминированное извлечение полей. Там сильная модель не давала заметного выигрыша. Основные ошибки возникали в финальном описании, где нужно было сохранить факты и естественный русский.
Этап | До эксперимента | После | Контроль качества |
Извлечение характеристик | Сильная универсальная модель | Быстрая модель + JSON Schema | Сверка типов и диапазонов |
Нормализация | LLM | Обычный код и справочник | Unit tests |
Описание | Та же модель | Сильная языковая модель | Факты, Tone of Voice, banned claims |
Финальная проверка | Повторная генерация | Классификатор риска | Человек проверяет только высокий риск |
Смысл эксперимента: экономию создала не более дешёвая генерация. Её создало удаление LLM из нормализации и перенос сильной модели в единственный этап, где важен язык.
02Telegram: одна модель писала красиво, но одинаково
Маркетинговая команда генерировала пост целиком: заголовок, вступление, основную часть и CTA. Цена была приемлемой, но через месяц публикации стали похожи друг на друга. Редактор тратил время не на факты, а на борьбу с одинаковым ритмом.
Workflow разрезали не по сложности, а по характеру мышления:
· дешёвая модель собирала факты из брифа и отмечала пробелы;
· вторая модель предлагала пять разных углов без написания поста;
· сильная модель разворачивала только выбранный угол;
· детерминированный validator проверял длину, ссылки и запрещённые слова;
· редактор принимал решение, а его правки возвращались в Eval.
Стоимость одного API-запроса выросла: вместо одной генерации стало три. Но стоимость опубликованного поста снизилась, потому что резко сократилось число полных переписываний.
Парадокс LLM cost optimization: иногда выгоднее сделать больше вызовов, если каждый из них решает узкую проверяемую задачу.
Что измеряли
Метрика | Почему она важнее Token |
Доля публикаций без полного rewrite | Показывает реальную полезность генерации |
Минуты редактора на пост | Переводит качество в операционную стоимость |
Повторяемость первых абзацев | Обнаруживает шаблонность раньше падения engagement |
Фактические ошибки | Не позволяет экономии разрушить доверие |
03Финансы: дешёвая модель прошла benchmark и не прошла аудит
Для классификации платежей быстрая модель показывала высокую accuracy. После запуска выяснилось, что редкие ошибки концентрировались в дорогих и нестандартных операциях. Общая метрика скрывала бизнес-риск.
Команда отказалась от правила «всё ниже определённой длины — дешёвой модели». Вместо него появился risk router:
· обычная операция с известным контрагентом — быстрый route;
· новый контрагент, большая сумма или конфликтующие поля — сильная модель;
· отсутствующая ссылка на источник — ручная проверка;
· любое действие в учётной системе — только после детерминированной валидации.
Модель больше не принимала финальное решение. Она формировала структурированное предложение: категория, аргумент, цитата из документа и confidence. Это одновременно снизило стоимость и повысило объяснимость.
Общая формула трёх экспериментов
Во всех случаях оптимизировали не цену Token, а ожидаемую стоимость результата:
Стоимость результата = API + повторные вызовы + проверка человеком + цена ошибки.
Последний компонент меняет всё. В описании товара ошибка неприятна. В финансовой операции она может быть дороже годового бюджета на модели. Поэтому одинаковая техническая задача получает разный route в зависимости от контекста бизнеса.
Как собрать портфель моделей
Для большинства компаний достаточно трёх ролей, а не двадцати моделей:
Роль | Назначение | Когда повышать уровень |
Fast | Классификация, извлечение, черновики | Невалидный контракт или высокий риск |
Strong | Сложный язык, reasoning, код | Низкая уверенность или провал проверки |
Specialist | Vision, OCR, audio, embedding | Задача требует отдельной модальности |
Через OdiRouter такой портфель можно держать за единым OpenAI-compatible API и менять Model ID без отдельного биллинга и интеграции для каждой модели. Но логику Fast/Strong/Specialist лучше хранить в продукте: только он понимает цену ошибки.
Эксперимент, который можно запустить за неделю
День 1: выгрузить 100 обезличенных production-задач.
День 2: разделить их по риску и типу результата.
День 3: прогнать fast и strong routes вслепую.
День 4: посчитать не Token, а принятые результаты.
День 5: включить shadow routing.
День 6: проверить ошибки на границе классов.
День 7: запустить 5% безопасного трафика.
Вместо вывода
Счёт за LLM редко уменьшается от одной удачной скидки. Он уменьшается, когда команда перестаёт покупать максимальное качество там, где результат можно проверить кодом, и перестаёт экономить там, где ошибка дорого стоит. Хорошая маршрутизация — это не охота за дешёвой моделью. Это дисциплина в определении ценности каждого шага.