Документация /Редактор агента

Редактор агента

Граф задач: как собрать ИИ-агента из целей, переходов и фаз выполнения.

Обзор

Ручной редактор агента в Leadarr — это граф задач. Каждый узел графа — отдельная цель диалога (например, «Квалификация BANT» или «Назначить встречу»), а рёбра между узлами — условные переходы. Агент ведёт диалог, находясь в одной из задач, и переключается между ними, когда выполняется заданное условие.

Настройки продукта, коннекторов и общего поведения живут в сайдбаре слева. Основной фокус редактора — граф задач в центре экрана.

Открыть редактор

На главной странице нажмите «+ Создать нового AI Агента». Откроется полноэкранный редактор с шапкой, левым сайдбаром и холстом графа.

Редактирование существующего агента открывается той же страницей — нажмите ✏️ на его карточке.




Граф задач

Центр экрана — холст графа. Пока нет задач, показывается заглушка «Нет задач. Добавьте первую задачу» и кнопка «Добавить задачу».

Редактор агента, пустое состояние графа
Редактор нового агента. Слева — сайдбар с аккордеоном настроек, в центре — пустой холст графа с кнопкой «Добавить задачу». В шапке — «Режим учителя», «Сохранить черновик» и «Запустить».

Что такое задача (узел)

Задача — это цель, которую агент пытается достичь в диалоге. Примеры: «Выявить потребность», «Квалификация BANT», «Назначить встречу», «Отработать возражение по цене». У задачи есть промпт-инструкция и набор фаз выполнения.

На карточке узла показано:

  • Название и краткое описание;
  • Цветные бейджи — счётчики активных инструментов по фазам (G, R, A, Gen, Act);
  • Индикатор статуса;
  • Кнопка + снизу — создать переход в другую задачу.

Что такое переход (ребро)

Переход — это условие, при котором агент переключается с одной задачи на другую. Условие описывается промптом («Клиент назвал бюджет и сроки»), и LLM на каждом шаге решает, выполняется ли оно.

Граф с двумя задачами и переходом между ними
Граф из двух задач: Квалификация BANT → Не квалифицирован → Проверить ЦА. Зелёный ярлык «Иначе — остаться в цели» — неявный else-переход, который есть у каждой задачи автоматически.
Агент проверяет условия по очереди. Если ни одно не подошло — остаётся в текущей цели (это неявный «else»-переход, который есть у каждой задачи автоматически).

Добавление задачи

Первая задача

На пустом холсте нажмите «Добавить задачу». Откроется каталог целей, разбитый по вкладкам:

Модальное окно «Выберите задачу» с вкладками и пресетами
Каталог целей: вкладки «Мои цели», «Квалификация», «Встреча», «Возражения», «Прочее». Готовые шаблоны — «Выявить потребность», «Квалификация BANT», «Проверить ЦА» и др.
Форма «Создать задачу» с заполненным промптом
Форма «Создать задачу». Название и инструкция предзаполняются выбранным шаблоном — можно отредактировать под свой сценарий.
  • Мои цели — ваши уже созданные задачи из раздела Задачи.
  • Квалификация — шаблоны вроде «Выявить потребность», «Квалификация BANT», «Проверить ЦА».
  • Возражения — шаблоны под конкретные возражения (цена, «не актуально», «не доверяю»).
  • Встреча — назначение встречи, созвона, демо.
  • Свой — создать задачу с нуля, задав название и описание вручную.

Шаблон из каталога приходит с готовым промптом, который вы можете отредактировать в редакторе задачи.

Следующие задачи

Нажмите + на карточке существующей задачи. Откроется двухшаговый диалог:

  1. Тип связи — выберите условие перехода (подробно в следующем разделе).
  2. Выберите цель — выберите задачу-цель: существующую, из шаблона или Завершение (terminate-узел).

Условия переходов

При добавлении ребра вы выбираете условие перехода — в какой момент агент должен уйти из текущей задачи. Есть 6 категорий пресетов:

КатегорияТиповые условия
КвалификацияКвалифицирован · Не квалифицирован · Нужно уточнить
ВозраженияВозражение снято · Возражение не снято · Новое возражение
ИнтересВысокий интерес · Нет интереса · Начал негативить
ВстречаЗаписался на встречу · Отказ от встречи · Перенос встречи
ДругоеМолчание · Связаться позже · Не тот контакт
СвойСобственное условие — вы задаёте название и описание сами
Диалог «Тип связи» с выбранным пресетом «Не квалифицирован»
Диалог «Тип связи». Сверху — подсказка об «else»-переходе, затем табы категорий и карточки пресетов. Поля «Название условия перехода» и «Описание условия» подставляются из выбранного пресета.

Каждый пресет — это пара { название, промпт }. Промпт — инструкция для LLM, описывающая, когда условие считается выполненным. Пример пресета «Квалифицирован»:

Клиент соответствует целевым критериям: подтвердил
потребность, бюджет и сроки. Готов к следующему шагу воронки.

Название и промпт можно отредактировать после выбора пресета. Клик по ребру на холсте открывает диалог «Условие перехода» для правки.


Редактор задачи

