Как дать LLM ваши знания: RAG, llm-wiki, граф, дообучение

Чем RAG отличается от llm-wiki, графа знаний и дообучения. Честные плюсы-минусы каждого подхода и как выбрать под задачу и бюджет.

  • Три глагола, которые путают
  • RAG: извлечение в рантайме и почему это про токены
  • Базовая формула RAG
  • llm-wiki: дисциплина, а не механизм
  1. Базовая модель знает то, что было в её обучающем корпусе на момент тренировки.

  2. Она не знает вашего регламента отгрузки, истории конкретной сделки, схемы вашей 1С и того, что вы поменяли в продукте на прошлой неделе.

  3. Рациональный ЛПР задаёт первый вопрос так: как дать модели эти знания, чтобы это не превратилось в дорогой чёрный ящик.

  4. Этот вопрос чаще всего сводят к одному слову — RAG.

  5. Само сужение и есть источник путаницы. RAG отвечает на «как извлекать знание в момент запроса». llm-wiki — на «как структурировать знание заранее».

  6. Граф знаний — на «как связать знание для многошаговых вопросов».

  7. Дообучение — на «как вшить знание и поведение в веса модели».

  8. Это разные слои, и их регулярно ставят в один ряд как конкурентов, хотя половина из них спокойно работает вместе.

  9. Пять подходов с честными плюсами и минусами,

Дерево выбора

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

5 слоёвin-context, llm-wiki, RAG, граф, дообучение
3 глаголаизвлечь, структурировать, вшить
обычно 1–2реальный контур чаще берёт пару слоёв, не один

Три глагола, которые путают

Извлечь (retrieval)

В момент запроса найти нужный кусок знания и положить его в контекст. Модель не меняется — ей дают правильную справку под конкретный вопрос. Это RAG.

Структурировать (compile)

Заранее привести знание в форму, где легко находить и один факт лежит в одном месте. Это дисциплина того, как написано само знание, а не механизм поиска. Это llm-wiki.

Вшить (fine-tune)

Изменить веса модели на ваших данных так, чтобы знание и поведение стали частью модели. Чтобы поменять один факт, придётся снова трогать веса. Это дообучение.

Спор «RAG против llm-wiki» — это спор о том, искать в библиотеке или навести в ней порядок. Это разные задачи, и обе нужны.

RAG: извлечение в рантайме и почему это про токены

  1. RAG (retrieval-augmented generation) работает так.

  2. Корпус заранее режут на фрагменты (чанки) и превращают каждый в вектор — числовое представление смысла.

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

  4. Модель отвечает, опираясь на эту подобранную справку, и может сослаться на источник.

  5. Главный практический плюс, который чаще всего и есть настоящая причина брать RAG, — минимизация токенов.

  6. Вместо того чтобы запихивать весь корпус на сто тысяч страниц в каждый запрос (что упрётся в лимит окна и в стоимость), вы тащите только релевантный срез под конкретный вопрос.

  7. Корпус может быть огромным — в контекст летит несколько фрагментов.

  8. Остальные сильные стороны вытекают из этого.

  9. Мгновенное обновление: поменялся документ — переиндексировали его, и ответы идут по новой версии, веса модели трогать не надо. Масштаб: корпус растёт независимо от модели, вы работаете срезом на каждый запрос. Аудируемость: ответ можно привязать к источнику — видно, откуда взялся факт; для регламентов, договоров и комплаенса это часто решающий аргумент.

  10. Узкое место называется честно: качество ретрива.

  11. Если поиск вытащил не те чанки, модель уверенно ответит по неверной справке. RAG слаб на «глобальных» вопросах вида «какие сквозные темы во всех протоколах за год» — там, где ответ не лежит в нескольких соседних фрагментах, а размазан по всему корпусу. И это инфраструктура: векторное хранилище, индексация, пайплайн обновления.

  12. Как устроен RAG в деталях и как мы его собираем — на странице инструмента RAG.

  13. Если в данных есть персональные данные и работа идёт под 152-ФЗ, между источником и моделью ставится обезличивание — это уровень LLM Gateway.

