Чеклист причин, по которым диалог с ИИ-агентом замолкает: контрольная фраза, перехват сотрудником, лимиты вызовов и токенов, конфликт интеграций.
Агент останавливается по конкретной причине, которая всегда видна в логах диалога: контрольная фраза, перехват сотрудником, файл базы знаний с флагом «Прерывать диалог», конфликт с другим сервисом, десятый вызов одной функции, превышение лимита токенов модели или один из лимитов расходов. «Внутренняя ошибка» и «остановка по неизвестной причине» — единственные два случая, где причину ищет техподдержка Савви, а не сам аккаунт.
Баланс на счету есть, канал подключён, а в переписке — тишина. Клиент написал десять минут назад, статус диалога открыт, и никакого сообщения об ошибке на глаза не попадается, пока не открыть сам диалог и не посмотреть, что написано в поле причины остановки. У остановки диалога почти всегда есть конкретный код, и найти его в логах быстрее, чем гадать.
Причина остановки не прячется — она пишется в журнал диалогов вместе с самим диалогом. В разделе «Чаты» найдите нужную переписку и включите Продвинутый режим: он показывает вызовы функций, их аргументы и статус выполнения каждого шага, а не только последнюю реплику. Тот же диалог можно выгрузить в .html-экспорт с полями dialogue, user, bot, включая channel_variables, memory, timezone и число потраченных токенов. Этого достаточно, чтобы отличить остановку по лимиту от остановки по ошибке провайдера, не открывая тикет в поддержку заранее.
Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500
Собрать агентаТри остановки из списка ниже — сработавшая настройка, а не сбой. Платформа именно так и задумана: в этих случаях агент должен замолчать, вопрос только в том, нужно ли это вам в конкретном диалоге.
Во всех трёх случаях диалог возобновляется одинаково: раздел «История» → нужный диалог → «Очистить контекст». Разбор того, когда возвращать диалог агенту стоит вручную, а когда по расписанию, собран в статье про возврат диалога агенту: здесь только диагностика самого факта остановки.
Эта причина стоит особняком: диалог остановила не сама платформа Савви, а сторонний сервис. Код bot_kicked_from_chat чаще всего появляется при конфликте с настройками Открытых линий Битрикс24. Например, когда в очередь диалога подключается сотрудник, а у агента нет доступа к этому чату, и Битрикс24 сам исключает бота из переписки.
Правка здесь идёт на стороне интеграции, а в настройках Савви ничего трогать не нужно: проверить очередь Открытых линий и то, не отбирает ли она доступ к чату у бота в момент подключения сотрудника. Пока конфликт настроек не устранён, ошибка будет повторяться на похожих диалогах.
Сообщение «два вызова одной функции с одинаковыми аргументами» указывает на спор внутри собственной инструкции, а не на баг платформы. Типичный пример из практики: одна часть промпта требует вызвать функцию квалификации клиента сразу, другая требует вызвать ту же функцию перед уточняющим вопросом об удобной записи. Обе команды срабатывают в одной точке диалога, и вместо повторного вызова платформа диалог останавливает.
Лечится это построчной сверкой промпта и файлов базы знаний на предмет пересекающихся условий, а не сменой модели. Если в двух разных местах написано «вызови функцию X, когда…» с похожими триггерами, один из них стоит убрать или сделать более узким.
Здесь агент упирается в потолок, а не в противоречие. Платформа ограничивает любую функцию десятью вызовами за диалог: лимит общий для всех интеграций и не зависит от того, что именно вызывается, таблица, CRM или база знаний. Ошибка «Достиг максимального количества вызовов функций на диалог» означает, что клиент по кругу менял параметры запроса, а агент каждый раз честно обращался к функции заново.
Рядом стоит другая по природе ошибка — «Провайдер не смог обработать запрос». Она приходит от LLM-провайдера, а не от платформы Савви, когда объём запроса вместе с историей диалога, таблицами и файлами базы знаний превысил лимит токенов конкретной модели. В руководстве разобран реальный пример: агенту потребовалось 128 847 токенов на обработку результата из таблицы при лимите модели в 128 000. Решение — сокращение объёма, а не перезапуск диалога: например, одна большая таблица режется на две поменьше, каждая по отдельному запросу.
В отличие от контрольной фразы и перехвата сотрудником, лимит в 10 вызовов одной функции — не переключатель, а константа платформы. Убрать его нельзя, можно только уменьшить число обращений к функции внутри сценария.
Ещё две настройки останавливают диалог по счётчику, а не по содержанию: «Максимальное количество сообщений в диалоге» и «Максимальная стоимость диалога» из дополнительных настроек агента. Обе видны в списке доступных ограничений и решают задачу бюджета, а не диагностики — подробный разбор, как их выставлять и не обрезать живой разговор раньше времени, в статье про лимиты и контроль расходов.
Отдельно стоят два случая, где причину ищет техподдержка, а не сам аккаунт: «Внутренняя ошибка» на стороне сервиса Савви и «остановка по неизвестной причине», когда конкретный повод не определён. В обоих случаях следующий шаг один: обратиться в техподдержку Савви и приложить сам диалог, а не пытаться устранить причину самостоятельно.
Посчитайте сначала долю остановленных диалогов по каждой причине за неделю — раздел «История» показывает их все, и почти всегда одна причина набирает большинство. Если это контрольная фраза или перехват сотрудником, разбор быстрый: смотрите, не срабатывает ли настройка слишком часто на безобидных сообщениях. Если это лимит вызовов функции или ошибка провайдера, разбор глубже, и начинать стоит с Продвинутого режима того диалога, где остановка случилась в последний раз: там видно, какая функция вызывалась перед остановкой и с какими аргументами.
Только когда в логах стоит «Внутренняя ошибка» или причина не определена, следующий шаг один: техподдержка Савви, потому что дальше разбираться своими силами уже нечем. Полный список настроек и лимитов, которые управляют работой агента, собран в руководстве платформы, а базовые понятия — в статье «Что такое ИИ-агент».
Открыть этот диалог в разделе «История» и посмотреть, что написано в поле причины остановки. Дальше зайти в Продвинутый режим и проверить последние вызовы функций и последнее сообщение клиента: почти всегда там видна конкретная причина, а не общий сбой.
Если под главной инструкцией включён флаг «Не отвечать при прерывании диалога человеком», агент останавливается сразу после вмешательства менеджера. Диалог возобновляется кнопкой «Очистить контекст» в разделе «История», либо автоматически по таймеру, если рядом включена соответствующая настройка.
Часть остановок отключается: контрольную фразу и флаг прерывания сотрудником можно снять в настройках. Часть остаётся всегда: лимит в 10 вызовов одной функции и лимит токенов модели общие для платформы и не убираются, потому что защищают от диалога, который завис в цикле.
Агента исключили из чата на стороне другого сервиса. Чаще всего это Открытые линии Битрикс24: когда в очередь подключается сотрудник, а у агента нет доступа к чату, платформа Битрикс24 сама убирает бота из диалога. Правится настройками Открытых линий, не настройками Савви.
Это не сбой платформы, а противоречие в инструкции: агенту одновременно велено вызвать функцию сразу при квалификации клиента и вызвать её же перед уточняющим вопросом. Оба условия срабатывают в одной точке диалога, и платформа останавливает диалог вместо того, чтобы выполнить действие дважды подряд.
Нет, это ограничение на стороне модели: запрос вместе с историей диалога, таблицами и файлами базы знаний превысил лимит токенов конкретной LLM. В руководстве описан случай на 128 847 токенах при лимите 128 000. Лечится не пересозданием диалога, а сокращением того, что агент тянет в контекст за один раз — например, разбивкой большой таблицы на две поменьше.