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