Dynamic Planner: ИИ, который превращает сложный запрос в пошаговый план
Динамический планировщик следит за разговором и, когда пользователь решает действительно многошаговую задачу внутри предметной области агента и заметно не понимает, как к ней подступиться, предлагает развернуть эту задачу во временный сюжет — пошаговый план на чек-листах, который агент затем выполняет по одному сфокусированному шагу за раз, показывая пользователю прогресс. Планирование происходит один раз и проходит валидацию; выполнение детерминировано.
Большинству разговоров план не нужен. Тому, кто спрашивает у вашего агента цену, часы работы или один вопрос «как это сделать», нужен прямой ответ, а не проект. Но некоторые разговоры устроены иначе: пользователь пытается довести до конца целое дело — зарегистрировать компанию, подать на визу, урегулировать претензию по повреждённой мебели — и заметно не понимает, с чего начать. Динамический планировщик существует ровно для этого момента: он превращает такой разговор во временный сюжет (вложенный план на чек-листах), по которому агент затем проводит шаг за шагом.
Это возможность уровня Pro, включаемая по каждому тенанту. Модель, которая занимается планированием, назначает оператор платформы для каждого тенанта, а не выбирает её сам разговор — именно это и позволяет направить тенанта с требованиями к резидентности данных на локальную или региональную модель, оставив остальных на размещённой.
Когда план вообще запускается?
Никогда не потому, что модель «сама так решила», и никогда через открытое поле, позволяющее пользователям заказывать произвольные планы. Входов ровно три, в порядке убывания детерминированности:
- Разворачиваемый шаг сюжета. Тенант помечает шаг созданного им сюжета как разворачиваемый. Когда пользователь до него доходит, агент предлагает развернуть этот шаг в под-план. Автор уже принял это решение на этапе проектирования — на волю случая ничего не оставлено.
- Пользователь принимает предложение. Любой план начинается с карточки подтверждения (тот же интерфейс формы-опроса, что и везде). Пользователь всегда может отказаться, и в этой сессии агент больше не спросит.
- Судья эскалации. Вне сюжетов небольшой отдельный вызов модели просматривает каждый ход и оценивает его по трём измерениям — они описаны ниже. Только когда проходят все три, пользователь вообще увидит предложение. Основной чат-модели никогда не доверяют «не забыть» что-то запустить: судья — это принудительный структурированный вызов, который делает движок.
Сюжет, созданный тенантом, всегда имеет приоритет: пока разговором управляет он, планировщик молчит. Процесс, построенный руками, важнее процесса сгенерированного.
Проверка эскалации по трём измерениям
Судья оценивает сложность задачи, растерянность пользователя и попадание в предметную область — и все три условия должны выполняться. Это сердце функции, поэтому вот сама логика с примерами.
1. Сложность — задача действительно многошаговая? Задача должна требовать нескольких шагов, нескольких документов или нескольких ходов. Один вопрос — это не план.
- ✅ «Хочу открыть компанию в США под интернет-магазин и совершенно не представляю, что для этого нужно»
- ❌ «Сколько стоит регистрация в Делавэре?» — это уточнение цены, отвечайте прямо
- ❌ «Как заполнить строку 7b в форме SS-4?» — один конкретный шаг процесса, который пользователь уже ведёт
2. Растерянность — хочет ли пользователь, чтобы его провели за руку? Сигналы: «с чего вообще начать», «что мне нужно подготовить», «проведите меня через весь процесс», «я во всём этом путаюсь». Пользователь, который знает процесс и спрашивает про одно звено цепочки, не растерян — дайте ему это звено, а не план.
- ✅ «Начальник поручил мне открыть дочернюю компанию в США, а я никогда ничего подобного не делал»
- ✅ «Регистрация закончена — что дальше? Годовые отчёты? Налоги? Я в этом путаюсь, пусть уж лучше вы за этим следите»
- ❌ «Документы готовы, просто скажите, куда подавать» — человек в курсе, а не растерян
3. Попадание в предметную область — это вообще работа агента? Слово «план» в сообщении пользователя ворота не открывает. Тенанты платят за разговоры; агент по регистрации компаний отказывается становиться универсальным личным ассистентом, как бы вежливо ни была сформулирована просьба.
- ❌ «Составь мне план тренировок на три месяца, с разбивкой по неделям» — вне предметной области, отказ
- ❌ «Распиши по шагам десятидневную поездку по Европе» — вне предметной области, отказ
Сам сгенерированный план тоже ограничен предметной областью: планировщик получает сферу ответственности агента и обязан удержать каждый шаг внутри неё.
Что происходит после «да»
Планирование — единственный вероятностный момент, и происходит он один раз: модель-планировщик составляет план в виде структурированных данных — шаги, инструкции к каждому шагу, чек-лист того, что нужно собрать, критерий завершения. Черновик валидируется как любой граф сюжета (некорректный план генерируется заново, затем передаётся резервной модели; план, который так и не проходит валидацию, просто не запускается). В каждый шаг детерминированно впечатывается неизменный шаблон границ — противоречия нужно оспаривать, ничего вне списка этого шага рекомендовать нельзя, никаких обещаний об одобрении или цене, — чтобы ограничители никогда не зависели от того, вспомнит ли модель-планировщик их прописать.
Дальше выполнение — это движок сюжетов, делающий то, что он делает всегда: один сфокусированный шаг за ход, пункты чек-листа отмечаются только при наличии подтверждения, прогресс показан в баннере, тонкая полоса прогресса и список шагов, который отрисовывает движок, — так что вы видите фактическое состояние, а не воспоминание модели о нём. Планы выполняются вложенно: если в план развернулся шаг сюжета, родительский сюжет по завершении плана продолжится ровно с того места, где остановился.
Частые вопросы
- Может ли это использовать мой существующий агент или нужно строить что-то новое?
- Существующий агент использует это как есть. Динамический планировщик — это переключатель на уровне тенанта на тарифе Pro; когда он включён, агент сохраняет свои базы знаний, Skills и инструменты и просто получает возможность предложить пошаговый план, когда разговор того требует. Переписывать в агенте ничего не нужно.
- Что помешает ему строить планы по темам, которыми мой бизнес не занимается?
- Фильтром предметной области служит описание задачи самого агента: запрос, выходящий за его рамки, отклоняется, даже если пользователь прямо просит план. Тому, кто просит у агента по регистрации компаний план тренировок, будет отказано, а сам сгенерированный план ограничен сферой ответственности агента.
- Что будет, если клиент бросит план на середине?
- Прогресс сохраняется в этом разговоре, поэтому клиент может вернуться позже и продолжить с того шага, на котором остановился. План принадлежит обращению, а не человеку — в отличие от сюжета, который вы составили сами и который следует за человеком между разговорами, — поэтому во втором разговоре начинается новый план. Он также может выйти из плана в любой момент; выход очищает план, но не мешает начать новый после этого.
- Можно ли посмотреть, как будет выглядеть план, до того как его увидят клиенты?
- Да. Инструмент предпросмотра генерирует план для любой цели и возвращает его на проверку, ничего не сохраняя и не затрагивая ни одного пользователя, а отдельный инструмент прогоняет примеры сообщений и показывает, привели бы они к появлению плана вообще. Оба доступны через API и через MCP — агенту-программисту.
- Решает ли ИИ сам прерывать клиентов планами?
- Нет. План всегда только предлагается и никогда не навязывается: клиент видит карточку подтверждения и может отказаться, а после отказа агент не спрашивает об этом снова в том же разговоре. Предложения также подавляются, пока разговором управляет созданный вами сюжет.
- Сколько стоит сгенерировать план?
- Один вызов планирования на каждое принятое предложение: он тарифицируется в токенах, как любой другой вызов модели, и учитывается отдельно от обычного расхода на чат, так что вы видите его по каждому тенанту. Дальнейшее выполнение стоит столько же, сколько любой другой ход разговора. Точная сумма зависит от того, какая модель назначена вашему тенанту для планирования.
Почти всё, что агенту нужно знать, уже где-то записано — на вашем сайте и в тех PDF, которые ваша команда и так рассылает клиентам. Импорт по URL закрывает публичную половину, загрузка файлов — остальное.
Сюжет — это направленный граф, по которому агент ведёт каждого конечного пользователя: каждый узел — это шаг (со своей задачей, знаниями и инструментами), переходы несут условия, а прогресс, профиль и заметки по каждому человеку сохраняются и возобновляются между сессиями и каналами. Он превращает агента из ассистента, выполняющего отдельные задачи, в того, кто сам может оказывать многошаговую услугу.