llm-wiki: дисциплина, а не механизм

  1. Это про то, как знание написано до того, как его кто-то начнёт искать.

  2. Идея простая и старая, как хорошая инженерная документация.

  3. Знание заранее компилируется в связный набор коротких markdown-представлений: корневой README отвечает на вопрос «какой файл открыть первым», оттуда находится нужный файл, один факт живёт в одном месте, всё под git-версионированием.

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

  5. Отсюда принцип «No RAG» в продукте Sloy: для структурированной корпоративной памяти — «что сейчас с проектом», какие решения приняты, кто за что отвечает — чтение карты надёжнее и объяснимее, чем выуживание чанков по сходству.

  6. Это не «RAG это плохо», а выбор инструмента под слой; почему для этого слоя работает «No RAG» — на странице Sloy.

  7. Слои совмещаются: RAG поверх хорошо структурированного llm-wiki извлекает из порядка, а не из хаоса. О том, как переносимый контекст оформляется в AGENTS.md, skills и через MCP, — в наших AI-принципах.

Свалка + поиск по сходству

  • Знание размазано по PDF, чатам, тикетам и головам
  • На каждый вопрос — поиск по сходству, иногда мимо
  • Один факт в трёх местах, две версии противоречат друг другу
  • Источник ответа не очевиден

llm-wiki (компиляция)

  • README → нужный файл, оглавление findable
  • Один факт — одно место, git хранит историю
  • Агент читает карту, а не угадывает чанки
  • Что устарело — удаляется сразу, а не накапливается

Граф знаний и GraphRAG: когда вопрос многошаговый

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

  2. Но есть класс вопросов, на которых поиск по сходству буксует структурно. «Как связаны вот этот контракт, вот этот инцидент и вот это решение совета?» «Какие сквозные риски проходят через все проекты подразделения?»

  3. Ответа нет ни в одном отдельном чанке — он собирается из связей между многими фрагментами.

  4. Поиск по сходству вытащит несколько похожих кусков, но не увидит структуру, которая их соединяет.

  5. Из корпуса заранее извлекаются сущности (люди, проекты, документы, события), связи между ними и сообщества — кластеры плотно связанных сущностей.

  6. Знание становится не списком фрагментов, а сетью узлов и рёбер.

  7. На вопрос система отвечает не одним поиском, а обходом графа: идёт по связям, собирает релевантное сообщество, использует его саммари.

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

  9. Сводки сообществ: на вопрос «что в целом» система отвечает по саммари кластеров, а не по случайной выборке чанков.

  10. Цена честная: граф дороже строить. Сущности, связи и сообщества обычно выделяет сама LLM, проходя по корпусу, — это вычислительная работа до того, как задан первый вопрос.

  11. Если ваши вопросы в основном локальные («найди пункт в этом договоре»), граф — избыточная инженерия: обычный RAG дешевле и достаточно.

  12. Граф окупается, когда ценность именно в связях и в многошаговых обходах.

Подберем материалы под вашу задачу

Дообучение: знание и поведение вшиты в веса

  1. Все предыдущие подходы оставляют модель замороженной и меняют то, что ей подают на вход.

  2. Дообучение (fine-tuning) меняет саму модель: на ваших данных корректируются её веса, и нужное знание или поведение становится частью модели.

  3. Что это открывает. Локально, офлайн, на простом железе: маленькая дообученная модель может работать на скромном GPU, на edge-устройстве, в air-gap-контуре без интернета — знание уже внутри, внешний поиск не нужен.

  4. Низкая задержка и экономия контекста: не надо на каждый вызов вставлять справку в промпт; для сценариев с высоким объёмом вызовов, где стоимость контекста доминирует, это меняет экономику.

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

  6. Знание замораживается: вшитый факт устаревает вместе с моделью — поменялась цена, регламент, версия документа — придётся переучивать; RAG в этом месте просто переиндексирует.

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

  8. Дорого и долго учить, тяжело обновить один факт, есть риск забывания и переобучения, а аудировать «почему модель так ответила» сложнее, чем проследить путь в RAG или графе.

  9. Это карта, а не учебник по дообучению.

  10. Канонический разбор — когда оно действительно оправдано, как готовить датасет, чем отличается LoRA от полного тюнинга — в отдельной статье Дообучение моделей: короткий гайд.

