Checklist · RAG

RAG Implementation Checklist

Build a retrieval-augmented system that works — content ownership, chunking, hybrid search, permissions and measurement. Starts with the question that decides the project.

Markdown. No sign-up, no email.

System: _______________ Date: _______

1. Before writing any code#

  • [ ] Who owns each document set, and is responsible for it being current? If the answer is "nobody", fix that first — the most common RAG failure is a stale document retrieved perfectly
  • [ ] Corpus scoped — start with one team's documents, not everything
  • [ ] Twenty real questions written down, with known answers
  • [ ] Decided what happens when the answer is not in the corpus
  • [ ] Confirmed the knowledge is actually written down, not in people's heads
  • [ ] Fine-tuning ruled out — facts belong in documents, not weights

2. Chunking#

  • [ ] Split on structure — sections, headings, paragraphs. Not fixed character counts
  • [ ] Small overlap so a thought spanning a boundary survives
  • [ ] Document title and heading path prepended to every chunk
  • [ ] Chunks large enough to contain an answer, not just to match a query
  • [ ] Metadata stored: owner, department, date, access level, document type

3. Retrieval#

  • [ ] Hybrid search — keyword AND semantic. Semantic alone fails on exact identifiers
  • [ ] Metadata filtering available to narrow before ranking
  • [ ] Embedding model and version pinned
  • [ ] Number of chunks retrieved tuned — a cost lever and a quality lever at once
  • [ ] Re-indexing process defined for when documents change

4. Generation#

  • [ ] Instruction to answer only from supplied passages
  • [ ] Explicit refusal instruction — "if the passages do not contain the answer, say so"
  • [ ] Supplied content clearly delimited as data, not instructions
  • [ ] Output length constrained
  • [ ] Model and version pinned

5. Sources#

  • [ ] Every answer shows the chunks it used
  • [ ] Sources are clickable and lead to the real document
  • [ ] Document date shown, so a reader can judge currency

This is not cosmetic. It is the mechanism by which users catch mistakes, and the difference between a system people trust and one they quietly stop using.

6. Permissions — a security requirement#

  • [ ] Retrieval filtered by the requesting user's permissions
  • [ ] Filtering happens at query time, not after generation
  • [ ] System does not use a privileged service account
  • [ ] Tested with users of different entitlements
  • [ ] Failure treated as a security incident

7. Measurement — before launch#

  • [ ] Retrieval measured separately from generation
  • [ ] Hit rate / recall@k recorded
  • [ ] Groundedness measured
  • [ ] Refusal accuracy measured on unanswerable questions
  • [ ] Over-refusal measured
  • [ ] Baseline recorded so later changes are comparable

🔴 If retrieval hit rate is 60%, your system's ceiling is 60%. No prompt work raises it.

8. Operations#

  • [ ] Re-index triggered when documents change
  • [ ] Retrieval confidence logged
  • [ ] Source click-through measured
  • [ ] Every reported bad answer added to the test set permanently
  • [ ] Document owners notified when their content produces a bad answer
  • [ ] Scheduled re-test — the corpus changes even when the code does not

9. Cost#

  • [ ] Cost per answer measured
  • [ ] Caching for repeated questions
  • [ ] Chunk count tuned against quality, not maximised

Sign-off#

NameDate
Built by
Content owner
Approved for users

Back to RAG