Hierarchical Chunking & Parent-Child Retrieval(Ієрархічний RAG та пошук 'Батьківський документ — Дочірній чанк')
Архітектурний патерн пошуку, де векторне зіставлення здійснюється по коротких, точних дочірніх фрагментах (Child Chunks), а в контекст моделі підтягується весь широкий батьківський блок (Parent Document).
1. Огляд концепції та системна проблема
Кожен інженер, який будував RAG-системи, стикався з нерозв'язним протиріччям:
- Користувач питає: "Яка таймаут-політика для Redis-з'єднань?".
- Векторна база знаходить рядок:
timeout: 3000. - Якщо передати в модель лише цей рядок (дрібний чанк), модель не знає, до чого він належить: до Redis, PostgreSQL чи HTTP-сервера.
- Якщо нарізати документацію величезними шматками по 1500 слів, семантичний вектор стає "кашею", і потрібний рядок взагалі не потрапляє у топ-5 результатів.
Hierarchical Chunking (Parent-Child Retrieval) розв'язує цей вузол: висока векторна роздільна здатність для пошуку + широкий багатий контекст для генерації.
2. Архітектурна таксономія та ментальна модель
┌─────────────────────────────────────────────────────────────┐
│ PARENT-CHILD HIERARCHY MAP │
├─────────────────────────────────────────────────────────────┤
│ 1. PARENT DOCUMENT (Full Markdown Section / Function Body): │
│ Parent ID: `parent_auth_flow_42` (800 tokens) │
│ • Повний опис життєвого циклу сесії та обробки помилок │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Split into granular children │
├─────────────────────────────────────────────────────────────┤
│ 2. CHILD CHUNKS (Indexed in Vector Database): │
│ • Child 1 (120 tok): [ Cookie creation parameters ] │
│ • Child 2 (140 tok): [ Token rotation & Redis TTL ] ◄─── │ MATCH!
│ • Child 3 (100 tok): [ Error handling & 401 returns ] │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Resolve `parent_id` link │
├─────────────────────────────────────────────────────────────┤
│ 3. INJECTED CONTEXT FOR MODEL: │
│ Model receives ENTIRE PARENT DOCUMENT `parent_auth_flow_42│
│ ➔ Zero context fragmentation, crystal clear answer! │
└─────────────────────────────────────────────────────────────┘
3. Практичні інженерні сценарії в продакшені
01. Технічна документація API з багатьма ендпоінтами
Батьківський чанк охоплює весь ендпоінт: опис, аргументи, коди відповідей та приклад коду. Дочірні чанки містять окремо опис кожного параметра. Користувач питає про один рідкісний параметр, але модель отримує весь контекст ендпоінту і пише правильний інтеграційний запит.
02. Аналіз судових контрактів або юридичних угод
Дочірній чанк знаходить конкретний штрафний пункт, але в модель підтягується весь відповідний розділ договору з усіма пов'язаними умовами форс-мажору.
4. Підводні камені, типові помилки та безпека
- Дублювання батьківських блоків (Parent Deduplication): Якщо три різні дочірні чанки з одного батьківського блоку потрапили в топ-3 результатів, наївний конвеєр може тричі вставити один і той самий текст у промпт. Обов'язково проводьте дедуплікацію за
parent_id. - Збільшення споживання токенів: Оскільки модель отримує більший текст, середній розмір контексту зростає. Регулюйте кількість повернених унікальних батьків (наприклад, не більше 3 батьківських блоків на запит).
5. Стратегічний висновок для інженера 2026 року
Ієрархічний RAG — це найелегантніший спосіб подолати дилему розміру чанка без переходу на надскладні графові архітектури. Розділення простору векторного індексування та простору читання моделі є золотим правилом якісного інформаційного пошуку.
FAQ: Hierarchical Chunking & Parent-Child Retrieval
Пов'язані терміни
Чанкінг документів (Chunking Strategies)
Методологія декомпозиції масивних документів і кодових баз на інформаційно самодостатні фрагменти (чанки) для генерації векторних ембеддінгів та точного пошуку в RAG-системах.
RAG (Retrieval-Augmented Generation)
Архітектурний патерн корпоративного AI, що динамічно збагачує контекстне вікно моделі релевантними верифікованими знаннями із зовнішніх сховищ (векторних баз, графів, повнотекстових індексів) перед генерацією фінальної відповіді.
Переранжування (Cross-Encoder Reranking)
Двоетапна методологія пошуку в RAG-системах: швидкий первинний відбір кандидатів (Bi-Encoder / BM25) із подальшим точним ранжуванням через повнозв'язну крос-енкодерну модель (Cross-Encoder / Cohere Rerank / BGE-Reranker).
AST Chunking for Codebases
Методологія інтелектуального розбиття кодових файлів для векторного пошуку виключно по синтаксичних межах мови програмування (Tree-sitter) замість нарізки за фіксованою кількістю рядків чи символів.