Дообучение: когда оправдано, а когда не ваш инструмент

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

  • Приватность и air-gap: данные не должны покидать контур
  • Edge, слабое железо, офлайн, критична задержка
  • Высокий объём вызовов, где доминирует стоимость контекста
  • Стабильный узкий домен плюс специфичное поведение или формат

Когда не нужно

  • Знание часто меняется (цены, документация, регламенты)
  • Нет чистого размеченного датасета (у большинства его нет)
  • Нужны ссылки на источник и аудит ответа
  • Надо уметь быстро поправить один факт, не трогая остальное

In-context: когда хватает просто вставить в промпт

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

  2. Никакой инфраструктуры, никакого хранилища, никакого обучения.

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

  4. Граница тоже простая: токены и окно. In-context жжёт токены на каждый вызов — знание едет в контекст каждый раз заново.

  5. Растёт объём — упираетесь в лимит окна и в стоимость.

  6. Как только знание перестаёт помещаться комфортно или начинает повторяться в каждом вызове, пора смотреть на RAG (извлекать только нужное) или на дообучение (вшить, чтобы не возить).

Пять подходов разом

Коротко сверху (at-a-glance): маленькое стабильное знание — in-context; структурированная корпоративная память — llm-wiki; большой меняющийся корпус с аудитом — RAG; вопросы про связи — граф; стабильный домен с офлайном, приватностью и поведением — дообучение. Чаще всего в реальном контуре сочетаются два слоя.

ПодходЧто этоСильная сторонаСлабая сторонаКогда брать
In-contextЗнание вставлено прямо в промптНулевая инфраструктура, мгновенный стартЖжёт токены каждый вызов, лимит окнаМаленькое стабильное знание под одну задачу
llm-wikiЗнание заранее скомпилировано в связный markdown, один факт — одно место, gitПорядок и объяснимость; агент читает карту, а не угадываетНужна дисциплина авторства; это не механизм поискаСтруктурированная корпоративная память, «что сейчас с проектом»
RAGРетрив в рантайме: топ-k релевантных чанков в контекстМинимизация токенов, мгновенное обновление, ссылки на источникКачество ретрива — узкое место; слаб на глобальных вопросахБольшой меняющийся корпус, нужны свежесть и аудит
Граф / GraphRAGГраф сущностей, связей и сообществ; ответ обходом графаМногошаговые и глобальные вопросы, объяснимые путиДорого строить (граф строит LLM); избыточен для локальных вопросовМного связей, сквозные и многошаговые вопросы
ДообучениеЗнание и поведение вшиты в веса моделиОфлайн, edge, приватность, низкая задержка, стиль и поведениеЗнание заморожено, нужен датасет, дорого учить, тяжело обновить фактСтабильный узкий домен, офлайн, специфичное поведение

Дерево выбора

Выбирайте по свойствам знания и задачи, не по моде на термин

Свойство знания / задачи

Маленькое и стабильноепод одну задачу
Структурированная корпоративная память«что сейчас с проектом»
Большой меняющийся корпуснужны свежесть, ссылки, аудит
Много связейглобальные и многошаговые вопросы
Стабильный узкий доменофлайн / edge / приватность / поведение

Подход

In-contextвставить в промпт
llm-wiki (Sloy)скомпилировать знание
RAGизвлекать в рантайме
Граф / GraphRAGобход графа
Дообучениевшить в веса
Маршрут по свойству знания: маленькое и стабильное → in-context; структурированная корпоративная память → llm-wiki (Sloy); большой меняющийся корпус с аудитом → RAG; много связей и многошаговые вопросы → граф; стабильный узкий домен с офлайном или приватностью → дообучение. Ветки не взаимоисключающие. Реальный контур часто берёт две — llm-wiki как карта плюс RAG поверх неё на меняющиеся документы; или дообучение под поведение плюс RAG на свежие факты. Таблица выше показывает свойства подходов, дерево — маршрут к выбору.

