Hierarchiczne dzielenie i wyszukiwanie relacji rodzic-dziecko
Wzorzec architektoniczny wyszukiwania, w którym dopasowanie wektorowe odbywa się na krótkich, precyzyjnych fragmentach potomnych (Child Chunks), a do kontekstu modelu pobierany jest cały szeroki blok nadrzędny (Parent Document).
1. Przegląd koncepcji i problem systemowy
Każdy inżynier budujący systemy RAG napotyka nierozwiązywalną sprzeczność:
- Użytkownik pyta: "Jaka jest polityka timeoutów dla połączeń Redis?".
- Baza wektorowa znajduje wiersz:
timeout: 3000. - Jeśli przekazamy do modelu tylko ten wiersz (drobny chunk), model nie wie, do czego on należy: do Redis, PostgreSQL czy serwera HTTP.
- Jeśli przetniemy dokumentację na ogromne fragmenty po 1500 słów, wektor semantyczny staje się "szumem", a potrzebny wiersz w ogóle nie trafia do top-5 wyników.
Hierarchical Chunking (Parent-Child Retrieval) rozwiązuje ten węzeł gordyjski: wysoka rozdzielczość wektorowa do wyszukiwania + szeroki, bogaty kontekst do generowania odpowiedzi.
2. Taksonomia architektoniczna i model mentalny
┌─────────────────────────────────────────────────────────────┐
│ MAPA HIERARCHII RODZIC-DZIECKO │
├─────────────────────────────────────────────────────────────┤
│ 1. DOKUMENT RODZICA (Pełna sekcja Markdown / Ciało funkcji):│
│ ID rodzica: `parent_auth_flow_42` (800 tokenów) │
│ • Pełny opis cyklu życia sesji i obsługi błędów │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Podział na szczegółowe dzieci │
├─────────────────────────────────────────────────────────────┤
│ 2. CHUNKI DZIECI (Indeksowane w bazie wektorowej): │
│ • Dziecko 1 (120 tok): [ Parametry tworzenia cookie ] │
│ • Dziecko 2 (140 tok): [ Rotacja tokenów & TTL Redis ] ◄─│ TRAFIENIE!
│ • Dziecko 3 (100 tok): [ Obsługa błędów & zwroty 401 ] │
├─────────────────────────────────────────────────────────────┤
│ │ │
│ ▼ Rozwiąż link `parent_id` │
├─────────────────────────────────────────────────────────────┤
│ 3. WSTRZYKIWANY KONTEKST DLA MODELU: │
│ Model otrzymuje CAŁY DOKUMENT RODZICA `parent_auth_flow_42│
│ ➔ Zero fragmentacji kontekstu, krystalicznie jasna │
│ odpowiedź! │
└─────────────────────────────────────────────────────────────┘
3. Praktyczne scenariusze inżynieryjne w produkcji
01. Dokumentacja techniczna API z wieloma endpointami
Chunk nadrzędny obejmuje cały endpoint: opis, argumenty, kody odpowiedzi oraz przykłady kodu. Chunks podrzędne zawierają osobno opis każdego parametru. Użytkownik pyta o rzadko używany parametr, ale model otrzymuje pełny kontekst endpointu i tworzy poprawne zapytanie integracyjne.
02. Analiza kontraktów sądowych lub umów prawnych
Chunk podrzędny znajduje konkretny punkt dotyczący kar umownych, ale do modelu pobierany jest cały odpowiedni rozdział umowy wraz ze wszystkimi powiązanymi warunkami siły wyższej (force majeure).
4. Pułapki, typowe błędy i bezpieczeństwo
- Duplikowanie bloków nadrzędnych (Parent Deduplication): Jeśli trzy różne chunks podrzędne z tego samego bloku nadrzędnego trafią do top-3 wyników, naiwny pipeline może trzy razy wstawić ten sam tekst do promptu. Koniecznie przeprowadzaj deduplikację po
parent_id. - Zwiększone zużycie tokenów: Ponieważ model otrzymuje większy tekst, średni rozmiar kontekstu rośnie. Reguluj liczbę zwracanych unikalnych bloków nadrzędnych (np. nie więcej niż 3 bloki nadrzędne na zapytanie).
5. Strategiczny wniosek dla inżyniera roku 2026
Hierarchiczny RAG to najbardziej elegancki sposób na przezwyciężenie dylematu rozmiaru chunka bez przechodzenia na nadmiernie skomplikowane architektury grafowe. Rozdzielenie przestrzeni indeksowania wektorowego od przestrzeni czytania modelu jest złotą zasadą jakościowego wyszukiwania informacji.
FAQ: Hierarchiczne dzielenie i wyszukiwanie relacji rodzic-dziecko
Powiązane pojęcia
Strategia dzielenia dokumentów (Chunking Strategies)
Metodologia dekompozycji dużych dokumentów i baz kodu na samodzielne informacyjnie fragmenty (chunki) w celu generowania wektorowych osadzeń oraz precyzyjnego wyszukiwania w systemach RAG.
RAG (Retrieval-Augmented Generation)
Wzorzec architektoniczny AI dla przedsiębiorstw, który dynamicznie wzbogaca okno kontekstowe modelu o zweryfikowane, istotne wiedze z zewnętrznych repozytoriów (baz wektorowych, grafów, indeksów pełnotekstowych) przed wygenerowaniem końcowej odpowiedzi.
Przerankowanie (Cross-Encoder Reranking)
Dwuetapowa metodologia wyszukiwania w systemach RAG: szybka wstępna selekcja kandydatów (Bi-Encoder / BM25) z następowym precyzyjnym rankowaniem za pomocą modelu cross-encoder (Cross-Encoder / Cohere Rerank / BGE-Reranker).
Chunkowanie AST dla repozytoriów kodu
Metodologia inteligentnego podziału plików kodu do wyszukiwania wektorowego, oparta wyłącznie na granicach składniowych języka programowania (Tree-sitter), zamiast cięcia po stałej liczbie linii lub znaków.