Rag And Retrieval hard
A runbook RAG system uses fixed 500-token chunks with no overlap. Users who ask for a multi-step recovery procedure get answers that stop at step 4 of 9, and retrieval logs show the top hit ends mid-procedure. What is the most targeted fix?
- A Increase top-k from 5 to 15, so the adjacent chunk with the remaining steps is likely to be retrieved and placed in the context as well.
- B Double the chunk size to 1,000 tokens everywhere, so that every procedure fits inside a single chunk regardless of where boundaries fall.
- C Add a reranker so the chunk containing steps 5 through 9 is promoted above the chunk with steps 1 through 4 for procedure-style queries.
- D Split on structure such as headings and list items, with 10 to 20% overlap so content spanning a boundary is not severed.
Answer: D. Split on structure such as headings and list items, with 10 to 20% overlap so content spanning a boundary is not severed.
Fixed-size splitting cuts semantic units apart. **Structure-aware chunking with overlap** keeps them intact, at the cost of uneven chunk sizes and some duplicated tokens. Raising k is a gamble: the continuation chunk lacks the procedure's title and may never match the query. Doubling chunk size everywhere dilutes relevance and inflates context cost. It is reasonable only if the corpus is uniformly short procedures.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- You must index 100M chunks using a 3,072-dimension embedding in fp32, served from RAM via HNSW. The raw vectors alone take about 1.2 TB before graph overhead. You need to cut memory several-fold while losing at most a point or two of recall@10. Which approach fits?
- A multi-tenant SaaS app stores all tenants in one vector index with a tenant_id field. Queries fetch the top 20 chunks by similarity and then drop chunks from other tenants. Small tenants often get 0-2 results. Why does this happen, and what is the fix?
- Runbooks are split into fixed 300-token chunks with no overlap. When a procedure step starts near the end of one chunk and finishes in the next, answers come back incomplete. What is the lowest-cost fix?
- Your offline eval shows recall@5 of 92% on a labeled set, so the gold passage is in the context for nearly every question. Yet human graders mark 35% of answers wrong, and the wrong answers often ignore or contradict the gold passage. Where should the team invest next?
- Your product requires every RAG answer to include clickable source citations that users can verify. How should those citations be produced?
- Policy documents live in a CMS. A nightly job embeds and inserts new documents into the vector index. Users keep getting answers that cite policies which were deleted or replaced weeks ago. What is the root cause and fix?