Работа с ИИ агентами в отделе продаж и маркетинга

НейросетиИгорь Мельник12 мин чтения
Работа с ИИ агентами в отделе продаж и маркетинга

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

Работа с ИИ агентами: что меняется в ежедневном режиме отдела

Отличие агента от рассылки в том, что каждое его намерение видно до исполнения. В Messages API Anthropic модель не выполняет действие сама: она возвращает stop_reason: “tool_use” и блок tool_use с полями id, name и input, то есть вы видите имя инструмента и точные аргументы раньше, чем что-либо произойдёт в CRM. Исполняет вызов ваше приложение и возвращает модели блок tool_result с тем же tool_use_id.

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

Второе изменение это новая роль: владелец агента на стороне отдела. Утром он смотрит действия за сутки, вечером очередь эскалаций, раз в неделю правит описания инструментов. Без этой роли агент за месяц расходится с процессом: процесс меняется, а описание инструмента нет.

Автоматизация продаж: какие задачи уходят агенту, а какие остаются человеку

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

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

Проверяется это журналом. Возьмите события amoCRM за неделю и отфильтруйте по типам lead_status_changed, task_added и custom_field_value_changed. Если агент двигает сделки по воронке, но задачи ставит только человек, подтверждение стоит не там: движение по воронке как раз стоит подтверждать, а постановка задачи автоматизируется хорошо.

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

Какие доступы выдают агенту и как их урезают

Агент получает не логин сотрудника, а собственный набор областей доступа. В Google Calendar API они разведены по объёму прав:

Область доступа Что разрешает
calendar.readonly Видеть и выгружать доступные пользователю календари
calendar.app.created Создавать вторичные календари и управлять событиями только в них
calendar.events.owned Менять и удалять события в календарях, которыми пользователь владеет
calendar.events Править события во всех календарях пользователя
calendar Полный доступ, включая удаление календарей
calendar.acls Менять права совместного доступа

Документация Google требует выбирать максимально узкую область, а публичные приложения с чувствительными областями проходят верификацию. Агенту, который только записывает на встречу, подходит calendar.app.created: он ведёт отдельный календарь и физически не может стереть чужое совещание.

Та же логика в CRM. Служебный пользователь под агента даёт две вещи сразу: действия фильтруются в журнале по полю created_by, а права режутся на уровне сущностей, и в amoCRM выдача событий зависит от прав. Отозванный токен отдаёт 401, и это самый быстрый способ выключить агента, не трогая код.

Как создать ИИ агента под одну задачу отдела: описание инструментов

Вопрос как создать ИИ агента на операционном уровне сводится к описанию инструментов: оно определяет, что агент вообще сможет сделать. Инструмент задаётся именем, описанием и input_schema в формате JSON Schema с блоками properties и required. Anthropic поддерживает флаг strict: true, гарантирующий соответствие вызова схеме, и параметр tool_choice со значениями auto, none, any и tool: первое отдаёт решение модели, второе запрещает вызовы, два последних обязывают вызвать. Флаг disable_parallel_tool_use оставляет один вызов за ход, что критично, когда каждый вызов пишет в CRM.

У российских моделей схема та же. GigaChat возвращает объект function_call с полями name, arguments и functions_state_id, принимает значения auto, none или имя функции, а результат вы отдаёте обратно сообщением с ролью function.

Когда инструменты живут в разных системах, их подключают по Model Context Protocol: актуальная версия спецификации 2026-07-28, обмен идёт сообщениями JSON-RPC 2.0, сервер отдаёт примитивы Tools, Resources и Prompts.

Описания стоят токенов на каждом запросе. У Claude Opus 5 системный промпт под работу с инструментами добавляет 286 токенов при tool_choice auto или none и 406 при any или tool, и это до самих схем. Отдел, навесивший сорок инструментов вместо шести, платит за это в каждом диалоге.

Лимиты систем, в которые агент ходит каждый день

Агент упирается не в модель, а в квоты CRM и мессенджеров: превышение выглядит как молчание агента в разгар рабочего дня.

