Обучение AI-чатбота на данных вашего бизнеса
Страх, который останавливает большинство чатбот-проектов, вполне обоснован: бот с полной уверенностью называет неверную цену, и этого никто не замечает, пока не пожалуется клиент. Предотвращается это не выбором модели получше. Это вопрос того, из чего боту разрешено отвечать, что он делает, когда ничего не нашёл, и видите ли вы, какой фрагмент вашего материала породил конкретный ответ. В материале — как знания бизнеса на самом деле попадают в чатбот, как подготовить материал, чтобы его находили корректно, и как проверить результат до встречи с клиентом.
Почему чатботы выдумывают ответы
Языковая модель устроена так, чтобы порождать правдоподобное продолжение текста. Сама по себе она не различает, вспоминает она что-то или конструирует нечто похожее на воспоминание. Спросите у неё ваши условия доставки — и она выдаст условия доставки: гладкие, конкретные и не принадлежащие никакой конкретной компании.
Это не дефект, который убирается новой моделью. Это то, чем модель занимается. Решение архитектурное: боту нужно передать подходящий фрагмент вашего материала и предписать отвечать из него, а также задать поведение для случая, когда подходящего фрагмента нет. Эти две вещи — заземление и запасной сценарий — дают точности больше, чем любое обновление модели.
- Заземления нет: модель отвечает из общих знаний и производит уверенный, но непроверяемый текст.
- Заземление есть, запасного сценария нет: модель отвечает из вашего материала, когда может, и импровизирует, когда не может, — это хуже, потому что сбои теперь достаточно редки, чтобы им доверяли.
- Заземление и запасной сценарий вместе: модель отвечает из вашего материала, а когда материал молчит — признаёт незнание. Это единственная конфигурация, которую безопасно показывать клиентам.
Что здесь на самом деле значит «обучение»
Это слово покрывает две очень разные вещи, и путаница между ними стоит и денег, и времени.
- Дообучение (fine-tuning)Настройка весов модели на примерах. Надёжно меняет стиль, тон и формат. Учить фактам этим способом плохо: знание запекается внутрь, его нельзя посмотреть, и его приходится переделывать при каждом изменении цены.
- Поиск (retrieval) — то, что вам нужноВаш материал хранится, индексируется и ищется в момент поступления вопроса. Найденные фрагменты передаются модели вместе с вопросом, и ответ пишется из них. Факты остаются редактируемыми, изменения действуют сразу, а каждый ответ прослеживается до источника.
Для бизнес-чатбота правильной архитектурой почти всегда является поиск, и «обучение бота» на практике означает построение и поддержание материала, из которого он ищет. Когда поставщик говорит, что бот будет обучен на вашем бизнесе, задайте вопрос: мой прайс — это документ, по которому вы ищете, или набор весов, который придётся пересобирать?
Какой материал использовать и в каком порядке
Чаще всего чатбот-проект встаёт на просьбе написать двести пар «вопрос — ответ» до того, как хоть что-то заработает. Эти ответы уже существуют. Начинайте с того, что записано, в порядке убывания актуальности.
- Ваш сайтОписания услуг, условия и существующий FAQ обычно уже там, и их можно вычитать, а не перепечатывать. Это самый быстрый первый проход, который заодно показывает, какие страницы устарели.
- Каталог товаров с вариациямиЭто важнее, чем звучит. «Красный в 42-м» — вопрос о вариации. Плоский список товаров на него не ответит, а каталог с ценой и остатком по каждой вариации ответит. Фотографии тоже сюда: именно они позволяют сопоставить присланную клиентом картинку с товаром.
- PDF и документыПрайсы, гарантийные условия, технические спецификации, шаблоны договоров. В них лежат ответы, которые поддержка сейчас ищет вручную.
- Прошлые разговорыРеальные вопросы реальных клиентов. Лучший ориентир для подготовки и обычно более честный, чем внутренние догадки о том, что спрашивают.
- Пробелы, закрытые вручнуюВсё оставшееся существует только в чьей-то голове. После четырёх источников выше этот список оказывается намного короче, чем все ожидают, — ради этого их и делают первыми.
Практическое правило остановки: перестаньте добавлять материал, когда оставшиеся вопросы — это те, на которые ваши же сотрудники отвечают по-разному. Это не пробелы базы знаний, а непринятые бизнес-решения, и бот не примет их за вас.
Как подготовить материал, чтобы поиск работал
Поиск ломается скучными способами, и большинство из них чинится в материале, а не в софте.
- Одна тема на фрагмент. Страница, покрывающая доставку, возврат и гарантию в трёх абзацах, плохо находится по всем трём. Разделите её.
- Впишите вопрос в текст. Материал, написанный словами клиентов, находится; материал во внутренней терминологии — нет.
- Типизируйте контент — цены, регламент, товар, часы работы, акция. Типизированную базу можно фильтровать, проверять и выборочно отключать.
- Категоризируйте по значимой для вас структуре: филиал, направление, сезон. Именно это позволяет отключить материал одного филиала, не трогая остальные.
- Никогда не храните один факт дважды. Две версии цены — это не резерв, это подбрасывание монеты.
- Датируйте всё временное. Закончившуюся акцию нужно деактивировать, а не оставлять находиться ещё полгода.
Последний пункт заслуживает акцента: это самая частая причина неверного ответа в базе, которая на старте была правильной, — ничего не убрали. Деактивировать вместо удаления — верный шаблон: материал вернётся в следующем сезоне без переписывания, а до тех пор не будет находиться.
Три механизма против галлюцинаций
Когда материал на месте, надёжность бота определяют три решения по настройке. Просите показать все три, а не описать.
- Отвечать только из найденного материалаИнструкция, управляющая каждым ответом, должна ограничивать модель переданными ей фрагментами. Это не ползунок: либо это заложено в конструкцию, либо нет.
- Задать поведение, когда ничего не найденоПравильное поведение — прямо сказать об этом и предложить человека. Неправильные — импровизировать и отвечать на чуть другой вопрос, материал по которому есть; второе заметить труднее, а вреда от него больше.
- Сохранять источники каждого ответаКаждый ответ должен хранить, из каких фрагментов он собран. Именно это превращает «бот сказал неправду» из спора в пятиминутную правку и оказывается самой полезной функцией для того, кто это сопровождает.
Там, где вопрос чувствителен ко времени, нужен четвёртый механизм. Остатки, статус заказа и доступность меняются быстрее любого проиндексированного документа, поэтому такие ответы должны приходить живым запросом в вашу систему, а не из сохранённого материала. База знаний, которая утверждает, что знает текущий остаток, — это база знаний, которая ошибётся.
Как проверить раньше клиентов
Проверка заземлённого чатбота — это не проверка софта, и лёгкие вопросы не доказывают ничего. Соберите намеренно недружелюбный тестовый набор.
- Вопросы, на которые ваш материал действительно не отвечает. Смотрите, что произойдёт. Это самый важный тест и самый часто пропускаемый.
- Вопросы, ответ на которые недавно изменился, — убедитесь, что бот даёт новый ответ, а не тот, что проиндексирован месяц назад.
- Уточняющие вопросы, имеющие смысл только в контексте: «а красный?», «а для двоих?».
- Вопросы в словах клиента, а не в вашей внутренней терминологии.
- Пограничные вопросы, где два материала похожи: акционная и обычная цена, два филиала с разными часами работы.
- Неудобные: возвраты, жалобы и всё, где неверное обещание создаёт обязательство.
Прогоняйте этот набор после каждого существенного изменения материала и сохраняйте ответы. Регресс в чатботе не виден без базовой точки, и первым его замечать должен не клиент.
Как поддерживать базу после запуска
База знаний — не проект с датой окончания. При правильной конструкции нагрузка по её поддержанию мала, при неправильной — неуправляема.
- Правка текста должна переиндексировать автоматически. Если кому-то надо помнить о кнопке, база поплывёт.
- Один источник истины на факт, общий для всех каналов, включая телефон. Две базы гарантируют два ответа.
- Пересмотр по бизнес-событию, а не по календарю: изменение цены, новый филиал, окончание акции, обновление регламента.
- Регулярное чтение реальных разговоров — именно там обнаруживаются вопросы, к которым никто не думал готовиться.
Разговоры — самый ценный и самый игнорируемый источник. Вопросы клиентов со временем смещаются, и база, обновляемая только при изменении цен, постепенно перестаёт покрывать то, что людям нужно знать.
Как база знаний устроена в Vexvon
Vexvon собирает базу не с чистого листа, а из пяти источников. Ваш сайт обходится автоматически и превращается в очищенный текст — до 4 500 страниц. PDF до 25 МБ разбираются и становятся доступными для поиска. Каталог хранится как структурированные товары: у каждой вариации своя цена и остаток, а фотографии индексируются, чтобы присланную клиентом картинку можно было сопоставить. Из прошлых переписок в Instagram можно сгенерировать набор «вопрос — ответ». Остальное добавляется вручную, при необходимости пакетно — до 200 записей на запрос.
Материал не сваливается в кучу, а организуется: ваши собственные категории и типы контента — FAQ, цены, товар, каталог, филиал, акция, расписание, регламент, — причём тип по возможности определяется автоматически. По окончании акции материал можно деактивировать, а не удалять, и включить обратно в следующем сезоне. При изменении текста поисковый индекс обновляется сам.
Каждый ответ фиксирует, из каких фрагментов знаний он собран, поэтому неверный ответ прослеживается до источника и правится один раз. Когда подходящего контекста нет, бот его не выдумывает: он продолжает разговор и передаёт его вашей команде. Если ответ требует живых данных, во время разговора можно обратиться к вашему собственному API. Каждый материал нацеливается на чат-бота, на голосового агента или на обоих — именно это удерживает цену одинаковой в ответе WhatsApp и в телефонном разговоре.
Частые вопросы
- Как обучить AI-чатбот на данных моего бизнеса?На практике модель не переобучают: из сайта, каталога, документов и прошлых разговоров собирается база с поиском, и бот находит в ней ответ в момент вопроса. Работа состоит в том, чтобы держать эту базу корректной.
- Что такое RAG-чатбот?Генерация с поиском: подходящие фрагменты находятся и передаются модели вместе с вопросом, поэтому ответ пишется из вашего материала, а не из общих знаний модели.
- Можно ли полностью исключить галлюцинации?Их можно снизить до управляемого риска: заземлять каждый ответ на найденном материале, задать явный запасной сценарий и сохранять источники ответов. Гарантию «нуля» от поставщика принимать не стоит.
- Сколько материала нужно для старта?Меньше, чем принято думать. Сайта и актуального каталога или прайса обычно хватает на большинство реальных вопросов. Объём значит гораздо меньше, чем актуальность и однозначность.
- Как не допустить устаревания цен?Держите цену в одном месте, которое читают все каналы, и убедитесь, что её правка автоматически переиндексируется. Большинство случаев со старой ценой — это вторая копия, о которой забыли.
- Должен ли голосовой агент использовать ту же базу?Да. Две базы для одного бизнеса разойдутся, и клиент, которому в чате назвали одну цену, а по телефону другую, нашёл проблему раньше вас.
Принесите на тест свои документы
Единственное демо, на которое стоит идти, — построенное на вашем материале. Возьмите прайс, один регламент и пять вопросов, два из которых ваш материал не покрывает, и посмотрите, что бот делает, когда знания заканчиваются. Именно это поведение, а не гладкие ответы, показывает, безопасно ли систему запускать.