chore(rag): PR #174 회차 1 리뷰 반영

`ask_multi_hop` 의 probe_hits 가 gate 검사 후 throw away 되는 의도
명시 — pool 초기값으로 재사용 안 하는 *invariant clarity* rationale 을
코드 안에 doc. 향후 retrieve cost 가 multi-hop bottleneck 이 될 경우
재검토 hint 도 함께.

검증
- `cargo test -p kebab-rag -j 1 --test multi_hop` 10 모두 통과.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-25 12:04:53 +00:00
parent da25ce330b
commit 85855ef596

View File

@@ -673,6 +673,18 @@ impl RagPipeline {
);
}
// probe_hits are inspected for the gate decision only — the
// decompose-driven pool below builds from scratch, even if
// the first sub-query happens to equal the original query.
// Re-using probe_hits as the pool's initial seed would save
// one retrieve in that case, but would change the meaning of
// `HopRecord.context_chunks_added` on the first decide hop
// (currently "chunks from decompose-driven retrieve" — would
// become "probe + decompose"). Kept dropped for invariant
// clarity; revisit if the per-call retrieve cost ever becomes
// the multi-hop latency bottleneck (currently dominated by
// LLM calls, not retrieves).
let mut hops: Vec<HopRecord> = Vec::new();
// ── 1. Decompose (iter 0) ──────────────────────────────────────────