Блок «AI Агент»

Подключает к этой точке воронки одного из ваших AI-агентов. В отличие от блока «GPT/AI», который просто генерирует текст по промпту, агент работает автономно: он понимает запрос клиента, сам решает, какие действия выполнить, и вызывает встроенные инструменты (tool calling) — может искать ответ в базе знаний, проставить тег, передать диалог оператору, запустить другой flow или ответить клиенту напрямую.

Сам агент (системный промпт, модель, набор разрешённых инструментов, база знаний) настраивается отдельно на странице «Агенты» вашего проекта. В блоке вы только выбираете готового агента и указываете, что ему передать и куда сохранить ответ.

Когда использовать

  • Поддержка с пониманием контекста: клиент задаёт свободный вопрос, агент сам ищет ответ в базе знаний и отвечает
  • Квалификация лида: агент ведёт диалог, проставляет теги (hot_lead, vip) и при необходимости запускает flow оформления
  • Умная маршрутизация: агент сам решает, ответить ли самому или передать диалог живому оператору
  • Замена длинной цепочки условий, когда заранее неизвестно, что спросит клиент

Настройки

  • Агент — выпадающий список агентов проекта. Показываются имя и модель, выключенные помечены «· выключен». Если агентов нет — ссылка на создание. Под выбранным агентом видно список его включённых инструментов (или предупреждение, что инструментов нет и он отвечает только текстом). Обязательное поле.
  • Сообщение пользователю (опционально) — текст, который получит агент. Поддерживает переменные `#{var}`. Если оставить пустым, агент получит последнее входящее сообщение клиента (`#{last_message}`).
  • Сохранить ответ в переменную — имя переменной, куда запишется итоговый ответ агента. По умолчанию `ai_agent_reply`. Дополнительно создаётся переменная `<имя>_tokens` с числом израсходованных токенов.

Как работает

Это линейный блок: он не ветвится, после выполнения управление переходит к следующему блоку по единственному выходу.

При выполнении блок:

  • загружает выбранного агента и проверяет, что он принадлежит этому проекту и включён; если агент не найден, выключен или не выбран — блок тихо пропускается, flow идёт дальше
  • берёт текст из поля «Сообщение пользователю» (с подстановкой переменных) либо последнее входящее сообщение клиента; если оба пусты — блок пропускается
  • находит активную сессию «агент ↔ клиент» (или создаёт новую), чтобы агент помнил предыдущий контекст диалога
  • запускает автономный цикл: агент рассуждает, вызывает инструменты, получает их результаты и продолжает — до 10 раундов или жёсткого таймаута 60 секунд

Доступные агенту инструменты (включаются в карточке агента, не в блоке): `send_message` (написать клиенту), `save_variable`, `get_client_info`, `search_knowledge_base`, `http_fetch`, `escalate_to_operator`, `add_tag`, `remove_tag`, `run_flow` — всего 9.

После завершения в переменную (по умолчанию `ai_agent_reply`) записывается финальный текст ответа, а в `<имя>_tokens` — число потраченных токенов. Обе переменные доступны в следующих блоках.

Пример

Клиент в Telegram пишет: «Сколько стоит доставка в Казань и есть ли она сегодня?»

1. Блок «AI Агент» с выбранным агентом поддержки, у которого включены `search_knowledge_base` и `send_message`. Поле «Сообщение пользователю» пустое — агент берёт `#{last_message}`. 2. Агент сам вызывает поиск по базе знаний, находит условия доставки и через `send_message` отправляет клиенту готовый ответ. 3. Итоговый текст ответа сохраняется в `#{ai_agent_reply}`. Поскольку агент уже написал клиенту сам, отдельный блок «Сообщение» после него не нужен — переменная пригодится только если хотите кастомную пост-обработку.

Частые ошибки

  • Агент без инструментов = просто чат. Если в карточке агента не включён ни один инструмент, он отвечает только текстом и не сможет искать в базе знаний, ставить теги или эскалировать. В блоке под селектором появляется предупреждение об этом — проверяйте его.
  • Двойное сообщение клиенту. Если у агента включён `send_message`, он отвечает клиенту сам. Не добавляйте сразу после блок «Сообщение» с `#{ai_agent_reply}` — клиент получит ответ дважды.
  • Блок молча пропускается. Если агент выключен, не выбран, удалён или не принадлежит проекту, либо нет ни заданного сообщения, ни последнего входящего — блок ничего не делает и flow идёт дальше без ошибки. Если ответа нет — проверьте, что агент активен и в воронке есть входящее сообщение.
  • Лимиты по дизайну. Агент ограничен 10 раундами рассуждений и 60 секундами; при упоре в лимит вернётся последний текстовый ответ (или «Достигнут лимит шагов рассуждения»). Для тяжёлых сценариев упрощайте задачу или дробите её.