Wzorzec

GraphRAG: planner zapytań i fuzja wyników

Wzorzec projektowy: routing retrieval (wektory vs graf), fuzja wyników i pakiet dowodowy z citation binding.

W skrócie
  • Planner dobiera strategię do typu pytania i budżetu
  • Fuzja musi być jawna i testowalna (union/intersection/constraints)
  • Kończymy pakietem dowodowym, nie listą dokumentów
  • Degradacja musi być kontrolowana (fail‑closed)
Jeżeli GraphRAG ma działać w produkcji, planner jest równie ważny jak sam graf.
Wzorzec: GraphRAG działa najlepiej wtedy, gdy nie udajesz, że każde pytanie jest takie samo. Planner dobiera strategię retrieval do typu pytania i budżetu (czas/koszt).

1. Kiedy to ma sens

Planner jest potrzebny, gdy:

  • masz mieszankę pytań: definicyjne, relacyjne, proceduralne, porównawcze,
  • źródła są nierówne (konflikty, świeżość, uprawnienia),
  • koszt i latencja muszą być przewidywalne,
  • wymagasz ścieżki dowodowej i cytowań.

2. Architektura planera

Planner: pytanie → routing → vector retrieval + graph traversal → fuzja + evidence

W praktyce planner składa się z:

  • klasyfikatora pytania (typ + domena + constraints),
  • polityki budżetu (max dokumentów, max kroków grafu, timeouty),
  • strategii retrieval (vector-first, graph-first, hybrid),
  • fuzji (join + rerank) oraz citation binding.

3. Routing: cztery strategie

  • Vector‑first: najpierw podobne fragmenty → z nich startowe encje → krótka eksploracja grafu.
  • Graph‑first: start z encji/ID → traversal po relacjach → dopiero potem dobór fragmentów jako dowodów.
  • Hybrid: równolegle graf i wektory, a potem fuzja wyników.
  • Iterative: pętla: retrieval → ocena dowodów → doprecyzowanie zapytania.
Uwaga: Iterative wymaga śladu (trace) i budżetu kroków; inaczej wchodzi w „nieskończone doczytywanie”.

4. Fuzja wyników (join + ranking)

Fuzja powinna być jawna i testowalna. Zalecane reguły:

  • Union: łączymy wyniki i dopiero potem rerank (dobre na eksplorację).
  • Intersection: bierzemy tylko elementy wspólne (dobre na rygor dowodowy).
  • Constraint join: filtrujemy po politykach (tenant, dział, wersja, data).
  • Weighted: ważenie sygnałów (freshness, confidence, access, relevance).

5. Evidence i cytowania

W trybie produkcyjnym planner kończy się nie „listą dokumentów”, tylko pakietem dowodowym:

  • wybrane fragmenty (chunk_id),
  • ścieżka grafowa (encje/relacje),
  • mapowanie: claimdowód (patrz: Kontrakt cytowań),
  • reguły dostępu (access policy) i trace_id.

6. Budżet, latencja, degradacja

Planner powinien mieć zdefiniowane tryby:

  • Normal: pełny pipeline, rerank, ścieżka grafowa.
  • Degraded: ograniczenie liczby kroków grafu / dokumentów, bez iteracji.
  • Fail‑closed: jeśli nie ma dowodów lub nie ma uprawnień — no‑answer + eskalacja.

Zasady „no‑answer” i eskalacji opisuje rozdział: Brak odpowiedzi i eskalacja.

7. Checklista implementacyjna

  • Zdefiniowane typy pytań i mapping → strategia retrieval.
  • Budżet: max k, max hops, timeouty, tryb degradacji.
  • Fuzja: jawna reguła łączenia + rerank + testy regresji.
  • Evidence: binding claim→dowód + trace_id + access policy.

8. Powiązane