Система Ограничение Что происходит при превышении
amoCRM 7 запросов в секунду на интеграцию, до 50 в секунду на аккаунт HTTP 429, при повторных нарушениях HTTP 403 с блокировкой
amoCRM, пакетные операции До 250 сущностей в запросе, рекомендовано не более 50 Отказ обработки пакета
Битрикс24 2 запроса в секунду на большинстве тарифов, 5 на Enterprise QUERY_LIMIT_EXCEEDED, HTTP 503
Битрикс24, время методов Один запрос не дольше 60 секунд; накопленное время метода ограничено, в облаке значение задаётся конфигурацией, в коробке по умолчанию 420 секунд OPERATION_TIME_LIMIT, HTTP 429, ждать до operating_reset_at
Битрикс24, batch До 50 вызовов методов в одном HTTP-запросе Остаток вызовов не выполняется
Telegram Bot API Не чаще одного сообщения в секунду в чат, не более 20 в минуту в группу Ограничение отправки
Telegram, рассылка Около 30 сообщений в секунду, на платной рассылке до 1000 Сверх 30 в секунду по 0,1 Telegram Stars за сообщение
WhatsApp Cloud API Окно обслуживания 24 часа, обнуляется входящим сообщением клиента После закрытия окна только одобренные шаблоны

Порог блокировки в Битрикс24 работает по схеме дырявого ведра: 50 накопленных запросов на обычных тарифах и 250 на Enterprise. Вывод для отдела: ночная выборка базы под реактивацию и дневные ответы клиентам идут через разные интеграции с разными ключами, иначе выгрузка съест квоту и живой диалог встанет. Платная рассылка Telegram требует 100 000 Stars на балансе и 100 000 активных пользователей в месяц, то есть типовой отдел упирается в потолок 30 сообщений в секунду и планирует рассылку под него.

Нужно связать агента с вашей CRM и мессенджерами

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

Обсудить задачу

Точка эскалации: где агент останавливается и зовёт человека

Эскалация это не фраза «сейчас позову менеджера», а техническая остановка выполнения. В OpenAI Agents SDK за это отвечают guardrails: input guardrails проверяют входящее сообщение и срабатывают только для первого агента в цепочке, output guardrails проверяют финальный ответ и работают только на последнем, а tool guardrails проверяют вызов инструмента до и после выполнения, но не распространяются на handoffs.

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

Рабочий набор триггеров для отдела продаж:

  • клиент просит скидку или условия за пределами прайса;
  • в сообщении есть претензия, возврат или упоминание юриста;
  • вызов инструмента меняет сумму сделки;
  • агент дважды подряд не получил ответ от инструмента;
  • клиент просит соединить с человеком;
  • до закрытия 24-часового окна WhatsApp меньше двух часов, а вопрос не решён.

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

Ежедневное чтение логов: что смотрит владелец агента

Логи живут в двух местах: трассировка объясняет, почему агент так решил, журнал CRM показывает, что изменилось в базе. В OpenAI Agents SDK трассировка включена по умолчанию: trace описывает один прогон и содержит workflow_name, trace_id формата trace_ плюс 32 буквенно-цифровых символа, необязательный group_id для сшивки прогонов одной сессии и metadata. Внутри создаются спаны agent_span, generation_span, function_span, guardrail_span и handoff_span.

Журнал событий amoCRM отдаёт объекты с полями id, type, entity_id, entity_type, created_by, created_at, value_before и value_after, с фильтрами по диапазону дат, пользователю, типу сущности и типу события. Фильтр по created_by даёт ровно действия агента за сутки.

Утренний срез по нашей практике укладывается в пятнадцать минут и состоит из четырёх цифр: доля диалогов с handoff_span, доля guardrail_span со сработавшим tripwire, число function_span с ошибкой и количество ответов 429 от CRM. Рост первой означает, что процесс изменился, а описания инструментов нет.

Что делать с ошибочным действием агента

Обратимое действие это запись в CRM: поля value_before и value_after в событии amoCRM дают состояние до и после, откат не требует расследования. Массовый откат в Битрикс24 собирается методом batch, принимающим до 50 вызовов в одном запросе.

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

Экстренная остановка делается по возрастанию жёсткости: перевести агента в tool_choice: none, чтобы он отвечал текстом, но не трогал системы; отозвать токен служебного пользователя, после чего все вызовы получат 401; остановить сервис. Первый вариант сохраняет диалоги живыми и обычно достаточен.

Отдельный вопрос это данные в логах: generation_span и function_span содержат переписку и аргументы вызовов, то есть персональные данные клиентов. Сохранение отключается флагом RunConfig.trace_include_sensitive_data, а трассировка целиком переменной OPENAI_AGENTS_DISABLE_TRACING=1.

Лучшие ИИ агенты определяются по журналу, а не по обзорам

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

  • доля эскалаций стабильна и не растёт от недели к неделе;
  • ошибок инструментов в function_span единицы, а не десятки в день;
  • ответов 429 от CRM нет вообще, то есть агент укладывается в 7 запросов в секунду для amoCRM или 2 для Битрикс24;
  • ответ приходит внутри 24-часового окна WhatsApp с запасом, а не за час до закрытия;
  • каждое действие ищется в журнале по created_by и имеет value_before для отката;
  • набор инструментов не разросся: шесть отлаженных описаний работают лучше сорока.

