Знакомство с Aimylogic
Aimylogic — это конструктор для создания ботов, а бот — это программа, которая понимает запросы клиентов на естественном языке и реагирует на них по заранее подготовленному сценарию.
Боты одновременно помогают и бизнесу, и его клиентам.
- Через бота клиент может взаимодействовать с системой, сайтом или приложением.
- Боты могут брать на себя рутинные задачи — например, консультировать клиентов, записывать их на прием или принимать заказы.
- Использование ботов освобождает время ваших сотрудников для более сложных задач.
Почему именно Aimylogic
- Aimylogic построен на сложных алгоритмах машинного обучения, благодаря чему боты умеют распознавать намерение клиента и отдельные параметры из его запроса.
Например, вы можете настроить бота так, чтобы в вопросе клиента о погоде в Санкт-Петербурге бот понимал, что речь идет о погоде, распознавал вопрос и упоминание города. - Боты Aimylogic могут понимать и воспроизводить текст и речь.
- В Aimylogic вы можете создавать не только чат-ботов, но и ботов для обзвонов клиентов и приема звонков.
- Чтобы создавать ботов в Aimylogic, вам не нужны знания программирования.
С чего начать
Чтобы создать бота, вам потребуется продумать логику его работы — как он будет реагировать на разные слова и действия клиентов.
Разработайте бота для вашей задачи, а затем опубликуйте его на вашем сайте, в мессенджере, социальной сети либо запустите в телефонном канале.
Перед началом работы с Aimylogic ознакомьтесь со следующими статьями:
Если вы уже умеете создавать ботов в Aimylogic и хотите на этом зарабатывать, вы можете поучаствовать в нашей партнерской программе.
Переменные
Переменная — это «ячейка» памяти, в которой хранятся данные. Данные, которые находятся в переменной, являются значением переменной.
- Объявлять переменные и присваивать им значения.
- Обращаться к переменным.
- Выводить значения переменных клиентам.
- Менять части переменных.
- Получать данные о клиентах из каналов через системную переменную.
В переменной можно хранить имя клиента, ответ от сервера, данные из базы и многое другое. Чтобы использовать эти данные в сценарии, вам достаточно будет сослаться на переменную.
Какие есть переменные в Aimylogic
В Aimylogic есть автоматически генерируемые системные переменные и пользовательские переменные, которые вы можете создавать самостоятельно.
Как создать переменную
Вы можете создать переменную несколькими способами:
- Объявить через блок Условия.
- Сохранить данные от клиента.
- Сохранить результат последнего ввода клиента.
- Сохранить результат HTTP-запроса.
Объявить переменную через блок Условия
Чтобы создать переменную, добавьте блок Условия и укажите нужное JavaScript-выражение. Например, вы можете присвоить число, строку или значение другой переменной.

Сохранить данные от клиента
При помощи блоков text to $var , num to $var , file to $var и phone to $var вы можете сохранить в переменную текст, число, файл или номер телефона.
Когда вы добавляете один из этих блоков, при настройке блока укажите имя для переменной, в которую будут сохранены данные.

Сохранить результат последнего ввода клиента
Когда клиент пишет или говорит что-то, что попадает под какой-либо интент, вся реплика клиента сохраняется в системную переменную $queryText . Когда срабатывает новый интент, данные в переменной $queryText перезаписываются.
Чтобы сохранить ответ клиента и иметь к нему доступ на любом этапе сценария, вы можете создать новую переменную, присвоив ей значение переменной $queryText через блок Условия:



Сохранить результат HTTP-запроса
Aimylogic автоматически сохраняет результат выполнения HTTP-запроса в системную переменную $httpResponse . При выполнении нового запроса данные в переменной $httpResponse перезаписываются.
Чтобы не потерять данные определенного запроса, вы можете присвоить значение $httpResponse новой переменной через блок HTTP-запрос:

