Работа с ИИ агентами в отделе продаж и маркетинга устроена не как подключение сервиса, а как ежедневный режим: у агента есть закрытый список разрешённых действий, свои ключи к 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 для отката;
- набор инструментов не разросся: шесть отлаженных описаний работают лучше сорока.
Проверьте, готов ли процесс к передаче агенту
Пять вопросов по задаче, которую собираетесь отдать:
- Результат задачи фиксируется записью в системе, которую можно найти и откатить?
- Заведён служебный пользователь, по которому действия агента отличимы от менеджерских?
- Известно, какие области доступа нужны и почему не подходит полный доступ?
- Написан список из пяти-семи поводов передать диалог человеку?
- Назначен человек, который читает журнал за сутки каждое утро?
Пять «да» означают, что задачу можно отдавать. Любое «нет» это работа до запуска.
Разработка ИИ агентов идёт непрерывно, а не заканчивается запуском
Разработка ИИ агентов после запуска не останавливается: меняются прайс, воронка, набор полей в 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 при принудительном вызове, не считая схем. Если инструментов набирается несколько десятков, задачу делят между агентами.