Когда «стандартного» достаточно — и где помогает KT.Team

  1. У рационального ЛПР вопрос не «что технологичнее», а «где граница, после которой стоит платить за более сложный контур».

  2. Граница проходит по свойствам знания, а не по моде на термин, и сам выбор когда/когда-нет уже разложен в таблице и в блоке про дообучение выше.

  3. Облако с RAG или llm-wiki достаточно, когда знание часто меняется, нужны ссылки и аудит, корпус большой, а чистого датасета для обучения нет (у большинства команд его и нет).

  4. Дообучение оправдано, когда нужны приватность и air-gap, офлайн и edge, когда объём вызовов высок и доминирует стоимость контекста или когда стабильный узкий домен требует закрепить специфичное поведение. И

Главное

, что снимает ложный выбор: часто правильный ответ — оба слоя.

Дообучить небольшую модель под домен и поведение, а свежие факты подавать через RAG или держать в llm-wiki — тогда модель «умеет» нужное и одновременно не устаревает на каждом изменении документа. KT.Team собирает такой контур малой ai-native командой за короткие итерации, а не большим интеграторским проектом: разбираем свойства вашего знания, считаем экономику под конфигурацию и отдаём отчуждаемый результат — open-source-first стек, который вы забираете себе, без vendor lock-in.

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

Для собственного контура (on-prem, своё железо) экономику определяет утилизация GPU, а не цена токена: простаивающее железо удорожает контур, высокая утилизация — наоборот; счёт зависит от конфигурации и считается в калькуляторе, а не по выдуманной сумме за «сервер в год».

Контур под вашу задачу

Поможем выбрать слой и собрать контур короткими итерациями

Не продаём «RAG на всё» и не уговариваем на дообучение там, где хватит llm-wiki. Малая ai-native команда разбирает свойства вашего знания, считает экономику под конфигурацию и собирает рабочий контур итерациями — отчуждаемый, open-source-first, без vendor lock-in. Если вам достаточно простого in-context — скажем и это.

  • Разбор свойств знания и выбор слоя — обычно 1–2, не «один на всё»
  • Экономика контура считается под конфигурацию, не по выдуманной сумме
  • Отчуждаемый результат: стек забираете себе, без vendor lock-in
Подобрать слой и план контура →

Для своего контура экономику решает не цена токена

Что забрать с собой

  1. Один вопрос — пять разных ответов, и они не конкуренты, а слои. RAG отвечает на «как извлекать», llm-wiki — на «как структурировать», граф — на «как связать», дообучение — на «как вшить», in-context — «когда можно просто вставить».

  2. Путаница начинается там, где их выстраивают в один ряд как соперников; ясность — там, где видишь, что они про разные вещи и часто работают вместе.

  3. Практический ориентир остаётся тем же, что и в любой инженерии: не платить за сложность, которая не нужна.

  4. Маленькое стабильное знание — in-context.

  5. Большой меняющийся корпус с аудитом — RAG.

  6. Стабильный домен с офлайном и приватностью — дообучение. А когда хочется «всё сразу» — почти всегда правильный ответ это два слоя, а не один на всё.

  7. Подключение данных к модели на уровне инструментов — через MCP.

  8. Если задача не «выбрать слой», а быстро поднять у руководителей рабочую интуицию и первый прототип агента — отдельный формат AI Agent Sprint для руководителей.

  9. Соседние статьи кластера: Дообучение моделей: короткий гайд — если внизу дерева вы попали в «дообучение»; Линза Карпатого: понимание против исполнения — чем «модель понимает» отличается от «модель исполняет» и почему это меняет выбор слоя.

Источники

Дата проверки: 2026-06-30

Обсудить статью: Как дать LLM ваши знания: RAG, llm-wiki,…

Отправить через: