Skip to main content

Компоненты: один блок на всех агентов

Цель модуля: перестать копировать один и тот же кусок диалога в каждого агента.
Компонент — это мини-флоу с собственным входом и выходом, который живёт отдельно от агентов. Типичные компоненты: согласие на запись разговора, предложение SMS-напоминания, закрытие сделки, стандартный отказ. Два уровня: Библиотека компании (общий, правки прилетают во все черновики сразу) и локальный компонент агента. На холсте компонент — это одна нода-ссылка; при публикации она разворачивается в обычные узлы, поэтому движок про компоненты ничего не знает.
Инспектор компонент-ноды: ссылка на библиотечный компонент

Компонент-нода ссылается на компонент «Согласие на SMS-напоминание»: 2 узла внутри, уровень «Библиотека».

Инспектор компонент-ноды: ссылка на библиотечный компонент
Раздел «Компоненты»: библиотека компании и локальные компоненты

/components — каталог: где компонент используется, режим переходов, версия. Удаление библиотечного компонента не рвёт агентов — он превращается в локальную копию.

Нажмите, чтобы открыть целиком

Редактор компонента: Begin, два узла и Exit «возврат в флоу»

Редактор компонента. Внутри компонента — тот же холст. Отличие одно: вместо End стоит Exit («возврат в флоу») — выход, который при публикации склеивается со связью компонент-ноды.

Локальная копия помнит, откуда она взялась

Локальная копия библиотечного компонента хранит ссылку на родителя и версию, от которой её отпочковали, и носит бейдж «переопределяет библиотеку». Рядом есть просмотр расхождения копии с текущим телом родителя — сравнение идёт по смыслу, поэтому перестановка ключей расхождением не считается.

Закрепление и выкат во все агенты

Закреплённый библиотечный компонент нельзя отвязать и удалить, а роли «разработчик» — ещё и править. Это способ зафиксировать формулировку, которую согласовали юристы, чтобы её не «поправили под сценарий» в одном агенте. Правку компонента можно выкатить во все агенты мастером: он показывает список потребителей до применения и позволяет перепубликовать выбранных. Без него правка библиотеки попадает в черновики, но на боевые звонки не влияет, пока каждого агента не опубликуют вручную.
Зачем это дисциплина, а не удобствоФормулировка согласия или напоминания — то, что меняется по требованию юристов и сразу во всех агентах. Пока это скопированный текст в двадцати узлах, изменение гарантированно где-то забудут. Компонент делает такую правку одной операцией — и видно, в скольких агентах она отразится.