Давайте поговоримо про недоліки та обмеження платформи Dialogflow. З якими складнощами можна зіткнутися під час створення чат-ботів.
Немає доступу до аудиторії
Ви намагалися розбиратися з такими платформами, як ManyChat та Chatfuel? Напевно знаєте, що в них є можливість переглянути список користувачів, які взаємодіяли з чат-ботом.
Не намагайтеся шукати щось подібне у Dialogflow. Тут немає такого розділу. З одного боку, це може шокувати. Як же так?! Витрачаємо гроші на залучення, рекламуємо бота, але не бачимо навіть кількості підписників, не кажучи вже про хоча б примітивну сегментацію по мові, віку тощо.
Отримати доступ до параметрів користувачів звичайно можна, але доведеться написати невелику функцію і зіткнутися з програмуванням. Засмучуватися не варто. Краще спробуйте відповісти самі собі на запитання, “Навіщо мені список підписників?”. Що робити з ними? 😄
Тут ми одразу переходимо до наступного нюансу Dialogаlow.
Відсутність розсилок
Звикли до чат-ботів, які вміють надсилати користувачеві повідомлення по розкладу? А от Dialogflow так не вміє робити. Він лише реагує на наміри користувача і ніколи не вступає в діалог перший. Добре це чи погано? Особисто я вважаю, що добре. Чим частіше я спостерігаю, як чат-боти перетворюються на інструмент спам-розсилок, тим більше задоволення отримую від платформи Dialogflow.
Потрібні розсилки? Не проблема. Нехай бот попросить у користувача email та зробить розсилку поштою, використовуючи потужності таких email-сервісів, як Sendgrid.
Жодних пауз по кілька годин, як це часто робиться в ManyChat. При розробці чат-бота враховуйте, що ви намагаєтесь побудувати симуляцію взаємодії двох людей. У розмові ви не повинні змушувати іншу людину чекати. Всі ваші запити повинні бути виконані протягом 4-5 секунд (щоб уникнути перевищення часу очікування платформою).
Складність інтеграції з іншими сервісами
Незважаючи на те, що Dialogflow — це продукт Google, у ньому немає інтеграції навіть із Google Spreadsheet (таблицями), не кажучи вже про PayPal або хоч якийсь CRM. Під “немає інтеграції” я маю на увазі інтеграцію “з коробки”, коли в кілька кліків можна підключити бот-платформу до стороннього продукту.
Але з іншого боку, Dialogflow можна підключити практично до будь-якого сервісу, якщо правильно налаштувати наступний ланцюжок:
Як бачимо на схемі, Dialogflow виконує роль “прийняти текст " - “повернути текст”, не більше. Плюс є можливість повідомити сервер про настання події (webhook-запит). На сервері у вас має бути заздалегідь створена функція (webhook functiuon), яка прийме інформацію про діалог, включаючи дані користувача та всю іншу вступну інформацію. Далі проводиться обмін даними зі стороннім сервісом і назад у Dialogflow повертається відповідь. А Dialogflow генерує responses для показу користувачеві.
Так, це звучить складно, але цілком під силу більшості читачів цієї статті. Впевнений, ви серед них! 😄
Складність проектування
Чим більшим стає ваш бот, тим складніше стане його підтримувати. На превеликий жаль, Dialogflow не має вбудованих інструментів для наочного схематичного представлення бота. Нічого, вихід завжди є. Малюйте схему бота в блокноті або в таких сервісах, як Miro, Lucidchart тощо.
Уповільнення платформи
Dialogflow – штука повільна і її робота не завжди піддається логіці. Всю “принадність” ви помітите на великих чат-ботах, коли після кожного збереження доведеться чекати по кілька годин (!!!), щоб нейронна мережа підготувалася до роботи.
Почитайте мою попередню статтю про налаштування Dialogflow, там є методи оптимізації платформи.
Написання коду навіть для найпростіших дій
Як ви вирішували б наступне завдання в ManyChat? Користувач вводить значення X, потім вводить значення Y, а бот повинен підрахувати суму X+Y та вивести відповідь на екран. Очевидно, що при використанні custom fields це завдання вирішується за 5 - 10 секунд.
А що ж Dialogflow? 😄 Він таке зробити не зможе. Подивіться ще раз схему, яку я описував вище про webhook. Вам потрібно повертатися до неї, щоб підсумувати два числа. Насправді нічого складного. Функція повинна приймати на вхід agent, з якого можна отримати значення параметрів. Наприклад: agent.parameters[‘num1’] та agent.parameters[‘num2’]. Підсумовуємо їх та повертаємо відповідь у вигляді agent.add(‘Сума чисел: ’ + sum);
Згодом зрозумієте, то не так складно.
Dialogflow — це конструктор, з якого ви зможете збирати складні продукти, які можуть інтегруватися з будь-якими засобами комунікації (власні мобільні додатки та веб-сайти, месенджери, sms, email, голос тощо) .
Не забувайте заглядати на 👉 мій YouTube-канал