Что такое база знаний?
Документы, по которым агенту разрешено отвечать. agent4.io держит две разновидности — выверенные материалы вашей компании и личные файлы каждого клиента, — извлекая их вместе, но никогда не путая одно с другим.
База знаний — это то, что делает агента вашим, а не общим. Это ответ на вопрос «откуда он это взял». А если этого в ней нет, агент должен так и сказать.
Две базы знаний, а не одна
Большинство платформ дают одну кучу документов. Для бота техподдержки с типовыми вопросами этого хватает, для настоящего бизнеса — категорически нет, потому что два вопроса, которые клиент реально задаёт, разные по природе:
«Какие у вас условия и подхожу ли я?» — это ваш материал. Прайсы, критерии, действующие регламенты, описания продуктов. Он одинаков для всех спрашивающих, он выверен вами и он авторитетен.
«Вот мой диплом и справка с работы — что мне это даёт?» — это его материал. Он принадлежит одному клиенту, часто чувствителен и для всех остальных бессмысленен.
agent4.io держит их как две отдельные системы, намеренно не деля общую реализацию:
| База знаний тенанта | База знаний клиента | |
|---|---|---|
| Владелец | Вы, бизнес | Один конечный клиент |
| Содержит | Регламенты, цены, политику, условия продуктов | Его документы, справки, переписку |
| Изоляция | Фильтрация по тенанту на уровне API | Обеспечена базой данных, по клиенту и пространству |
| В хранении | Без шифрования — это ваш опубликованный материал | Зашифровано ключом этого клиента |
| Кто ведёт | Ваши администраторы, с проверкой перед публикацией | Загружает сам клиент по ходу дела |
Почему настоящий ответ требует обеих сразу
Возьмём миграционный вопрос: «прохожу ли я по зарплатному порогу для этого маршрута?»
Порог — в вашей базе знаний тенанта: действующее правило, выверенное вашей фирмой. Его зарплата — в его собственной: в справке с работы, которую он загрузил на прошлой неделе. Ни одна половина на вопрос не отвечает. Агент, у которого есть только ваши документы, процитирует правило и предложит клиенту сравнить самому. Агент, у которого есть только его документы, знает зарплату и не знает, с чем её сопоставлять.
По одному вопросу извлекаются обе, а ответ — это сравнение.
То, что не даёт их спутать
Найденные фрагменты не сваливаются в одно ведро. Каждый источник приходит своим блоком со своей подачей:
- Ваш материал подаётся как авторитетный, которому нужно следовать, и у каждой базы знаний есть собственная инструкция для модели, написанная вами. База регламентов может сказать: это выверенное действующее правило; отвечай по нему, не опирайся на предшествующие знания, а если чего-то здесь нет — так и скажи.
- Материал клиента подаётся как справочный: его собственный, полезный и не источник политики.
Это различие и отделяет «комиссия вашей фирмы — X» от «клиент считает, что комиссия X, потому что так написано в загруженном им документе». Агент, который не умеет их различать, рано или поздно процитирует клиенту его же ошибку как вашу политику.
База знаний, в которой не нашлось релевантных фрагментов, не вносит вообще ничего — даже заголовка. Релевантность решается по векторному расстоянию до того, как модель что-либо увидит, поэтому непрофильная база не сидит в контексте, съедая внимание.
Настройка строгости для каждой базы
У каждой базы знаний свой порог релевантности, потому что нужная степень осторожности везде разная. База регламентов должна быть строгой: ниже порога правильный исход — вернуть пустоту и ответить «у меня этого нет», и это гораздо лучше почти подходящего абзаца про другой маршрут. Общий FAQ может быть мягче: там примерно относящийся к делу ответ всё ещё полезен.
База знаний — это не обучающая выборка. Ничто из загруженного вами не меняет модель; оно меняет то, что модели разрешено прочитать в момент ответа. Поэтому же исправление документа исправляет все будущие ответы немедленно — без переобучения и без выкатки.