Как дать имя переменной
У переменной должно быть имя, чтобы бот мог обращаться к ней в сценарии.
Когда вы создаете переменную любым способом, вы указываете имя переменной самостоятельно. Системные переменные имеют свои зарезервированные имена.
- Может содержать цифры, латинские буквы любого регистра и знаки нижнего подчеркивания.
- Должно начинаться с буквы.
- Не должно совпадать с зарезервированными словами языка JavaScript.
Чтобы добавить переменную в условие или обратиться к ней в сценарии, поставьте $ перед именем переменной: $имя_переменной .
Когда вы создаете переменную через один из блоков из секции Продвинутые инструменты или через блок HTTP-запрос, знак $ перед именем переменной указывать не нужно.
Как использовать переменные
Чтобы использовать ранее созданную переменную, перед ее именем нужно поставить знак $ , например: $client_number .
Добавлять в условия
Вы можете использовать переменные в блоке Условия, чтобы бот менял ход диалога в зависимости от выполнения тех или иных условий.
Например, чтобы бот получил от клиента какое-либо число, а затем сравнил его с другим числом и в зависимости от результата выдал один из ответов:
- Добавьте в сценарий блок Условия.
- Добавьте необходимые JavaScript-выражения, чтобы бот сравнил значение переменной с другим значением. Это может быть число или другая переменная, содержащая число.
Подробнее о сравнении - Свяжите каждое условие с новым экраном.

В зависимости от результатов сравнения бот будет переходить на определенные экраны.
Подставлять в текст
Вы можете добавить значение любой переменной в ответ клиенту. Для этого укажите имя переменной в блоке Текст, используя знак $ :

В сообщении клиенту имя переменной будет автоматически заменено на ее значение.
Например, если клиент угадает число из переменной $number и оно окажется равным 5 , клиент получит следующее сообщение от бота: Да, это число 5.
Подставлять в HTTP-запрос
Чтобы отправить какие-либо данные на сторонний сервер или сформировать динамический запрос, вы можете передавать переменные вместе с запросом.
Каналы публикации бота
Чтобы ваш бот стал доступен всем клиентам, нужно опубликовать его в канале.
Канал — это интерфейс, через который клиент общается с ботом. Это может быть виджет на сайте, чат в мессенджере или голосовой помощник.
Ботов для обзвонов и приемов входящих звонков публиковать в каналах не нужно. Достаточно настроить канал.
Как подключить бота к каналу
- На вкладке Чат-боты на главной странице Aimylogic выберите нужного бота.
- Перейдите на вкладку Каналы. Вы увидите список всех каналов, к которым можно подключить бота.
- Выберите нужный канал из списка, настройте параметры канала и нажмите Подключить.
Вы можете подключить бота к нескольким каналам.
Типы каналов
Aimylogic поддерживает разные типы каналов. Их можно разделить на несколько групп.
Мессенджеры, соцсети и API
Как только у вас появятся клиенты в этих каналах, вы сможете запускать в них рассылки.
Голосовые ассистенты
Бизнес-каналы
- Битрикс24
- edna.chatCenter
- Jivo
- LiveTex
- Webim (External Bot API 2.0)
Операторские каналы
- Aimychat
- LiveTex
- Operator API
- Webim (Custom Channel API)
Чтобы использовать эти каналы, вам нужно добавить в сценарий блок Перевод на оператора.
Операторы в этих каналах могут общаться с клиентами через онлайн-чат на сайте или через мессенджеры и социальные сети, подключенные на стороне операторского канала.
О том, какие есть онлайн-чаты и чем они отличаются друг от друга, читайте в статье про онлайн-чаты.
Интеграции
Вы можете не только публиковать ботов Aimylogic в каналах, но и интегрировать с другими сервисами:
Блок Интенты
Блок Интенты (от англ. intent — намерение) определяет, чего хочет клиент, и направляет его по нужной ветке сценария.
Это самый важный блок в Aimylogic. Он позволяет боту понимать естественный язык при общении с клиентом, а также дает боту возможность следовать по разным веткам сценария в зависимости от ответа клиента.
Интенты работают следующим образом:
- Сначала вы добавляете в блок Интенты слова, примеры или шаблоны фраз, которые могут написать или произнести клиенты.
- После этого вы объясняете боту, что делать, если клиент напишет:
- заданное слово, фразу, синоним слова или похожую фразу;
- фразу, построенную по определенному шаблону.
- Когда клиент отправляет какую-либо фразу на участке сценария с интентом, бот проверяет, подходит ли сказанная фраза под один из добавленных интентов:
- Если да, бот переходит на экран, с которым этот интент связан.
- Если нет, бот идет по ветке Любая другая фраза.
- При необходимости бот сохраняет ответ клиента в отдельную переменную.
Как добавить интент?
Создайте свой интент
Вы можете создать собственный интент со списком своих примеров и шаблонов фраз клиента.
- В палитре блоков выберите Сделать свой интент.

- Перечислите шаблоны и примеры фраз, которые ожидаете получить от клиента. Нажмите Сохранить.

