---
title: Как работает RAG-маховик
description: Corpus-first генерация — как каждый контракт накапливает базу знаний, делающую каждую следующую статью дешевле и лучше заземлённой, чем предыдущая.
locale: ru
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/ru/how-it-works/rag-flywheel/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

**Проблема:** заземление статей живым веб-ресёрчем дорого и не
накапливается. В наивной реализации статья №1000 стоит ровно столько же
ресёрча, сколько статья №1, — и ничто не мешает вчерашнему
сгенерированному тексту стать завтрашним «источником»: петля, отмывающая
галлюцинации в факты.

## Слой 1 — корпус это актив

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

```mermaid
flowchart LR
    SRC[Source pages] -- extract --> RF[(Research facts<br/>per contract)]
    RF -- retrieve + ground --> GEN[Generate]
    GEN -- gaps only --> WEB[External research]
    WEB -- new facts --> RF
    GEN --> ART[Published articles]
```

## Слой 2 — corpus-first, внешнее только на дыры

Инвариант маховика: **внешний ресёрч тратится только на то, чего в
корпусе нет или что устарело** (gap ∪ stale), через единый шов записи.
Измеримое следствие: внешние вызовы на статью монотонно падают по мере
взросления корпуса, а качество заземления — нет. Это и есть маховик:
каждая статья делает следующую дешевле.

## Слой 3 — гигиена: что держит корпус достоверным

База знаний, кормящая LLM, — мишень для отравления, включая
самоотравление. Стражи:

- **Ingest-гейт** — тело *сгенерированной* статьи никогда не принимается
  как ground truth. Входит только внешний материал с атрибуцией
  источника.
- **Арбитраж конфликтов** — когда два источника расходятся в значении,
  арбитр решает, какое значение несёт корпус, вместо тихого хранения
  обоих.
- **Классы свежести** — факты стареют с разной скоростью (определение
  протокола vs цена); TTL — по классам фактов, устаревшее выпадает из
  retrieval до обновления.
- **Карантин** — подозрительный материал исключается из retrieval, а не
  удаляется: решения гигиены обратимы и аудируемы.

## Слой 4 — retrieval, зарабатывающий свои цитаты

Retrieval гибридный — плотные векторы и полнотекстовый поиск, слитые по
рангу, — с **порогом релевантности**: факт обязан пройти планку близости
к теме статьи, прежде чем генерация вообще сможет его процитировать. Ниже
планки факт просто не предлагается. Именно это не даёт «заземлено»
деградировать в «украшено цитатами».

## Компромиссы

Corpus-first означает, что *молодой* контракт пишет первые статьи от
тонкого корпуса с бóльшим внешним ресёрчем — маховику нужно несколько
циклов на раскрутку, и платформа принимает эту раннюю цену. Гейты гигиены
изредка отвергают и настоящие факты (консервативный ingest-гейт — это
безопасная сторона трейд-оффа); лечится арбитром и повторным ingest, а не
ослаблением гейта.

## Пощупать за две минуты

Спроси у MCP `list_domains` про домен `research` — поверхность корпуса
это первоклассный API — или прочти
[Жизненный цикл контента](../../platform/content-lifecycle/), где
retrieval стоит на пути статьи.
