Инструкция по настройке нейро-консультанта в amoCRM через виджет «Процессы»

Данная инструкция поможет вам создать нейро-продавцов, нейро-квалификаторов и любых чат-ботов на основе искусственного интеллекта в CRM.
Chat AI — это один из элементов в виджете «Процессы» с функцией искусственного интеллекта. Он перехватывает переписку в мессенеджере и начинает общаться с клиентом самостоятельно с использованием GPT технологий.

Chatter — это виджет, который позволит подключить официальный WhatsApp и Telegram к amoCRM.

Последовательность настройки
  1. Установить виджет Процессы
  2. Установить виджет Chatter
  3. Добавить в Chatter хотя бы один канал, например Телеграм
  4. Создать процесс квалификации в BPMN редакторе «Процессы»
  5. Настроить запуск процесса на входящее сообщение в amoCRM
  6. Нейро-консультант готов
Полная видео-инструкция

Как это работает

Элемент Chat AI можно добавить в любом месте внутри Процесса, для сущности Сделка или Контакт. Когда такой процесс запущен и приходит новое сообщение от клиента, Chat AI начнет беседу и будет вести её в соответствии со своим заданным сценарием.

На данный момент Chat AI работает только совместно с виджетом Chatter и обрабатывает сообщения пришедшие через его канал: WhatsApp и Телеграм.

Если в процессе общения достигаются определённые цели или происходят какие-либо действия (например, клиент позвал менеджера или написал свой адрес), на это можно запускать собственные обработчики.
  • Обработчики добавляются в настройках ChatAI. Сам триггера запуска, то есть — "на что запустится обработчик", задается в описании простым текстом, например "Клиент позвал менеджера". По этому описанию ChatAI понимает, когда запускать обработчик.
  • Каждый обработчик создает свою выходную ветку в элементе, если обработчик запускается, процесс пойдет по этой ветке. На эту ветку можно добавить любую автоматизацию.
  • Обработчики не ограничены количеством запусков.
  • Запуск обработчика не завершает переписку, она продолжается до тех пор, пока работает процесс или переписку через ChatAI не прервали элементом ChatAI tools.

Настройки элемента Chat AI: промпты, обработчики, извлечение данных из диалога

Ключ F5AI — все запросы в нейросеть учитываются и биллингуются на сайте f5ai.ru. На нем необходимо зарегистрироваться, создать ключ и сохранить его во вкладке API в виджете Процессы.

Промпт – это набор инструкций для работы нейросети.
В этом поле необходимо описать следующие вещи:
  • добавить любую информацию, о которой должен знать чат-бот в этой конкретной задаче: о компании, о товарах и услугах, ценах, скидках и т.д
  • задать роль боту и какие задач он должен выполнять в переписке: квалифицировать, запрашивать контакты, консультировать по продукту и т.д.
  • как он должен общаться, что должен говорить, и немаловажно, что не должен говорить;
  • через переменные полей можно обогатить промпт данными о клиенте из amoCRM, чтобы общение было более релевантным;
  • можно задать сегодняшнюю дату и время, если это необходимо для задачи, нейросеть по умолчанию не знает в каком времени существует.
Полезная статья о том, как правильно писать промт есть здесь.

Следует учитывать, что чем больше промпт, тем больше будет тратиться на каждый запрос в нейросеть. Рекомендуем добавлять в промпт не более 5-10 тыс. символов.
Не старайтесь решать сразу огромный пул задач, задав боту всеовозможные сценарии работы в одном промпте. Двигайтесь последовательно.

Модель — более высокая модель (на данный момент 4-ая) дает более качественные результаты. Запросы отправляются через Open AI.

Температура - при более высокой температуре ответы будут более творческими, при низкой более точными и “сухими”. Слишком высокие значения могут привести к несвязным ответам и галлюцинациям. Рекомендуем от 0.5 до 1, чтобы ответы были более сбалансированными.

