Пять симптомов странного поведения агента и настройки из вкладок Безопасность, прерывание диалога, задержки и лимиты, которые за них отвечают.
Агент, который отвечает верно по смыслу, но невпопад по форме (три сообщения подряд, пауза в пятнадцать секунд после каждой реплики клиента, ответ не в том темпе, что задуман), почти всегда чинится не переписыванием инструкции, а вкладкой «Дополнительные настройки»: разбивка ответов, время ожидания, прерывание диалога человеком, лимиты вызовов и передача медиа в модель.
Клиент пишет одно сообщение. В ответ прилетает три: сначала «Добрый день!», через две секунды «Смогу помочь с записью», ещё через пятнадцать: сама запись на удобное время. Смысл ответа правильный, а ощущение — что с человеком разговаривает не консультант, а автоответчик с заиканием. Дальше владелец идёт переписывать инструкцию, хотя инструкция здесь ни при чём.
Разберём по симптомам, какая настройка отвечает за что и где её включать.
Здесь путают две независимые настройки, и чинят не ту, что сломана.
Разбивка ответа на несколько сообщений режет один сгенерированный ответ на части: выбирается тип разделения и размер чанка: сколько предложений или абзацев умещается в одной части. Отдельно задаётся задержка между отправками в секундах: с какой паузой части уходят одна за другой. Если чанк выставлен на одно короткое предложение, а задержка — на несколько секунд, диалог начинает выглядеть как переписка человека, который печатает по одному слову за раз.
Вторая настройка — время ожидания перед стартом ответа. Она нужна не для разбивки, а для склейки: люди часто пишут одну мысль несколькими сообщениями подряд: «Добрый день!», «Есть вопрос», «Сколько стоит доставка». Без паузы агент ответит на первую же реплику отдельно, не дождавшись остальных. С паузой все три сообщения соберутся в одну мысль, и ответ придёт один, по существу.
Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500
Собрать агентаЗадержка между отправками работает только при отправке в подключённый канал. В тестовом чате кабинета сообщение появляется сразу после генерации ответа моделью: так устроена проверка, а не баг. Чтобы увидеть настоящий темп, отправьте сообщение из Telegram, WhatsApp или другого канала, куда подключён агент.
Менеджер написал клиенту вручную, а агент через минуту присылает свой ответ поверх, будто ничего не заметил. Узнаваемая картина.
Настройка «Не отвечать при прерывании диалога человеком» останавливает агента, когда в переписку вступает сотрудник. Работает она по-разному в зависимости от канала: некоторые CRM не всегда помечают сообщение сотрудника как служебное, и агент продолжает вести диалог, не заметив вмешательства. На такой случай есть фразы принудительного прерывания: если в переписке встречается заданная фраза (от кого бы она ни пришла), агент останавливается и передаёт диалог человеку. Совпадение должно быть точным, до символа.
Обратная ситуация тоже настраивается. «Возвращение управления агенту после прерывания» задаёт время в минутах, через которое агент сам возобновит общение, либо фразы для возобновления: например, кодовое слово, которым сотрудник закрывает разговор и отдаёт его обратно боту. Без этой настройки диалог, который сотрудник прервал случайно, так и останется на паузе навсегда.
Отдельно есть фразы, по которым прерывание срабатывать не должно. Их прописывают, если в середине диалога идёт рассылка или автоматическое подтверждение записи и агенту нельзя останавливаться из-за собственного же служебного сообщения.
Одна и та же настройка прерывания реагирует на события в Telegram иначе, чем в амоCRM или на Авито, потому что сами каналы по-разному передают событие «сообщение от сотрудника». В Авито, например, системные уведомления о рассылках иногда попадают в диалог как обычные сообщения, и без настройки «Игнорировать первые сообщения от сотрудника» агент воспринимает системный текст как реплику человека и умолкает без причины.
Проверка одна и та же для любого канала: открыть диалог в продвинутом режиме и посмотреть, что именно агент получил перед тем, как замолчал или ответил не вовремя — рассылку, реплику сотрудника или сообщение клиента. Логика инструкции тут ни при чём, разбирается это теми же настройками прерывания, что и в предыдущем разделе, только применёнными к конкретному каналу.
Настройка, от которой зависит всё остальное, спрятана не в том разделе, где её ищут.
«Передавать медиа в LLM» находится во вкладке «Безопасность» и имеет приоритет над всем остальным: если флаг выключен, ни одно изображение не уйдёт в модель, сколько бы ни было настроено распознавание. Эта настройка — общий рубильник, и её стоит проверять первой.
Дальше смотрят режим «Распознавание изображений»: выключено, передавать в модель напрямую, всегда или если не найдено в базе знаний. Последний режим сначала ищет совпадение картинки в базе, и только если не находит — переходит к инструкции под выпадающим списком. Если инструкция под этим режимом описывает узкий случай — например, только фото с чеком, — агент закономерно промолчит на скриншот переписки или на фото товара.
Раз данные из фото уходят в облачную модель, тот же вопрос стоит держать в голове вместе с маскированием персональных данных: оно отвечает за текст, а не за изображения, и это две разные настройки в одной вкладке.
Тут дело почти никогда не в модели — про выбор модели по цене и задачам подробно написано в материале про выбор модели. Внутри дополнительных настроек есть три места, где стоимость набегает незаметно.
Лимит вызовов каждой функции внутри диалога — 10, и он общий для любой функции. Если сценарий заставляет агента раз за разом обращаться в одну и ту же интеграцию — например, перепроверять статус заказа после каждой реплики клиента, — диалог упирается в лимит и останавливается с ошибкой, а токены на все десять вызовов уже потрачены.
Лимит параллельного вызова функций поднимает планку выше десяти для независимых друг от друга вызовов и заодно снижает стоимость: несколько функций уходят в одно обращение к модели вместо цепочки последовательных, а именно за обращения к модели и начисляются токены.
Третье место — настройка «Сохранять историю вызова функций». Она передаёт в модель при каждом новом сообщении результаты всех прежних вызовов внутри диалога, что удобно для длинных переписок с повторными уточнениями, но на диалогах, где клиент возвращается неделями, эти данные накапливаются и оплачиваются заново в каждом сообщении. Рядом стоит настройка истории сообщений — контекст можно ограничить количеством сообщений или временем, и тогда агент не будет таскать за собой месяц переписки ради одного нового вопроса.
Отметьте для себя порядок проверки: сначала «Безопасность» (маскирование и передача медиа), затем прерывание диалога и время ожидания, и только в конце — лимиты вызовов. В таком порядке настройки перекрывают друг друга реже всего, и правки не приходится откатывать.
Откройте продвинутый режим в разделе «Чаты» и прогоните пять последних диалогов, где что-то пошло не так по форме — не по смыслу ответа. Там же, в журнале, видно, какая функция была вызвана и с каким результатом, а не только финальный текст. Если после этого поведение осталось прежним, вероятно, дело всё-таки в инструкции — но проверять с неё стоит в последнюю очередь, а не в первую.
За это отвечает разбивка ответа на несколько сообщений в дополнительных настройках: выбирается тип разделения и размер чанка: сколько предложений или абзацев попадает в одну часть. Если чанк выставлен на одно предложение, длинный ответ действительно уйдёт клиенту очередью коротких реплик.
Задержка между отправками работает только при отправке в подключённый канал. В тестовом чате Савви сообщение появляется сразу после генерации ответа моделью, поэтому проверять паузу нужно из реального канала: Telegram, WhatsApp или другого, куда подключён агент.
Включить настройку «Не отвечать при прерывании диалога человеком». Если CRM не всегда распознаёт сообщение сотрудника как служебное, дополнительно прописываются фразы принудительного прерывания: при их появлении агент передаёт диалог человеку независимо от источника сообщения.
Через настройку «Возвращение управления агенту после прерывания»: указывается время в минутах, спустя которое агент снова включается в переписку, либо фразы для возобновления. Фраза срабатывает только при точном совпадении с тем, что прописано в настройке.
Проверьте две настройки по очереди. «Передавать медиа в LLM» во вкладке «Безопасность» имеет приоритет: если она выключена, файлы не уходят в модель вообще. Дальше смотрите режим «Распознавание изображений»: выключенный режим или узкое условие в инструкции под ним объясняют молчание на конкретных фото.
Проверить лимит параллельного вызова функций и настройку «Сохранять историю вызова функций». Параллельный вызов собирает несколько обращений к интеграциям в одно обращение к модели вместо цепочки, а отключение сохранения истории вызовов убирает из контекста повторяющиеся данные на длинных диалогах.