Проверьте, готов ли процесс к передаче агенту

Пять вопросов по задаче, которую собираетесь отдать:

  1. Результат задачи фиксируется записью в системе, которую можно найти и откатить?
  2. Заведён служебный пользователь, по которому действия агента отличимы от менеджерских?
  3. Известно, какие области доступа нужны и почему не подходит полный доступ?
  4. Написан список из пяти-семи поводов передать диалог человеку?
  5. Назначен человек, который читает журнал за сутки каждое утро?

Пять «да» означают, что задачу можно отдавать. Любое «нет» это работа до запуска.

Разработка ИИ агентов идёт непрерывно, а не заканчивается запуском

Разработка ИИ агентов после запуска не останавливается: меняются прайс, воронка, набор полей в CRM и правила скидок. Устаревшее описание инструмента опаснее его отсутствия: агент уверенно вызывает функцию с полем, которого в карточке уже нет.

Контур изменений держится на трёх вещах. Первое: описания инструментов и системный промпт лежат в репозитории с историей версий, а не в интерфейсе конструктора. Второе: перед выкаткой прогоняются несколько десятков реальных диалогов прошлых недель, и сравниваются вызванные инструменты и аргументы, а не только тексты ответов; флаг strict: true отлавливает расхождение схемы сразу. Третье: смена модели приравнивается к изменению кода. Документация Anthropic отмечает, что при нехватке обязательного параметра Claude Opus чаще переспрашивает, а Claude Sonnet может подставить правдоподобное значение сам: для агента, создающего сделки, это разница между вопросом и мусорной записью.

Долгие операции выносятся из синхронного диалога: один REST-запрос в облачном Битрикс24 обязан уложиться в 60 секунд, поэтому выгрузка на тысячи сущностей идёт фоном, а в MCP для этого есть расширение Tasks с опросом статуса.

Что обязательно сказать клиенту про агента

Статья 50 регламента ЕС об искусственном интеллекте требует, чтобы человек знал о взаимодействии с ИИ-системой, если это не очевидно, а искусственно созданные аудио, видео, изображения и текст маркировались в машиночитаемом виде. По статье 113 требования применяются со 2 августа 2026 года. Исключения: художественные и сатирические произведения, вспомогательные функции редактирования, контент под редакционным контролем.

Для компании с клиентами в ЕС это прямая обязанность, для остальных рабочая практика: хватает одной строки в начале диалога о том, что отвечает ассистент и как позвать человека.

Частые вопросы

Сколько запросов в секунду выдержит агент в amoCRM и Битрикс24?

В amoCRM это 7 запросов в секунду на интеграцию и до 50 на весь аккаунт, превышение даёт HTTP 429, повторные нарушения ведут к HTTP 403. В облачном Битрикс24 действует 2 запроса в секунду на большинстве тарифов и 5 на Enterprise, при превышении возвращается QUERY_LIMIT_EXCEEDED с кодом 503.

Как быстро остановить агента, если он делает не то?

Мягкий способ, перевести вызовы в режим tool_choice: none: агент продолжит отвечать текстом, но не изменит ничего в системах. Жёстче, отозвать токен служебного пользователя, после чего все обращения получат 401. Оба варианта не требуют правки кода.

Можно ли откатить действие агента в CRM?

Да, если действие записано в журнал событий: в amoCRM событие содержит value_before и value_after, исходное состояние восстанавливается из value_before. Массовый откат в Битрикс24 собирается методом batch до 50 вызовов в запросе. Отправленные клиенту сообщения не откатываются никак.

Обязательно ли предупреждать клиента, что отвечает ИИ?

Статья 50 AI Act ЕС требует информировать человека о взаимодействии с ИИ-системой, если это не очевидно, и применяется со 2 августа 2026 года. За пределами ЕС это вопрос практики, но раскрытие дешевле разбора ситуации, когда клиент выяснил всё сам.

Сколько инструментов давать одному агенту?

Ориентир для одной задачи отдела: от четырёх до восьми. Каждый инструмент добавляет токены к каждому запросу, базовая надбавка системного промпта у Claude Opus 5 составляет 286 токенов при tool_choice auto и 406 при принудительном вызове, не считая схем. Если инструментов набирается несколько десятков, задачу делят между агентами.

Поделиться:

About Author: Игорь Мельник

nu_editor_melnik@neurounit.ai

Редактор Neurounit. Пишет про автоматизацию, разработку и внедрение AI в процессы.

Neurounit

Запустить рост с AI

Оставьте заявку или напишите в мессенджер