Максимальная длина - ответ от GPT всегда будет обрезан на данное количество символов, даже если он будет неполным.
Ограничить историю сообщений - Если переписка затягивается, это может привести к чрезмерной трате токенов, так как в запросе к нейросети уходит вся история переписки. В какой то момент, история может попросту не влезть в запрос. Этого можно избежать, если ограничить длину цепочки. Chat AI будет удалять сообщения начиная с самых первых, это позволит не раздувать контекст сообщений, однако “долговременная память” нейросети будет сокращаться с каждым новым сообщением.
Рекомендуем решать задачи с помощью нейросети разбивая их на отдельные небольшие последовательности, в зависимости от этапа сделки.

Повторить ответ от GPT, если клиент не ответил в течение
Если клиент не отвечает, бот продублирует свое сообщение один раз.

Обработчики элемента Chat AI

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

У каждого обработчика своя ветвь, по которой проходит процесс, если обработчик сработал. При этом Chat AI продолжает отвечать, пока не завершат его принудительно через Chat AI tool или процесс не завершится самостоятельно. Обработчики могут использовать переменные для сохранения данных из диалога и передачи их по процессу через локальные или процессные переменные.
Название обработчика * – это произвольный текст для себя, для понимания функции обработчика.

Описание обработчика * - здесь нужно кратко, логично и однозначно описать, когда должен запуститься обработчик. Текст может коррелироваться с системным промптом, Chat AI работает с совокупностью этих данных в виде цельной модели поведения и принимает решения о запуске обработчика.
Примеры:
  • “Клиент сообщил номер телефона”
  • “Клиент позвал менеджера”
  • “Разговор зашел в тупик”
  • “Клиент выражает негатив”
  • "Получены все данные для полной квалификации" - например, если в промпте было указано, что для квалификации необходимо запросить конкретно вот эти данные (телефон, email, адрес).

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

Название переменной * - обязательно поле для переменной на латинском. Релевантное название того, что будет храниться в этой переменной. ChatAI на основе ИИ сама понимает, какие данные положить в переменную, исходя из его названия. Например: phone_number, client_name, account_id и т.д.
Для корректной обработки задавайте переменным осмысленные имена латинскими словами:
неправильные переменные: imya, ulitsa, den_rojdeniya
правильные переменные: name, street_address, birthday_date
Тип переменной - не обязательное поле. Можно установить текст, число или флаг.

Флажок “Обязательная переменная” - Если переменную сделать обязательной, то обработчик запустится только в том случае, если переменная известна. Обязательными можно сделать несколько переменных и все они будут влиять на условие запуска.
Пример: для квалификации нам нужно узнать телефон и email. Мы добавляем обработчик “Получены контакты” с двумя этими переменными, и телефон сделаем обязательным. В ходе переписки клиент сообщает email, обработчик не запустится, так как еще нет телефона, бот продолжит общение и попросит телефон, если клиент его сообщает обработчик запускается. Другой клиент сначала сообщает телефон, но не говорит email, в этом случае обработчик запустится сразу, так как email мы не сделали обязательным.

Описание переменной - не обязательное поле. Понятное описание того, что и как будет храниться в переменной. В ней можно прописать модификатор. Например, если написать: “Дата встречи в формате ДД.ММ.ГГГГ”, Chat AI поймёт, что дату нужно отдать в формате “15.04.2024” и не важно, как именно ее озвучил клиент. Это важно, если данные необходимо записать в определенные поля с нужным типом или форматом.

Возможные значения - Список значений, которые может содержать переменная. Например, наше списковое поле в amoCRM содержит значения: PHP, Python, LUA, JavaScript. Если мы пропишем этот список для переменной, то не важно как именно нам напишет клиент в диалоге: яваскрипт, javascript, JS и т.д. На выходе Chat AI поймёт, что имеется в виду и вернёт именно “JavaScript”, сопоставив то, что сказал клиент и выбрав из списка наиболее релевантное значение, которое мы можем записать уже в карточку.

Записать в переменную - Выберите процессную или локальную переменную, в которую запишется значение. Запись в переменную произойдет только в том случае, если обработчик запустился, далее его можно записать в поля карточки или использовать в дальнейшей автоматизации.

