← Блог

ИИ-ассистент по базе знаний компании — как он устроен и почему иногда врет

RAG простыми словами, подготовка документов, права доступа, ссылки на источник и способы ловить выдумки

ИИ-ассистент по базе знаний отвечает сотрудникам и клиентам на вопросы по документам компании — регламентам, договорам, инструкциям, прайсам. Звучит просто, и демо собирается за вечер. А потом ассистент уверенно цитирует прошлогодний прайс или пересказывает менеджеру документ, который тому видеть не положено.

Разберем, как такой ассистент устроен внутри, что делать с документами до запуска, как настроить права и ссылки на источник, почему ассистент ошибается и как это ловить.

Как устроен ИИ-ассистент — RAG простыми словами

Модель не знает ваших документов и не запоминает их. Ее не дообучают на базе знаний — это дорого, медленно и не гарантирует, что факт запомнится правильно. Вместо этого работает схема, которую называют RAG, то есть поиск с генерацией ответа.

Заранее документы нарезают на фрагменты и складывают в поисковый индекс. Когда приходит вопрос, система находит несколько подходящих фрагментов и передает их модели вместе с вопросом и инструкцией отвечать только по ним. Модель формулирует ответ и указывает, из какого документа взят каждый факт.

Как устроен ИИ-ассистент по базе знаний: подготовка документов и путь вопроса Верхний ряд — подготовка заранее: документы нарезаются на фрагменты с правами и датой и попадают в поисковый индекс. Нижний ряд — путь вопроса: вопрос сотрудника, поиск только по доступным ему фрагментам, модель отвечает по найденному, ответ со ссылками на источник. Если ничего не найдено, ассистент отвечает «не знаю», а вопрос попадает в журнал пробелов базы. ЗАРАНЕЕ, ПРИ ЗАГРУЗКЕ документырегламенты, договоры фрагментыс правами и датой поисковый индекспо смыслу и словам у каждого фрагмента источник, дата, доступ НА КАЖДЫЙ ВОПРОС вопроссотрудника поисктолько доступное ему модельотвечает по найденному ответсо ссылками на источник ничего не найдено нет источника — «не знаю» журнал пробелов базы
Модель видит только то, что нашел поиск, а поиск ищет только среди документов, доступных спрашивающему. Если опоры нет, правильный ответ — «не знаю», а сам вопрос становится задачей для владельца базы.

Из схемы видно главное. Ответ не может быть лучше найденного. Если поиск принес не тот фрагмент, самая сильная модель красиво перескажет не то. Поэтому основная работа в таком проекте — документы и поиск, а выбор модели влияет меньше, чем принято думать. Варианты моделей сравнили в статье о том, какую языковую модель выбрать бизнесу.

Подготовка базы знаний — самая недооцененная часть

  • Актуальность и версии. Три версии регламента в разных папках — ассистент найдет любую из них. Устаревшее убирают из индекса, а у каждого документа появляются дата и статус.
  • Противоречия. Если в прайсе одна цена, а в рассылке другая, ассистент не знает, чему верить. Противоречия находятся как раз при подготовке, и это отдельная польза проекта.
  • Сканы и таблицы. Скан без распознавания для поиска не существует. Таблицы при нарезке легко теряют заголовки столбцов, и цифра остается без смысла, поэтому их обрабатывают отдельно.
  • Структура. Документ с заголовками режется по смысловым разделам, сплошной текст — как придется. Иногда проще поправить десяток ключевых документов, чем бороться с ними в коде.
  • Владелец раздела. За каждый раздел отвечает конкретный человек. Без него база стареет, и через полгода ассистент отвечает по прошлой реальности.

Если базы знаний как таковой нет, а знания живут в почте и головах, начинать стоит с нее. Иногда правильный первый шаг — корпоративный портал с нормальной структурой разделов, а ассистент идет вторым этапом.

Права доступа — на уровне поиска, а не в инструкции модели

Типичная ошибка — загрузить все документы в один индекс и написать модели «не рассказывай про зарплаты». Модель можно уговорить или запутать, а может она и просто ошибиться. Права проверяются раньше, на этапе поиска.

Каждый фрагмент получает метки доступа из исходной системы — отдел, роль, конкретные сотрудники. Поиск ищет только среди того, что доступно человеку, задавшему вопрос. Документов, к которым у него нет доступа, модель просто не видит.

Права лучше наследовать из источника, а не настраивать заново. Если документ закрыли в хранилище, он должен пропасть из ответов ассистента при следующей синхронизации, без ручных действий.

Если в базе есть сведения о сотрудниках или клиентах, место, где работает модель, выбирается с учетом закона о персональных данных. Подробнее — в статье нейросети и 152-ФЗ.

Ссылка на источник — обязательная часть ответа

Ответ без ссылки проверить нельзя, а значит, ему нельзя и доверять. Хороший ассистент к каждому утверждению дает ссылку на документ и раздел, и по клику открывается нужное место.

Ссылки решают три задачи. Сотрудник проверяет ответ за секунды. Видно, что ответ взят из актуальной версии, а не из черновика. А если ассистент ошибся, по ссылке сразу понятно, где именно — в поиске или в пересказе.

