Хранение знаний

Три способа сложить знания так, чтобы ими можно было пользоваться: файлы в папках, векторная база и граф знаний.

Дата составления: 2026-08-29
Статус: 💡 Актуально


Знания для человека и знания для машины

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


Почему во всех рекомендациях фигурирует markdown

Markdown — это обычный текст с минимальной разметкой: решетки для заголовков, дефисы для списков, звездочки для выделения. У него четыре свойства, из-за которых он и стал форматом по умолчанию для баз знаний:

  • Читается человеком без специальных программ. Файл .md открывается любым текстовым редактором, и структура видна даже без рендеринга;

  • Лучше всего понимается моделями. Они на нем обучены, и заголовки, списки и таблицы для них — явный сигнал структуры, а не оформление;

  • Дешев по токенам. Служебной разметки почти нет, поэтому один и тот же текст в .md занимает заметно меньше контекстного окна, чем в .docx или .pdf;

  • Версионируется. Текстовые файлы кладутся в git, и по истории видно, кто и когда изменил конкретный абзац.

Ни одно из этих свойств не является уникальным, но вместе они дают формат, одинаково удобный обеим сторонам — и человеку, и ИИ.


Сравнение подходов

Подход

Что это на практике

Когда оправдан

Чем ломается

Файлы в папках

Обычные текстовые файлы в понятной структуре, формат .md. Инструменты, где база — буквально папка с .md:

Рядом вики-платформы вроде Wiki.js, BookStack и Outline: они хранят статьи в собственной базе данных, но умеют отдавать их в .md

Почти всегда как отправная точка: понятен человеку, понятен модели, версионируется

Объемом. Когда файлов становится столько, что нужную страницу не найти без отдельного поиска

Векторная база (RAG)

Корпус нарезан на фрагменты и проиндексирован, поиск идет запросом и возвращает подходящие куски

Когда корпус большой и заранее неизвестно, какой фрагмент понадобится

Плохой подготовкой данных: мусор на входе воспроизводится на выходе, а связи между фрагментами теряются

Граф знаний

Сущности и связи между ними, разложенные по формальной схеме

Когда важны связи, время (какая норма действовала на дату), контроль доступа и аудит

Ценой. Дорого строить и дорого поддерживать; окупается на четко очерченном корпоративном сценарии

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

Про графы стоит развести два понятия, которые обычно смазывают: онтология — это схема (какие бывают сущности, как они связаны, какие правила действуют в предметной области), а граф знаний — реальные данные, разложенные по этой схеме. Без онтологии граф не построить, но договориться о ней — отдельная сложная работа.

Критерий выбора инструмента — не «поддерживает ли сервис markdown при вводе», а «можно ли выгрузить из него .md». Если база уже живет в Confluence или подобной системе, хранение не в .md не блокер: конвертеры есть. Блокер — отсутствие порядка внутри.

Концепция LLM-вики — это не другой подход, а способ ведения базы. Обычный поиск — хоть по файлам, хоть по векторам — каждый раз достает сырые фрагменты и заново собирает из них ответ; между запросами не накапливается ничего. В вики новый источник разбирается в существующие страницы в момент его приема, и дальше отвечают уже из разобранного. Накладывается этот способ на любой из трех подходов выше, физически чаще всего оставаясь той же папкой с .md. Подробно — в статье LLM-вики и Obsidian.


Что учесть при формировании корпуса данных

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

  • Разобрать данные до загрузки, а не после. Самая частая история: взяли папку в том виде, в каком она накопилась за годы, и загрузили — в том виде, в котором этими данными не пользовались и сами люди. Анализ, нормализация и дедупликация — скучная работа, которой нельзя избежать, и делается она до, а не после.

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

  • Сохранить связи между фрагментами. Норма, разорванная пополам, пункт, оторванный от определений, приложение, живущее отдельно от договора, — это фрагменты, из которых нельзя собрать верный ответ. Удерживать нужно и контекст уровня документа, и связи между документами.

  • Очертить периметр. База должна обслуживать задачу с понятным периметром, а не «все документы компании». Чем шире периметр, тем ниже качество на каждой конкретной задаче.


Чем читать базу человеку

Папка с .md понятна машине, но человеку неудобно читать ее файлами. Поверх той же папки ставится слой чтения — надстройка над подходом «файлы в папках», а не отдельный способ хранения:

  • Gramax — визуальный редактор поверх git, на котором работает эта База.

  • Otterwiki — минималистичный вики-движок, который показывает markdown-файлы из локального git-репозитория как обычную вики: графический редактор, каждое редактирование становится коммитом, есть автоматическая отправка в удаленный репозиторий.

  • Obsidian — то же самое для локальной папки, без сервера и с графом связей между заметками. Подробнее — в статье LLM-вики и Obsidian.

  • Самодельный HTML-слой поверх собственной базы — так поступил Степан Леонтьев, которому хотелось читать свою вики с поиском, как обычную энциклопедию.

Читалку можно поменять, не трогая содержимое: базой остается папка с файлами.


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

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

  • RAG стал инструментом агента. Это уже не конвейер, отрабатывающий на каждый запрос, а справочник на полке, за которым агент ходит по необходимости и сам решает, когда именно нужна выборка из корпуса. Как устроена технология — в статье Технология RAG.

  • Агент должен уметь дойти до базы. Папку на диске он читает напрямую; облачное хранилище и сторонние сервисы подключаются через MCP-сервер. Варианты реализации:

    • Общая папка с .md в облаке, локальная синхронизация у всех участников и MCP-доступ для агента.

    • Хранение источников в .md в сервисе-блокноте вроде NotebookLM и подключение его к агенту: агент получает уже разобранный материал и не тратит токены на распознавание исходных документов.

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


Связанные статьи

Дополнительные материалы


Теги: #управление-данными #база-знаний #память #актуальное