Как обучить ИИ-агента на своей базе знаний
Обучить ИИ-агента — значит разобрать материалы на отдельные темы «вопрос — полный ответ», убрать смысловые дубли и дальше пополнять базу вопросами, на которые агент не ответил. Загрузка сайта одним куском обучением не считается: агент отвечает только тем, что в базе знаний уже лежит.
Вопрос «как обучить ИИ-агента» звучит так, будто есть кнопка «загрузить сайт». Кнопка есть, обучение начинается после неё. Ниже — как материалы превращаются в темы, почему дубли опаснее пробелов, что при разборе теряется и как принимать результат.
Короткий ответ
- Обучение — разбор, а не загрузка. Страница или файл делится на части, из каждой части извлекаются темы вида «вопрос — полный ответ». Одна страница сайта обычно даёт не одну тему, а несколько.
- Дубли снимаются дважды: по словам и по смыслу. Сначала сравниваются формулировки вопросов, потом — их векторы. Иначе один и тот же факт, записанный разными словами, ложится в базу дважды и начинает сам себе противоречить.
- Переобучение меняет темы источника, а не всю базу. Страница изменилась — её прежние темы снимаются, новые встают на их место. Темы, написанные руками, остаются.
- После запуска работает накопитель неотвеченных вопросов. Туда попадает каждый вопрос, где агент не уверен или зовёт человека. База знаний пополняется из накопителя, а не из головы.
- Цена: разработка от 20 000 ₽, поддержка от 5 000 ₽ в месяц. Работа самого агента считается по расходу токенов. Точная смета — после разбора задачи и до начала работ.
Что значит «обучить ИИ-агента»: темы, а не текст
Модель не запоминает ваши материалы. При каждом вопросе в неё уходит системный промпт и подобранные под этот вопрос куски базы: несколько тем и несколько фрагментов, а совсем небольшая база уходит целиком. Из этого следует всё остальное.
Первое следствие: тема обязана быть самодостаточной. Она попадает в модель без соседей, поэтому ответ «тут всё как в предыдущем пункте» бесполезен. Мы извлекаем не «фрагменты текста», а пары «вопрос — полный ответ»: вопрос нужен, чтобы тему нашли, ответ — чтобы он работал в одиночку.
Второе следствие: в базе нельзя держать куски, нарезанные по размеру. Условие уезжает в один кусок, цена — в другой, и агент отвечает цену без условия, выглядя при этом уверенно. По размеру материал режется только для того, чтобы отдать его модели на разбор; сами куски в базу не попадают.
Как идёт разбор у нас:
- страница или файл делится на части: часть — это либо одна страница, либо кусок текста такого размера, чтобы модель разобрала его за один запрос;
- каждая часть уходит в модель, та возвращает темы с вопросами, синонимами и полными ответами;
- части считаются параллельно, иначе разбор многостраничного сайта превращается в долгое ожидание;
- темы вливаются в базу после каждой пачки, и следующая пачка видит их при проверке на дубли.
Разбор стоит денег: каждая часть — отдельный запрос к модели. Поэтому обходить весь сайт «на всякий случай» смысла нет.
Пять источников знаний и что из каждого выйдет
Три источника вы отдаёте до запуска, два появляются после. Последние дают самые точные темы: они берутся из живых разговоров.
| Источник | Что из него выйдет | Как обновлять |
|---|---|---|
| Страница сайта по ссылке | темы по тексту страницы; обход ограничен и по числу страниц, и по времени | переобучить источник — его темы заменяются |
| Файл PDF, DOCX или TXT | темы по тексту файла; таблицы разваливаются, картинки теряются | загрузить новую версию файла и переобучить его |
| Текст, написанный руками | одна-две точные темы с формулировкой, которую агент не меняет | правкой темы; при переобучении сайта не стирается |
| Ответ оператора из диалога | готовая тема из живого ответа человека | отправить в базу кнопкой в диалоге |
| Накопитель неотвеченных | список вопросов без ответов — заготовки для новых тем | разбирать раз в неделю после запуска |
Про третью строку отдельно. Ручные темы помечены как ручные, и переобучение сайта их не трогает. Другого способа держать в базе то, чего на сайте нет, не существует. У нашего собственного агента рядом с темами, собранными по сайту, лежит рассказ владельца текстом — без него агент знал бы ровно то, что написано на посадочных страницах.
Почему две темы об одном факте хуже одной
Самая частая порча базы — не пробел, а противоречие. Цена лежит на странице сайта и в PDF-прайсе, а в прайсе она прошлогодняя. Обе темы подберутся под один вопрос и обе уйдут в модель, а выбор между ними от вас уже не зависит. Поэтому дубли снимаются на входе, двумя способами.
По словам. Сравниваются формулировки вопросов, приведённые к основам слов. Так ловятся темы, собранные с двух почти одинаковых страниц: карточки услуги и её же анонса на главной.
По смыслу. Для каждой темы считается вектор, темы сравниваются по близости векторов. Совсем близкие объединяются сразу. Для полосы «похоже, но не наверняка» одного вектора недостаточно: там тема считается дублем только при пересечении слов, потому что похожий смысл при совершенно разной лексике часто оказывается двумя разными вопросами.
Пороги не берут из головы и не привозят из чужого проекта: их калибруют на той же базе, руками читая пары, которые движок счёл дублями. Чужой порог склеит два разных вопроса в один ответ или пропустит пару противоречий — и увидите вы это уже в переписке с клиентом.
Следствие для заказчика: один факт — одно место. Если прайс есть файлом, те же цены со страницы сайта собирать не надо.
Переобучение по сайту: меняются темы источника, а не вся база
На сайте поменялась страница с ценами. Дальше два способа, и разница между ними видна не сразу. Плохой — обучить агента заново целиком: ручные правки и темы из живых диалогов исчезнут, база вернётся к состоянию «что написано на сайте». Хороший — переобучить один источник: прежние темы этой страницы снимаются, новые встают на их место, остальное не трогается.
Поэтому каждая тема помнит свой источник. Без этого «обновить цены» превращается в полную пересборку, а пересборка стирает всё, что добавлено руками.
Переобучение — операция регулярная: поменяли прайс, добавили услугу, закрыли направление — переобучили затронутый источник. В цену разработки и поддержки оно входит, отдельной строкой «обучение» мы не выставляем.
База знаний по ссылке и из документов: что берётся, что теряется
Сбор по ссылке выглядит просто: даёте адрес, движок ходит по сайту сам. Внутри HTML превращается в текст, меню, подвал и баннеры выбрасываются, страницы-дубли снимаются, ссылки обходятся по весу — сначала «Цены», «Услуги», «Контакты», «Вопросы и ответы». Обход ограничен и по числу страниц, и по времени: иначе движок уйдёт в архив новостей и не вернётся. Большой каталог целиком не попадёт, и это правильно: тысяча карточек товара — задача для запроса в вашу систему.
Что теряется, и здесь важно не обманываться:
- Картинки. Прайс картинкой текстом не станет, сканированный PDF без текстового слоя даст пустоту.
- Таблицы. Из HTML и DOCX таблица извлекается текстом и теряет связь строки со столбцом. Сложную таблицу надёжнее переписать руками.
- Закрытые разделы. Всё, что за авторизацией, движок не видит.
- Изменчивые данные. Наличие, статус заказа, свободные слоты устареют к вечеру. Это работа инструмента: агент запрашивает систему и отвечает тем, что она вернула.
- Произвольная ссылка на Instagram*. Спарсить профиль по ссылке нельзя, Instagram* закрывает такое чтение. Берётся только подключённый к боту аккаунт через официальный API.
Накопитель неотвеченных вопросов — главный инструмент после запуска
До запуска вы обучаете агента на том, что считаете важным. После запуска клиенты спрашивают другое. Разница между этими списками и есть настоящая работа по обучению.
Вопрос попадает в накопитель в двух случаях: агент не уверен в ответе или зовёт человека. Раз в неделю список разбирается: часть становится новыми темами, часть — правилом по теме, часть осознанно остаётся человеку.
Как накопитель был сломан у нас. Запись шла двумя ветками: одна срабатывала, когда агент не уверен и человека не зовёт, вторая — когда зовёт и при этом уверен. Сочетание «и не уверен, и зову человека» не покрывала ни одна, а это самый ценный случай: клиент спросил то, чего в базе нет, и разговор ушёл оператору. Такие вопросы не попадали ни в накопитель, ни в уведомление владельцу. Нашли уже на живом запуске: запись перенесли ко входу, до всякого ветвления, и проверили на всех сочетаниях условий.
Второй вывод оттуда же: запись делается до того, как агент решит промолчать. Если он настроен при неуверенности не отвечать, вопрос вообще не виден в переписке — без накопителя он исчезает бесследно. Поэтому у подрядчика стоит спросить, где лежат вопросы без ответа и кто их разбирает.
Как принимать обучение: 30 живых вопросов и слепое сравнение
«Вроде отвечает нормально» — не приёмка. Ответы ИИ-агента ломаются тихо: текст остаётся гладким, а факт в нём меняется — именно так и выглядит случай, когда ИИ-агент придумывает вместо честного «не знаю». Приёмка и любая последующая правка идут у нас одним порядком.
- Собрать корпус из 30 настоящих вопросов из журнала: многоходовые диалоги с историей, короткие продолжения вроде «да» или «второй вариант», случаи, где агент ушёл в «не знаю», и обычные вопросы. Половина — с историей: работа с контекстом ломается первой.
- Прогнать корпус без записи в диалоги, чтобы клиенты ничего не получили.
- Сравнить ответы до и после правки слепо, порядок случайный.
Почему так строго. Один раз мы сократили системный промпт «по здравому смыслу» — и слепое сравнение показало, что старая версия отвечает лучше новой. Причина нашлась в одной строке: жёсткое «не переспрашивай» модель прочитала как разрешение додумывать характеристики товара. После оговорки, что запрет переспрашивать не разрешает выдумывать, сравнение развернулось в пользу новой версии. Правило отсюда: правка промпта или базы без замера не считается сделанной.
И отдельно про «не знаю». Честный отказ — хороший результат приёмки, а не брак. Если в базе про интеграцию с amoCRM не сказано ничего, «не знаю» — единственный ответ, который не придётся потом отзывать; всё остальное агент придумает.
Чего делать не надо
- Не считать обучение разовой работой. Залить сайт и забыть — способ получить агента, который уверенно рассказывает прошлогодние цены.
- Не класть в базу изменчивые данные. Наличие, сроки доставки, статус заказа, свободное время — только запросом в систему.
- Не отдавать агенту формулировки, которые нельзя перефразировать. Юридические тексты, дозировки, условия возврата выдаёт сценарий готовым текстом.
- Не обучать по чужому сайту. Чужие условия в своей базе — прямой путь к обещанию, которого вы не выполните.
- Не запускать агента без правила «зову человека». Иначе клиент быстрее доходит до места, где ему никто не отвечает: вопросы приходят и поздним вечером, и в выходные, когда оператора рядом нет, а агент как раз в этот момент упирается в границу базы знаний.
- Не начинать с ИИ-агента, если материалов нет. Если условия существуют только в голове владельца, сначала их надо записать текстом.
- Не заказывать агента при единицах обращений в неделю. Меню из пяти кнопок или простой автоответчик в Telegram закроют задачу, а разбор материалов и наблюдение не окупятся. Разница между конструктором и разработкой разобрана в статье про то, сколько стоит разработка чат-бота.
Ограничения каналов, которые база знаний не отменяет
Обученный агент не меняет правил мессенджеров: знания влияют на то, что он скажет, а не на то, кому и когда разрешено написать.
| Канал | Кто делает первый шаг | Что это значит для обученного агента |
|---|---|---|
| Telegram | человек нажимает «Запустить» | без точки входа базе знаний не с кем разговаривать; рассылки по базе телефонов нет |
| ВКонтакте | сообщество пишет первым тому, кто разрешил сообщения, бессрочно | можно вернуться к старому диалогу, никакого окна 24 часа у ВК нет |
| МАКС | человек сам начинает диалог | нужна верификация профиля и доверенный российский корневой сертификат |
| Instagram* | комментарий, реакция на сторис или кодовое слово в личных сообщениях | первый директ уходит как Private Reply, попытка одна |
Деталь про Instagram*, важная для обучения: попытка отправить первый директ после комментария ровно одна. Отказ сжигает слот, повтор не спасает, спасает публичная подсказка в комментариях. Поэтому темы для этого канала пишутся короче и однозначнее — второго шанса не будет. Разбор по всем четырём каналам есть в статье про то, кто может написать клиенту первым. WhatsApp в России мы не продаём.
В МАКС своё: бота заводит организация, ИП или самозанятый — резидент РФ, профиль проходит верификацию, она занимает несколько рабочих дней. Это единственный срок, который мы называем, и он от нас не зависит.
Сколько стоит обучение ИИ-агента
Отдельной цены за обучение у нас нет — оно часть работы, а цена ИИ-агента складывается из разработки, поддержки и расхода токенов.
- Разработка — от 20 000 ₽. Разбор материалов, сборка базы знаний, промпт, подключение канала, правило передачи разговора человеку. Точная цифра называется после разбора задачи и до начала работ.
- Поддержка — от 5 000 ₽ в месяц. Разбор накопителя, переобучение изменившихся источников, правки промпта с замером — что ещё входит в поддержку бота, разобрано построчно.
- Работа агента — по расходу токенов. Сколько агент потратил на ответы, столько его работа и стоила; фиксированной ставки за месяц нет. База влияет на расход напрямую: чем больше кусков подмешано к вопросу, тем дороже ответ. Неизменное начало запроса при этом кэшируется, поэтому промпт и правила держат в стабильной части, а не тасуют при каждом обращении.
- Оплата зарубежных ИИ-сервисов. Часть моделей российской картой не оплачивается; помогаем провести оплату иностранными картами. В разработку и поддержку эти деньги не входят.
Сроков мы не обещаем: они зависят от скорости, с которой приходят материалы и доступы.
Что запомнить
- Условия, которые существуют только в голове владельца, обучением не станут: сначала их записывают текстом, потом отдают на разбор.
- Прайс файлом и те же цены страницей сайта — заготовка противоречия: в базе один факт должен лежать один раз.
- Изменчивые данные — наличие, свободные слоты, статус заказа — в базу не кладут вообще: их берут запросом в вашу систему.
- Обновился сайт — переобучают затронутый источник, а не всё целиком: полная пересборка стирает ручные правки и темы из живых диалогов.
- После запуска работа не кончается: накопитель неотвеченных разбирают раз в неделю, а любую правку промпта проверяют слепым сравнением на живых вопросах.
- Цены: разработка от 20 000 ₽, поддержка от 5 000 ₽ в месяц, работа агента — по расходу токенов. Точная смета — после разбора задачи и до начала работ.
Нужен разбор конкретной базы знаний — напишите в нашем боте в Telegram: посмотрим сайт и документы и скажем, чего в базе знаний не хватит. Другие разборы собраны в разделе ИИ-агенты и нейросети в ботах.
Частые вопросы
Как обучить ИИ-агента на своих данных?
Дать три вида материалов: страницы сайта по ссылке, файлы PDF, DOCX или TXT и темы, написанные руками. Движок делит материал на части и извлекает из каждой темы вида «вопрос — полный ответ», снимая дубли по словам и по смыслу. После запуска база пополняется из накопителя неотвеченных вопросов — тем, что спрашивают клиенты, а не тем, что казалось важным до старта.
Что такое база знаний для чат-бота?
База знаний — набор тем, из которых бот собирает ответ: у каждой темы есть вопрос, синонимы и полный ответ. При обращении в модель уходит не вся база, а куски, подобранные под конкретный вопрос, поэтому тема обязана быть понятной без соседей по тексту. Изменчивые данные вроде наличия в базу не кладут — их берут запросом в вашу систему.
Как создать чат-бота с нейросетью?
Понадобятся четыре вещи: материалы для базы знаний, системный промпт с правилами общения, подключённый канал и правило передачи разговора человеку. Разработка у нас стоит от 20 000 ₽, поддержка — от 5 000 ₽ в месяц, работа агента считается по расходу токенов. Сроков не обещаем: они зависят от скорости, с которой приходят материалы и доступы.
Нужно ли переобучать ИИ-агента после изменений на сайте?
Да, но только изменившийся источник. Переобучение страницы снимает её прежние темы и ставит новые, остальная база не трогается; темы, добавленные руками, остаются. Полная пересборка базы стирает ручные правки и темы из живых диалогов, поэтому «обучить заново» — плохой способ обновить цены. В поддержку от 5 000 ₽ в месяц переобучение входит.
Что делать, если ИИ-агент отвечает неправильно?
Найти причину в базе, а не в модели. Чаще всего в базе лежат две противоречивые темы об одном факте — например, цена со страницы сайта и прошлогодняя цена из PDF. Лишнюю тему убирают, верную правят руками. Правка промпта — последний шаг и только с замером: однажды «разумное» сокращение промпта заставило агента додумывать характеристики товара, и слепое сравнение это показало.
Можно ли обучить ИИ-агента по ссылке на Instagram*?
Нет. Произвольную ссылку на профиль спарсить нельзя — Instagram* закрывает такое чтение. Работать можно только с аккаунтом, подключённым к боту через официальный API. Там же действуют ограничения канала: написать человеку первым нельзя, легальные входы — ответ на комментарий, реакция на сторис и кодовое слово в личных сообщениях.
Сколько стоит обучение ИИ-агента?
Отдельной цены за обучение нет: разбор материалов и сборка базы знаний входят в разработку от 20 000 ₽, а разбор неотвеченных вопросов и переобучение источников — в поддержку от 5 000 ₽ в месяц. Работа самого агента считается по расходу токенов, и объём базы на него влияет напрямую. Точная смета — после разбора задачи.
Нужен бот, который делает это у вас?