Агенты
Настройте поведение бота
Общая информация
Агенты умеет вести полноценный диалог с пользователем с поддержкой истории сообщений, ищет данные по базе знаний, Первой линии и задаёт дополнительные вопросы пользователю.
При получении запроса от пользователя агент в первую очередь проверяет наличие ответа в Первой линии.
Стоимость обработки сообщений агентом не фиксирована, а варьируется от количества действий, совершенных агентом для ответа. За каждое действие агента, требующее обращение к ИИ, взымается 1 кредит.
Если у вашего бота нет первой линии, то агент не будет искать ответы в ней. Соответственно это может снизить стоимость обработки отдельного сообщения на 1 кредит
Настройка инструкции
Используйте настройку инструкции, чтобы ознакомить агента с вашей предметной областью, задать стиль общения и сценарии его работы. Для хорошего описания инструкции следуйте общим правилам написания инструкций к ЛЛМ:
- Четкая инструкция: Убедитесь, что инструкция устанавливает четкую роль для агента. Это должно хорошо объяснять, что от бота ожидают пользователи.
- Структурированные инструкции: Ваши инструкции должны включать четкие, корректные и последовательные правила для агента, чтобы улучшить его реакцию на разные запросы.
Если пользователь обращается с просьбой найти тур, то следуй сценарию “Поиск тура”
Сценарий “Поиск тура”:
- Уточни город вылета и желаемое направление
- Для поиска тура используй запрос формата: Поиск тура “Город вылета” / “Город или страна прилета” *
- При первом поиске тура не уточняй дополнительные детали
- Предоставляй туры в виде структурированного списка:
- Город вылета
- Город прилета
- Дата вылета и кол-во ночей
- Цена
- Ссылка на тур
- Если пользователь выбирает тур, то собери данные о туристах: ФИО, номер телефона, кол-во туристов
- Когда все данные собраны, то переведи диалог на оператора
В данном примере задается формат, в котором агент будет искать туры по Базе знаний. “Поиск тура” позволяет агенту выбрать документ с заголовком “Поиск тура”, который должен содержать информацию о доступных турах.
- Предусмотрение направлений разговора: Важно предусмотреть потенциальные направления диалога и сценарии ошибок. Если вы пишите агенту какое-то условие, то важно описать оба варианта действий: когда условие выполняется и когда не выполняется.
Если тур не найден, не говори что нет подходящих туров. Переведи на оператора и скажи, что оператор обязательно поможет найти.
- Гибкость в ответах: Хорошая инструкция допускает гибкость в ответах агента, чтобы обеспечить более естественное взаимодействие с пользователем.
- Используйте специфические примеры: Предоставляйте конкретные примеры ожидаемого поведения в ваших инструкциях, чтобы убедиться, что агент понимает, как должен выглядеть его ответ.
Пример диалога: - тур - Добрый день, подскажите из какого города планируется вылет и какое направление Вас интересует? - Турция из Москвы - примеры туров… - Спасибо, я выберу первый - Отлично, скажите Ваши ФИО и номер телефона, чтобы я мог забронировать тур для вас - …
Навыки
На данный момент для настройки доступны три навыка - Полиглот
, Фильтрация
и Выбор исполнителя
. Вы можете в любое время включать\выключать данные навыки, а также дописывать необходимые правила для них.
Полиглот
Навык полиглот позволяет настроить языки, на которых бот может отвечать. Для того, чтобы решить, на каком языке отвечать, бот берет текст вопроса клиента и выбирает наиболее подходящий язык из списка, который был задан при настройке навыка. Если нужного языка в списке нет - бот отвечает на основном языке, который задается в общих настройках бота.
Стоимость навыка 0.1 кредит. Если навык включен, к цене любого текстового ответа бота всегда добавляется 0.1 кредита.
Фильтрация
Навык фильтрации позволяет пропускать сообщения, которые предположительно содержат спам или не должны обрабатываться вообще. Необходимо описать правила - какие сообщения относятся к спаму. После чего бот будет игнорировать все подходящие под условия сообщения. Остальные сообщения проходят на дальнейшую обработку.
Стоимость успешной фильтрации одного спам-сообщения 0.1 кредита. Вы можете настроить и включить данный навык на вкладке Фильтрация на странице Агенты.
Пример настройки навыка:
Выбор исполнителя
Навык выбора исполнителя позволяет настроить правила для перевода на оператора, т.е. ограничить темы, по которым бот будет отвечать. Настройка работает по аналогии с навыком фильтрации.
Стоимость успешного срабатывания данного навыка в случае перевода на оператора - 0.2 кредита.
Пример настройки навыка:
Вызов функций внешних API
Агент может вызывать пользовательские функции с помощью http-запросов. Например, агент может уточнить у пользователя номер заказа, вызвать http-метод
https://endpoint/api/get_order=1
и предоставить пользователю информацию о его заказе.
Агент поддерживает GET и POST запросы. Для POST запросов тело запроса должно быть application/json
. Поддерживается передача заголовков, в том числе и Authorization
.
На странице Агенты -> Ответ нажмите Добавить функцию
, откроется окно для создания функции.
Основная структура JSON-описания
На вкладке Описание необходимо добавить JSON, который должен следовать строгому формату.
name
(строка)
Описание: Уникальное имя функции, отражающее её цель.
Пример:
description
(строка)
Описание: Краткое описание назначения функции.
Пример:
parameters
(объект)
Описание: Определяет входные параметры, которые принимает функция.
Состав:
- type (объект): Указывает, что параметры являются объектом.
- properties (объект): Описывает все ожидаемые свойства (поля).
- required (массив): Указывает обязательные для передачи поля.
Пример:
Типы данных
string
Описание: Простой текст.
Поля:
- description (строка): Объясняет, что представляет собой строка.
- pattern (строка): Регулярное выражение для проверки формата.
Пример:
number
Описание: Числовое значение, может быть как целым, так и дробным.
Поля:
- description (строка): Объясняет, что означает число.
Пример:
object
Описание: Сложная структура, содержащая взаимосвязанные поля.
Поля:
- properties (объект): Описывает составные части объекта.
- required (массив): Определяет обязательные поля внутри объекта.
Пример:
array
Описание: Коллекция данных, может содержать как простые, так и сложные типы.
Поля:
- items (объект): Описывает тип данных, содержащийся в массиве.
- description (строка): Объясняет, что представляет собой массив.
Пример:
Пример полной функции
Действие
На вкладке Действия настраивается вызов вебхука. Если вы верно указали описание функции, то автоматически появятся кнопки с доступными аргументами.
В примере по умолчанию это location
и unit
.
Данные кнопки позволяет вставить переменные, с которыми агент вызывает функцию, в шаблоны Вебхук URL и тела запроса.
Настройки агента
Тестирование
На странице Агенты также доступен функционал по клонированию и удалению агентов. Данная функция позволяет улучшать и тестировать инструкцию и навыки, не влияя на текущих клиентов.
Как лучше всего тестировать агента:
- Клонируйте текущего агента;
- Внесите изменения в навыки, инструкцию или настройки;
- Перейдите на вкладку тестирование, выберите нового агента и оцените результаты исправлений;
- Если все отлично, вы можете включить нового агента в работу, старый агент будет выключен автоматически.
Полезные приёмы
- Если необходимо, чтобы бот отвечал по какой-то теме на основе своих общих знаний, то можно использовать инструкцию вида:
Если пользователь спрашивает про <ваша тема>, то ты можешь использовать свои общие знания, для таких вопросов не ищи в первой линии или в базе знаний, сразу отвечай, то, что ты знаешь.
Ограничения
- На данный момент агент получает около 10 последних сообщений с пользователем, значение может изменяться как в меньшую так и в большую сторону.
- Для ответа на вопрос агенту доступны данные из базы знаний, которые он искал в последний раз, данные из предыдущих поисков он “забывает”.
- Агент не умеет считывать информацию с каких-либо сайтов (переходить по URL), кроме той, что добавлена в Базу знаний.