Все статьи
2026-04-11 · 9 мин

Как передать базу знаний агенту так чтобы он реально ей пользовался

Загрузить документы в векторную базу это 30% работы. Остальные 70% это как сделать так чтобы агент искал в них правильно.

Самое частое разочарование

Клиент отдаёт мне гору документов. PDF с инструкциями. Тексты на сайте. Файлы с прайсами. Я всё это загружаю в базу знаний агента. Запускаем, спрашиваем что-то простое. Агент не находит.

Это происходит в 90% случаев на первой попытке. Не потому что я плохо настроил, а потому что просто загрузить документы недостаточно. Нужно их подготовить.

Подготовка документов это отдельная работа

Я делю документы на три типа.

Первый: чистый текст с хорошей структурой. Инструкции, FAQ, описания продуктов. Тут надо просто разбить на разумные куски и загрузить.

Второй: таблицы. Прайсы, характеристики товаров. Таблицы плохо ищутся в векторной базе если их загрузить как простой текст. Я конвертирую их в структурированные записи где каждая строка становится отдельным документом с метаданными.

Третий: сканы и PDF с неудобной вёрсткой. Юридические документы, старые инструкции. Тут сначала OCR, потом очистка мусора от OCR, потом структурирование. Это самый дорогой шаг, но без него агент будет отвечать ерунду.

Как я разбиваю на куски

Не по числу символов. Это ошибка которую делают почти все туториалы в интернете.

Я разбиваю по смыслу. Если документ структурирован по параграфам, беру параграф как основу. Если параграф слишком большой, режу его по предложениям с перекрытием. Если маленький, объединяю с соседним.

Размер куска я держу в диапазоне 300-800 токенов. Меньше этого агент теряет контекст. Больше этого агент получает слишком много шума в одном запросе.

Метаданные которые спасают

К каждому куску документа я добавляю метаданные. Источник документа. Дата обновления. Категория (продукт, политика, инструкция). Язык.

На запросах я фильтрую по метаданным. Если клиент спрашивает про доставку, я ищу в кусках с категорией "политика" или "доставка", а не во всей базе.

Это драматически улучшает качество. Я видел проекты где переход от "ищем везде" к "ищем с фильтрами" поднял точность с 60% до 90% без изменения модели.

Как я учу агента пользоваться найденным

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

Это кажется очевидным но многие пропускают этот шаг. Без такого указания LLM начинает комбинировать найденное со своими общими знаниями и выдаёт гибрид который звучит правдоподобно но не соответствует документам клиента.

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

Обновление базы

Документы клиента меняются. Прайс раз в месяц. Политики реже. Инструкции иногда. Я делаю автоматическую ресинхронизацию: агент каждую ночь проверяет изменились ли источники и перезагружает то что обновилось.

Без автоматической ресинхронизации через полгода база протухает и никто не замечает пока клиент не скажет "а почему бот отвечает устаревшее".

Что делать если агент всё равно плохо ищет

Проверить три вещи.

Первое: эмбеддинги. Для русского языка берите мультиязычные модели, тестируйте их на реальных запросах клиента.

Второе: размер чанков. Если куски слишком большие или слишком мелкие, всё работает плохо.

Третье: формулировки запросов. Клиент может задавать вопросы так, что они не совпадают с формулировками в документах. Тут помогает reformulation: первый шаг агента переформулирует вопрос клиента в форму близкую к тому как написано в базе.

Как это начать у себя

Не сразу всю базу. Начни с 20-30 самых важных документов. Сделай поиск работающим на них. Потом добавляй остальное порциями проверяя качество.

Хочешь чтобы я помог подготовить твою базу знаний для агента, пиши в t.me/kulmashev. Это конкретная задача с конкретной ценой.

Готовы внедрить эти решения в свой бизнес?

Запишитесь на бесплатный разбор ваших бизнес-процессов.

Связаться с нами