Как выглядела задача
Ко мне пришли из снабжения крупного завода. Каждую неделю туда сыплются коммерческие предложения — PDF-таблицы, сканы старых писем и просто текст, где цена спрятана за поздравлениями. Раньше сотрудник целыми днями вручную переносил всё в реестр. Задача простая, но муторная.
Нужно было сделать агента, который вытаскивает позиции и цены. Звучит легко, пока не начинаешь считать токены.
Первый прототип: всё на одной модели
Собрал по классике — одна топовая модель на весь пайплайн. Качество было отличное: модель понимала контекст, разбирала спорные скидки, сопоставляла наименования. Но когда пришёл счёт за пилот, заказчик поморщился.
Посмотрел логи и понял: из десяти шагов только два-три требуют настоящего мышления. Остальное — чистая рутина: почистить текст, нормализовать единицы, привести даты. Платить за это топ-моделью — всё равно что копать грядку экскаватором.
Разделил роли
Переписал агента так, чтобы каждый шаг выбирал модель под свою сложность:
- GigaChat Pro — тяжёлые смысловые задачи: сопоставление с номенклатурой, разбор противоречий, финальная проверка.
- YandexGPT — средние шаги: классификация письма, извлечение реквизитов, работа с более-менее структурированным текстом.
- Локальный Qwen — рутина: очистка от подписей, нормализация форматов, простые преобразования.
Решение, куда отправить шаг, отдано простому роутеру: правила плюс небольшой локальный классификатор. Никаких лишних LLM.
Где я чуть не прокололся
Через пару недель точность на сопоставлении просела. Оказалось, роутер слишком часто слал неоднозначные кейсы на среднюю модель. Она отвечала уверенно, агент шёл дальше, а ошибка всплывала позже.
Добавил эскалацию: если средняя модель сама говорит «есть варианты», задача уходит наверх. Дороже, чем сразу на тяжёлую, но всё равно дешевле, чем гонять топ-модель на всём.
Что получилось в итоге
Счёт за модели заметно упал. Появилась устойчивость — если один провайдер упадёт, часть работы продолжит крутиться локально. Плюс конфиденциальность: чувствительные фрагменты обрабатываются внутри периметра.
Главный вывод: не выбирай модель, пока не разложишь агента на шаги. Роутер должен быть простым и понятным, а петля эскалации — обязательной. Иначе сэкономишь на токенах, но потеряешь на качестве.
Теперь агент справляется с недельной пачкой предложений до обеда. Сотрудник наконец занимается переговорами, а не копипастом. Для меня это и есть нормальный результат от ИИ-агента.