Пример настройки нейро-сотрудника – квалификатора входящих заявок

Получим квалификационные данные клиента в чат с помощью Chat AI, и запишем их в поле в amoCRM.
Шаг 1. Создаем процесс "Квалификация" для сущности Сделка.

Шаг2. Добавляем в процесс элемент Chat AI. Пишем системный промт, не забываем основные правила написания хороших запросов - кратко и однозначно, например:

"Ты – дружелюбный и профессиональный чат-бот, задача которого – приветствовать клиентов, квалифицировать их и помогать им с оптовыми закупками. Твоя цель – собрать необходимую информацию, чтобы наш менеджер мог продолжить общение, а также предоставить клиенту полезную информацию о наших условиях и продуктах. Следуй этому сценарию:

  1. Приветствуй клиента и узнай, чем ты можешь помочь.
  2. Если клиент интересуется оптовыми закупками, собери следующую информацию:
  • Имя и контактный номер клиента.
  • Тип продукции, которую он хочет закупать.
  • Ожидаемые объемы закупок.
  • Опыт работы с нашей продукцией (новый клиент или уже закупал).
  • Особые требования к условиям оплаты и доставки.
Сообщи клиенту о наших условиях для оптовых покупателей (скидки, доставка, гибкие условия оплаты).
Предложи организовать звонок с менеджером для более подробной консультации.
Вежливо завершай разговор, предлагая дальнейшую помощь при необходимости."

Шаг 3. Заполним остальные поля: выбираем Модель gpt-4 для наилучшего результата расшифровки, остальные поля можем оставить по умолчанию.

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

Добавим новый обработчик “Сделали квалификацию”, в описании так и напишем “Получили все квалификационные данные”. Это описание коррелирует с нашим промптом, в котором мы задали задачу.

Здесь мы пишем, что получили исчерпывающие данные для квалификации: Имя и Номер телефона, Тип продукции, Объемы закупок и тд.



Шаг 5. Чтобы сохранить полученные данные, нужно использовать переменные. Chat AI сам умеет корректно извлекать нужные данные и даже модифицировать.

  • Имя - укажем понятное для нейросети название переменной, например, "name" с типом текст.
  • Номер телефона - здесь подойдет "phone_number" тоже с типом текст.
  • Тип продукции - "product_type"
  • Дата доставки -"date"
Чем понятнее и однозначнее название переменной, тем лучше будет результат работы нейросети. Поля можно делать обязательными и необязательными. Сделаем Имя и Телефон обязательным полем, для этого поставим галочку рядом с типом поля.

Шаг 6. Обязательным шагом является указание переменных, в которые будут записаны полученные значения.
Для этого следует создать соответствующие Локальные переменные. О переменным и работе с ними подробнее тут.

Для Даты Доставки оставляем тип "Текст". Эту дату мы должны сохранить в поле с типом дата и время. В amo мы должны передать строго фиксированный формат, вот такой 30.05.2024 14:50. И здесь Chat AI снова нас выручит. Выбираем тип поля текст, так как в дате у нас есть точки и пробелы.

И вот здесь нам понадобится задать описание переменной, которое мы еще не использовали. Сюда мы пишем следующий текст “Дата которую выбрал клиент в формате d.m.Y H:i”. Выбираем Локальную переменную и готово.

Шаг 7. Добавим следующий шаг процесса - Изменить Контакт. Записываем всё полученные обязательные переменные, которые мы указали в Chat AI.
Запишем Имя, Номер телефона, или другие поля, если они были получены.
Формат записи:

{{bpmn.proc(name)}}
{{bpmn.proc(phone_number)}}

Так же создадим задачу для связи с клиентом и уточнения данных о его заказе.
Подробнее о том как настроить процесс и работе всех элементов тут.


Элемент Chat AI tool