Клик по узлу открывает правый drawer с настройками задачи.

Инструкция

Поле «Промпт инструкции» — главное содержимое задачи. Клик открывает модальное окно с большой textarea (placeholder «Опишите, что должен делать агент в рамках этой задачи…»). Статус рядом показывает «Настроено» или «Не настроено».

Лимит ответов

Переключатель + счётчик. Когда включён, агент не отправит больше указанного числа ответов на этого клиента в рамках текущей задачи («Макс. N ответов AI на чат»).

Удалить / Сохранить

Внизу drawer — кнопки «Удалить задачу» (красная) и «Сохранить». Сохранение применяется сразу — черновик графа записывается в localStorage на каждое изменение.

Drawer редактора задачи с раскрытой секцией «Фазы выполнения»
Drawer редактора задачи. Сверху — «Инструкция» с состоянием «Настроено». Ниже — «Фазы выполнения» с шагами «Генерация ответа» и «Отправка клиенту» (locked) и кнопкой «+ Добавить шаг».

Фазы выполнения

В редакторе задачи раскрывается секция «Фазы выполнения» со счётчиком шагов. Каждое входящее сообщение прогоняется через инструменты в 5 фаз по порядку:

ФазаНазначение
GuardsПроверки безопасности — фильтр автоответов, защита от взлома промпта
RetrievalПолучение контекста — поиск по базе знаний (RAG), поиск похожих примеров (kNN)
AnalysisАнализ сообщения — оценка интереса, классификация интента
GenerationГенерация ответа — основной LLM-вызов (всегда включён)
ActionsДействия после генерации — отправка сообщения клиенту (всегда включён)

Доступные инструменты

ИнструментФазаЧто делает
Защита от взлома промптаGuardsБлокирует попытки обмануть агента
Фильтр автоответовGuardsПропускает письма-автоответчики
Поиск по документамRetrievalДобавляет в ответ факты из базы знаний (RAG)
Подражание стилюRetrievalНаходит похожие примеры для соблюдения тона — см. обучение стилю
Оценка интереса клиентаAnalysisОпределяет заинтересованность от 1 до 5
Решение о напоминанииAnalysisПроверяет, нужен ли follow-up
Генерация ответаGenerationОсновной LLM-вызов — создаёт текст ответа (locked)
Отправка клиентуActionsДоставка сообщения через коннектор (locked)

Нажмите «Добавить шаг», чтобы открыть меню всех доступных инструментов, сгруппированных по фазам. Инструменты «Поиск по документам» и «Подражание стилю» требуют выбора ресурса (база знаний / набор примеров) — пока ресурс не выбран, шаг подсвечивается красным.


Follow-ups

Секция Follow-ups в редакторе задачи задаёт напоминания, привязанные к конкретной цели. Когда чат находится в этой задаче и нет ответа — через заданное время агент отправит follow-up.

Как настроить

  1. Нажмите «Добавить follow-up».
  2. Укажите задержку — дн / час / мин от момента последнего сообщения.
  3. Введите текст в поле «Текст сообщения follow-up…». Можно оставить пустым — агент сгенерирует текст сам.
  4. Порядок follow-up меняется стрелками , удаление — крестиком.

Smart filter

Чекбокс «Smart filter (ML проверяет нужен ли)» — дополнительный промпт, по которому модель решит, уместен ли follow-up прямо сейчас (например, если клиент уже дал окончательный отказ в предыдущем сообщении, напоминание пропускается).

Follow-up применяется только к новым сообщениям — то есть к чатам, которые придут после того, как вы добавили follow-up в задачу. Старые диалоги не дополучат напоминаний задним числом.
Секция Follow-ups в drawer задачи с полями задержки и Smart filter
Секция «Follow-ups» — задержка дн / час / мин, textarea для текста и чекбокс «Smart filter (ML проверяет нужен ли)».

Завершение (terminate)

Чтобы явно завершить работу агента в чате, добавьте переход в узел «Завершение». Это специальный тип узла — красный, одноразовый, может быть только целью ребра. Дальнейшие переходы после terminate невозможны — агент отключается на этом чате.

Опциональное финальное сообщение

Клик по terminate-узлу открывает drawer с переключателем «Отправить сообщение перед отключением». Если включить — можно задать прощальный текст (placeholder: «Например: Спасибо за ваше время! Если понадобимся — напишите»). Если выключить — агент просто перестаёт отвечать без сообщения.


Сохранение и запуск

Граф и все настройки живут в состоянии редактора и автоматически сохраняются в localStorage по мере редактирования. Чтобы зафиксировать изменения на сервере:

  • Сохранить черновик — создаёт или обновляет агента со статусом «Неактивный». Можно вернуться к редактированию позже.
  • Запустить — сохраняет + активирует агента. После успешного запуска вас перекинет на главную страницу, карточка агента получит статус «Активный 🟢» и начнёт обрабатывать входящие.

Обязательные поля перед запуском

  • Название агента;
  • Продукт в сайдбаре;
  • Минимум одна задача в графе.
Для первых дней работы агента включите Режим учителя — вы сможете проверить каждый ответ перед отправкой и отредактировать промпты на основе реальных диалогов.