Что Knowdesk делает с обращением клиента
Пять узлов, через которые проходит вопрос: база знаний, ответ бота, решение о передаче, работа оператора и проверка состояния клиента в вашем API.
База знаний
Статьи загружаются перетаскиванием: Markdown, обычный текст или
.zip со всей базой целиком. Файлы режутся по заголовкам,
и каждый фрагмент попадает сразу в два индекса: один ищет по смыслу,
второй по точным совпадениям.
Поиск гибридный, и это принципиально. Поиск по смыслу находит переформулировки: клиент пишет «висит выгрузка», а в статье написано «обмен не завершается». Полнотекстовый находит то, что смысла не имеет: код ошибки, название настройки, артикул. Результаты обеих половин сливаются в один список и переранжируются, после чего оценка приходит в понятной шкале от нуля до единицы.
Рядом с загрузкой стоит проба. Вводите настоящий вопрос клиента и сразу видите, какие фрагменты найдёт бот и с какой оценкой. Это единственный способ понять, готова ли база, не дожидаясь живых обращений.
Шкала оценки после переранжирования
- Фрагмент отвечает на вопрос
- 0.75 – 0.94
- Фрагмент по теме, но не про это
- 0.45 – 0.60
- Посторонний фрагмент
- 0.25 – 0.44
Порог по умолчанию 0.50 стоит между двумя нижними полосами, поэтому работает без настройки.
Ответ бота
Найденные фрагменты уходят в языковую модель вместе с вопросом и последними репликами разговора. Ответ печатается по мере генерации: клиент видит первые слова через секунду, а не пустой экран на десять.
Инструкцию боту можно дописать своей: как обращаться, что запрещено обещать, куда отправлять за оплатой. Она добавляется к базовой, а не заменяет её, поэтому правила безопасности остаются на месте.
Отдельно настраивается список фраз-отказов. Если ответ содержит любую из них, вопрос считается неотвеченным и уходит человеку, даже когда формально бот что-то написал.
Операторская консоль
Очередь с четырьмя вкладками, переписка по центру, контекст справа. В контексте — причина, по которой бот передал разговор, и что он нашёл в базе знаний, с оценками. Оператор начинает не с нуля, а с того места, где бот остановился.
Внутренние заметки живут в той же ленте, что и сообщения, и клиенту не видны. Частые ответы сохраняются шаблонами. Консоль ставится на телефон как приложение и работает в отдельном окне без адресной строки.
Пока в диалоге человек, бот молчит при любых условиях. Клиент возвращается к боту только после того, как обращение закрыто.
Вкладки очереди
Ждут ответа, в работе, мои, закрытые
Заметки
В общей ленте, скрыты от клиента
Шаблоны
Частые ответы в один клик
Установка
Приложение на телефон и на рабочий стол
Виджет на сайте
Одна строка перед закрывающим тегом </body>.
Домены, на которых виджет открывается, перечисляются в настройках:
с чужого сайта он не запустится.
Если посетитель уже авторизован на вашем сайте, передайте его идентификатор с подписью. Бот поймёт, с кем говорит, и не станет спрашивать то, что вы уже знаете. Можно пойти дальше и открывать чат только авторизованным.
Переписка и ключ посетителя хранятся в хранилище вашей страницы, а не внутри рамки чата: Safari блокирует стороннему контексту доступ к хранилищу, и история терялась бы при каждом заходе.
Диагностика через ваш API
Возможность для технических продуктов, где ответ зависит от состояния конкретного клиента. Вы загружаете описание своего API в формате OpenAPI, отмечаете безопасные операции и описываете диагностические поля: что бот должен узнать у клиента и где тот это возьмёт.
Дальше бот спрашивает сам, подставляет значение в запрос и отвечает по факту, а не по догадке. Обязательный режим требует, чтобы проверка прошла до ответа: если данных не хватило или вызов сорвался, разговор уходит оператору.
Три ограничения, на которых держится безопасность:
- Метод и путь берутся из базы по идентификатору операции. Модель поставляет только значения, поэтому подставить произвольный вызов она не может.
- Параметр, привязанный к проверенной личности клиента, не попадает в схему инструмента вовсе. Чужой идентификатор подставить некуда.
- Внешние ссылки в спецификации отклоняются до разбора, адрес проверяется перед каждым вызовом, а путь со слешем внутри параметра не принимается.
Возможность доступна на тарифе Pro.
Проверьте на своих вопросах
Загрузите десяток статей, задайте настоящий вопрос клиента и посмотрите, что найдёт бот. На это уходит меньше времени, чем на чтение этой страницы.