Chat AI Tool управляет Chat AI: останавливает нейросеть, добавляет сообщения в разговор, отвечает на обработчики и меняет системный промпт. Это позволяет контролировать бота в ходе беседы. Необходимо добавить элемент в выходную ветку после любого обработчика. Когда ветка запускается, Chat AI Tool отвечает на обработчик заданным текстом, после чего Chat AI генерирует новый ответ клиенту, исходя из информации взятой из Chat AI Tool.

Элемент Chat AI tool следует добавлять только на выходную ветку обработчика Chat AI, можно через любое количество промежуточных элементов.

Список возможностей Chat AI tool — как в ходе беседы управлять поведением нейросети

Сообщение от бота - отправляет клиенту конкретный текст без необходимости генерации ответа нейронкой, просто ваш заданный текст. Если нужно добавить текст в историю переписки, но не показывать его клиенту, можно использовать флажок "Не отправлять в чат клиенту". Это позволяет добавлять новые вводные в контекст диалога и менять сценарий, не уведомляя клиента.

Ответ обработчику - запущенный обработчик может принимать ответ. Текст ответа так же анализируется нейросетью и Chat AI самостоятельно делает выводы о том, что написать клиенту.
Пример:
  • В Chat AI есть обработчик, который запускается в тот момент, клиент сообщил желемую дату записи
  • На выход этой ветки мы добавляем элемент "Веб хук", который делает запрос во внешнюю систему с этой датой
  • Если система ответит TRUE, этот ответ мы можем вернуть в через Chat AI tools обратно в ветку
  • Chat AI сам поймет, что запись была успешна и сообщит об этом клиенту.
  • Если система ответит FALSE, Chat AI сам предложит клиенту перезаписаться.
В ответе обработчику может содержаться текст, числа или даже JSON-массив. Chat AI самостоятельно обработает эти данные и примет решение о дальнейших действиях.

Если стоит галочка “Не отправлять ответ в чат клиенту”, Chat AI ничего не напишет клиенту, но данные, пришедшие в ответе, сохранятся в контекст диалога и могут быть использованы в дальнейшей переписке.

Функция ответа обработчику отвечает именно на тот обработчик, на ветке которого он добавлен.

Смена системного промпта - Позволяет изменить поведение нейросети на лету, подменяя текущий системный промпт на другой и перенастраивая весь дальнейший диалог с клиентом.
Например, мы в ходе переписки выяснили, что клиент - оптовик, можно заменить промпт на другие вопросы квалификации и другую модель поведения.

Завершение Chat AI - Останавливает обработку входящих чатов и прекращает ответы нейросети клиенту.
Если эта галочка была использована совместно с функцией “Сообщение от бота”, то сообщение отправится и обработка завершается.
Если галочка была использована совместно с функцией “Ответ обработчику”, то ответ уйдет, Chat AI ответит клиенту, после этого обработка завершится.

Как запустить созданный процесс, чтобы нейросеть начала общаться с клиентами

Переписка начинается при двух условиях
  1. В сделке запущен (активен) процесс, в котором добавлен элемент Chat AI
  2. Пришло входящее сообщение от клиента через канал Chatter

Как сделать так, чтобы процесс автоматически стартовал на все новые заявки?
  1. Зайдите в настройки той воронки, где нужно общаться с клиентами через нейро-консультанта;
  2. Добавьте новый триггер на том этапе, где требуется общение, например, на этапе "Новая заявка";
  3. В триггере на выполнение выберите "При создании беседы входящим сообщением в {выберите каналы подключенные через Chatter}"
  4. Выберите созданный вами процесс
  5. Сохраните настройки воронки
Теперь, при создании беседы, то есть в случае, когда клиент пишет впервые, запустится процесс с Chat AI. Не смотря на то, что на момент поступления сообщения, процесс еще не был запущен, Chat AI подхватит предыдущее сообщение и ответит клиенту через нейросеть.

Автоворонка продаж через нейросети готова!
Полная инструкция по настройке Процессов
Читайте так же
Штаб-квартира «Команды F5»
Лучшие кейсы автоматизаций, новости о выходе новых виджетов и обновлениях действующих.