Перейти к содержимому

Курируемая база знаний

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

Курируемая база знаний меняет точку синтеза: сверка происходит один раз, при записи страницы. Агент или человек не ищет чанки, а открывает нужную страницу целиком — с уже собранным, проверенным и связанным знанием.

Практически такая база — это вики на Markdown: одна страница на тему, оглавление, перекрёстные ссылки, журнал изменений, ссылки на первоисточники. Именно так устроена эта база знаний.

ЭлементЗачем нужен
Страница = одна темаУстраняет дублирование: ответ на вопрос живёт в одном месте
Каталог и сайдбарДаёт навигацию без семантического поиска: агент видит всю карту
Перекрёстные ссылкиСвязывают темы так, как их видит читатель, а не как их нарезал чанкер
Ссылки на источникиПозволяют проверить факт и увидеть, откуда он взялся
Журнал изменений (changelog)Отвечает на вопрос «почему правило изменилось»
ЛинтИщет противоречия, битые ссылки и устаревшие страницы

Ключевое отличие от векторного индекса: структура здесь смысловая и явная. У неё нет промахов поиска, потому что нет поиска — есть навигация.

Курируемая база выигрывает, если выполняются три условия:

  1. Домен обозрим. Десятки или сотни страниц, а не миллионы документов. Пока карта помещается в голову (и в контекст), навигация работает.
  2. Знания нужно синтезировать. Регламенты, архитектура проекта, договорённости команды, «как у нас принято» — то, что не существует в одном источнике, а собирается из нескольких.
  3. Важна непротиворечивость. Если цена ошибки высока, лучше один раз сверить правила, чем каждый раз доверять случайной выдаче.

RAG остаётся нужен, когда источник — поток: логи, тикеты, переписка, документация вендора, которая обновляется без вашего участия. Курировать такое вручную невозможно.

Риски курируемой базы противоположны рискам RAG. Там опасность в том, что поиск не нашёл нужное; здесь — что страница устарела и уверенно рассказывает отменённое правило.

Отсюда обязательные практики:

  • Дата и источник у каждого утверждения. Без них нельзя понять, актуальна ли страница.
  • Ревизия при изменении факта. Изменилось правило — правится страница, а не добавляется новая рядом.
  • Линт на противоречия и битые ссылки. Регулярная проверка ловит расхождения, которые человек не замечает при чтении.
  • Ответственный. База без владельца деградирует за квартал: страницы множатся, ссылки гниют.
  • Правило «одна тема — одна страница». Как только одна тема описана в двух местах, они начнут расходиться.

На практике эти подходы не конкурируют, а слоятся:

  • Курируемая база — навигационный слой: страница описывает область и говорит, куда смотреть дальше.
  • RAG — слой деталей: достаёт конкретные фрагменты из большого корпуса, когда страница на них ссылается.
  • Публикация для внешних агентов — llms.txt: карта документации в формате, который читают ChatGPT, Claude и другие ассистенты.

Именно так устроена эта база знаний: страницы синтезированы и связаны ссылками, а исходники лежат отдельно в raw/ и не меняются.

  • Есть ли карта. Если структуру нельзя прочитать за минуту, навигация не работает — ни для человека, ни для агента.
  • Отвечает ли страница целиком. Хорошая страница не требует перехода по трём ссылкам, чтобы понять суть.
  • Не дублируются ли темы. Два текста об одном — начало расхождения.
  • Проверяются ли ссылки. Битая ссылка в базе знаний — это не косметика, а потерянная часть контекста.
  • Кто обновляет. Назначенный владелец и ритм ревизии важнее любого инструмента.
  • llms.txt: предложение формата — публикация карты документации для LLM
  • Anthropic: Contextual Retrieval — почему фрагменты без контекста теряют смысл
  • Правила ведения этой базы знаний — AGENTS.md и SCHEMA.md в корне репозитория: структура разделов, формат страниц, обязательные источники и журнал изменений