1. Главная
  2. Блог
  3. «Нам нужен ИИ-агент», а нужен был скрипт: как мы проверяем задачу перед созданием ИИ-агента

«Нам нужен ИИ-агент», а нужен был скрипт: как мы проверяем задачу перед созданием ИИ-агента

«Нам нужен ИИ-агент», а нужен был скрипт: как мы проверяем задачу перед созданием ИИ-агента

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

Как всё начиналось: агент на весь поток

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

Мы собрали честного агента. Модель получала письмо и набор инструментов через MCP-сервер: поиск по каталогу, проверку остатков, историю заказов клиента, создание черновика заказа. Дальше она сама решала, что делать: какой инструмент вызвать, в каком порядке, когда остановиться. Основой стал GigaChat Pro, потому что данные клиентов не должны покидать российский контур.

На демо всё работало красиво. Агент читал «как в прошлый раз», находил прошлый заказ, уточнял остатки и собирал черновик. Заказчик был доволен.

Проблемы начались, когда мы пустили на стенд живую почту за несколько недель.

Где агент начал мешать сам себе

Первое, что бросилось в глаза: на простых письмах агент вёл себя непредсказуемо. Приходит заявка по шаблону, где все артикулы уже на месте. Здесь нечего решать, нужно просто перенести строки. Агент же на всякий случай проверял историю клиента, потом зачем-то искал аналоги, иногда дважды запрашивал остатки. Результат обычно был верным, но путь к нему каждый раз оказывался разным.

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

Третье, самое неприятное: агент начал проявлять инициативу. Если артикула не было в наличии, он иногда сам подставлял аналог и честно писал об этом в комментарии. Выглядело заботливо. Но менеджер, который открывал заказ, комментарий не читал. Он видел готовый черновик и отправлял его дальше.

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

ИИ-агент: что это на самом деле, если без маркетинга

Здесь стоит остановиться и честно ответить на вопрос, который заказчики задают реже, чем стоило бы. ИИ-агент — что это такое в инженерном смысле?

Для нас это программа, в которой языковая модель сама выбирает следующий шаг. Она получает цель и набор инструментов, а маршрут прокладывает на ходу: вызывает инструмент, смотрит на результат, решает, что делать дальше. Именно этим агент отличается от обычной автоматизации с моделью внутри.

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

Оба подхода полезны. Ошибка в том, чтобы выбирать между ними по моде, а не по задаче.

Три вопроса, которые мы теперь задаём до начала работ

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

Известен ли путь заранее?

Если опытный сотрудник может нарисовать схему «сначала это, потом то, в таком-то случае вот это» и схема покрывает почти все ситуации, агент не нужен. Нужен сценарий. Агент оправдан там, где маршрут каждый раз разный и зависит от того, что обнаружилось по дороге.

Есть ли суждение над неструктурированным входом?

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

Во что обходится ошибка и кто её заметит?

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

Что мы пересобрали

Систему мы не выбросили, а разложили на слои.

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

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

Третий слой — агент. Сюда попадает то, что не прошли первые два: ссылки на прошлые заказы, неоднозначные формулировки, фотографии, переписка, где заявка размазана по трём письмам. Здесь агент получает прежнюю свободу выбирать инструменты. Но инструмент подстановки аналога теперь не меняет заказ. Он добавляет в черновик отдельный блок «предложено агентом», который менеджер обязан явно принять или отклонить.

Маршрутизацию между слоями тоже сделали простой: правила по отправителю и вложениям плюс лёгкая классификация моделью, если правила не сработали.

Где были грабли

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

Вторые грабли касались логов. Когда у тебя один агент, все разборы выглядят одинаково. Когда слоёв три, менеджеру нужно видеть, кто обработал письмо: код, сценарий или агент. Без этого любая ошибка превращалась в расследование. Теперь на каждом черновике стоит пометка о маршруте.

Что изменилось в работе людей

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

И главное: поведение системы стало объяснимым. Когда что-то идёт не так, мы быстро понимаем, в каком слое искать причину.

Вместо вывода

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

Интересно, как это выглядит у вас: вы уже проверяли, какая часть задач, которые хотят отдать агенту, на самом деле решается обычным сценарием?

Похожие статьи

Хотите так же?

Обсудим, как это внедрить у вас

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