Почему ассистент по базе знаний врет

Не нашел нужное

Ответ в базе есть, но поиск его не достал. В документе написано «отсрочка платежа», а спрашивают про «рассрочку». Модель отвечает по тому, что нашлось, или додумывает.

Нашел устаревшее

В индексе лежат старый и новый регламент. Поиск принес старый, и ответ формально правильный, но по прошлой версии.

Перепутал похожее

Два продукта с похожими названиями, два филиала, два договора с одним клиентом. Фрагменты похожи, и модель склеивает факты из разных.

Ответил из общих знаний

Нужного в базе нет, и модель рассказала, как обычно бывает. Для вопроса про ваш порядок возврата это почти всегда неправильно.

Потерял контекст

Кусок таблицы без заголовка, пункт договора без номера раздела. Цифра верная, но непонятно, к чему она относится.

Не уточнил вопрос

«Какой срок?» — поставки, оплаты или гарантии. Вместо уточнения ассистент выбирает один вариант и уверенно на него отвечает.

Заметно, что в большинстве случаев виновата не модель. Четыре причины из шести лечатся подготовкой документов и настройкой поиска.

Как ловить ошибки

  1. Разрешить ответ «не знаю». Инструкция и проверка в коде требуют отвечать только по найденному. Нет источника — ассистент прямо говорит, что в базе ответа нет, и предлагает, к кому обратиться.
  2. Проверять опору на источник. Отдельный шаг сверяет утверждения ответа с найденными фрагментами. Утверждение без опоры — повод не показывать ответ или пометить его как непроверенный.
  3. Переспрашивать. Если вопрос допускает несколько прочтений, ассистент уточняет, а не выбирает сам.
  4. Собирать обратную связь. У каждого ответа кнопка «неверно», и есть человек, который раз в неделю разбирает такие случаи.
  5. Вести журнал вопросов без ответа. Это готовый список пробелов базы. Владельцы разделов дополняют ее, и следующий такой вопрос уже закрыт.

Ассистент, который иногда честно говорит «не нашел», сотрудники продолжают использовать. Ассистент, который пару раз уверенно соврал, перестают открывать совсем, даже если в остальном он отвечает хорошо.

Как оценивать качество ассистента

В статье про нейросети для бизнеса мы описывали общие метрики — принято без правок, пропуски, выдумки. Для ассистента по базе знаний их стоит разложить на поиск и ответ, потому что чинятся они по-разному.

Полнота поискаДоля вопросов, где среди найденных фрагментов есть нужный. Низкая — чинят нарезку и поиск, а не модель
Опора на источникДоля утверждений в ответах, которые подтверждаются найденными фрагментами. Цель — почти все
Честные отказыДоля вопросов без ответа в базе, где ассистент так и сказал, а не придумал

Замер делается на тестовом наборе из реальных вопросов сотрудников или клиентов. В нем обязательно должны быть вопросы разных типов.

  • Простые. Ответ в одном месте одного документа.
  • Составные. Ответ собирается из двух-трех документов.
  • Без ответа. Того, о чем спрашивают, в базе нет. Проверяется честный отказ.
  • С подвохом по версиям. Ответ менялся, и правильный есть только в последней версии документа.
  • С правами. Вопрос задает сотрудник без доступа к нужному документу. Правильный ответ — отказ.

Набор фиксируется и прогоняется после каждого изменения — новой модели, новой нарезки, новой инструкции. Иначе улучшение в одном месте незаметно ломает другое. Как перевести эти метрики в деньги, разобрали в статье как посчитать эффект от ИИ.

Так мы и строим ИИ-ассистента на данных компании — с подготовкой базы, правами из источника, ссылками в каждом ответе и тестовым набором, по которому видно качество.

Частые вопросы

Можно ли подключить ассистента к Confluence, Битрикс24 или папкам на сервере

Да. Источник не так важен, как регулярная синхронизация. Новые и измененные документы должны попадать в индекс автоматически, удаленные исчезать, а права доступа переноситься вместе с документами.

С кого начинать — с сотрудников или с клиентов

С сотрудников. Ошибка внутри компании стоит дешевле, пользователи дают обратную связь, база за это время доводится до ума. Ассистент для клиентов идет вторым шагом, с более строгими ограничениями на темы и формулировки.

Чем ассистент отличается от ИИ-агента

Ассистент отвечает, агент действует — создает заявки, меняет данные, отправляет письма. Поиск по базе знаний обычно становится одним из инструментов агента. Подробнее — в статье про ИИ-агентов для бизнеса и на странице о разработке ИИ-агентов.

Соберем ассистента по вашей базе знаний и покажем качество в цифрах

Опишите, где лежат документы, кто будет задавать вопросы и какие данные в базе чувствительные. В ответ — оценка состояния базы, схема прав доступа, план пилота на одном разделе и метрики, по которым вы примете решение.

Обсудить ассистента

Если база знаний пока не готова к ассистенту, скажем, что сделать с ней сначала.

Дальше по теме