- Свяжите интент с нужным экраном. Если клиент скажет или напишет что-то подходящее под этот интент, бот переведет клиента на экран, с которым создана связь.

Выберите готовый интент
Для вашего удобства мы создали ряд готовых интентов. Они охватывают самые распространенные паттерны поведения клиента, которые могут возникнуть в диалоге — приветствие, согласие, отправка различных данных и многое другое.
Вам не нужно дополнительно описывать готовые интенты примерами и шаблонами фраз — они уже содержатся в интенте.
Часть готовых интентов находится в секции Реплики пользователя палитры блоков. Чтобы увидеть весь перечень готовых интентов, откройте подменю Еще блоки.

Также вы можете добавить один из этих интентов при редактировании блока Интенты, нажав Выбрать готовый интент.
Сделайте интент доступным из любой точки сценария
Обычно бот работает по линейному сценарию — то есть выполняет соединенные связями экраны по порядку.
Однако можно сделать так, чтобы бот распознавал и принимал какую-либо информацию от клиента в любой момент диалога.
Для этого активируйте опцию Сделать доступным из любой точки сценария при редактировании блока.

Теперь бот будет реагировать на этот интент в любой момент диалога.
Выберите реакцию для других фраз
Вариант Любая другая фраза срабатывает, когда клиент вводит что-то, что не подходит ни под один из шаблонов или примеров фраз.
Если вы не свяжете вариант Любая другая фраза ни с одним экраном, то бот будет отвечать Извините, непонятно на любую другую фразу.
Мы рекомендуем всегда связывать вариант Любая другая фраза с каким-либо экраном.
Вы также можете связать этот вариант с тем же самым экраном, на котором находится интент — тогда бот будет оставаться на этом экране до тех пор, пока клиент не введет корректную фразу.

Примеры фраз
Чтобы настроить содержание интента, наведите курсор на блок и нажмите . Откроется список примеров, из которых состоит интент. Если вы добавили готовый интент, он будет указан первым в блоке.
Каждый блок с примерами должен содержать как минимум один вариант фразы, который будет помогать боту распознавать ответ клиента.
Вы можете указать для каждого интента любое количество примеров фраз. Чем больше разнообразных фраз вы укажете, тем точнее бот будет понимать клиента.
Благодаря алгоритмам машинного обучения бот распознает синонимы и словоформы слов, а также извлечет нужные данные из фразы.
Например, вам достаточно написать привет в качестве примера фразы, чтобы бот распознал приветствие в сообщении «Здравствуй, дорогой друг».
Шаблоны
Вместо примеров фраз можно указать шаблоны фраз, чтобы бот реагировал только на подходящие под шаблон фразы.
В отличие от примеров фраз, шаблоны не расширяются синонимами.
Указывайте шаблоны в соответствии с синтаксисом шаблонов, который мы разработали для обработки запросов на естественном языке.
Переключение между примером и шаблоном фразы
По умолчанию, когда вы переходите в редактирование блока Интенты и начинаете добавлять строки, они добавляются как примеры фраз, а не как шаблоны. Об этом свидетельствует иконка слева от каждой фразы.
Чтобы сделать фразу шаблоном, нажмите на иконку напротив каждой фразы. Она изменится на иконку .
На одном экране можно добавлять примеры фраз и шаблоны одновременно.
Сохранение ответа клиента
Каждая реплика клиента автоматически сохраняется в системную переменную $queryText , которую затем можно использовать на следующих экранах сценария.
Реплика хранится в переменной $queryText до тех пор, пока не будет выполнен новый запрос или не сработает другой интент.
Чтобы сохранить реплику до конца сценария, создайте отдельную переменную и присвойте ей значение переменной $queryText до выполнения нового запроса в сценарии.
Использование сущностей для записи выбора клиента в переменную
Вы можете использовать сущности в интентах, чтобы принимать и записывать выбор клиента.
Для примера создайте справочник $fruit , поместите туда сущности яблоко и груша , добавьте несколько синонимов для каждой сущности.

Добавьте в сценарий экран с текстом Выберите фрукт.
На этот же экран добавьте блок Интенты и укажите в нем выражение:
$fruit::fruitchoice
Этот интент будет принимать от клиента синонимы из справочника $fruit и записывать сущность, к которой относится тот или иной синоним, в переменную $fruitchoice .
Записанную сущность можно будет вывести в сценарии: