A retrieval-augmented generation system is only as useful as the knowledge it can retrieve. This recurring RAG knowledge base maintenance checklist helps developers and content teams find stale documents, repair indexing problems, improve retrieval quality, and safely reindex changing information.
Overview
RAG systems connect a language model to a collection of external documents. During a user request, the application retrieves relevant passages and supplies them as context for the response. This approach can make an AI chatbot more useful for internal documentation, product support, operations, and other knowledge-heavy workflows. It does not, however, make the underlying information automatically accurate.
Documents change, ownership moves between teams, URLs break, policies are replaced, and content that was once useful becomes irrelevant. A vector database may still contain embeddings for a deleted page, while a newly published document may not have been indexed at all. Retrieval settings can also become unsuitable as the corpus grows or as the application, embedding model, or framework changes.
Treat knowledge base maintenance as an operational process rather than a one-time ingestion task. Keep a source inventory, record document versions, monitor retrieval failures, and define who approves additions and removals. A scheduled audit is useful, but user reports and major documentation changes should trigger an earlier review.
For broader reliability work, pair this process with a diagnostic workflow for troubleshooting LLM hallucinations and a regression process for testing changes before they reach production.
Checklist by scenario
1. Routine scheduled audit
Use this review before a seasonal planning cycle, a regular release window, or another interval appropriate to how quickly your source material changes.
- Confirm source ownership: Every collection, folder, website, or API feed should have an accountable owner. Record the team, contact, update frequency, and approval process.
- Review freshness: Compare the source system's last-modified dates with the ingestion and indexing timestamps. Investigate documents that have changed but have no corresponding index update.
- Find stale content: Identify expired procedures, superseded product information, archived projects, and documents with explicit review-by dates.
- Check for duplicates: Look for the same document in multiple folders, exported copies, translated variants, or versions with different filenames. Duplicates can crowd out more relevant passages and create conflicting context.
- Inspect metadata: Verify titles, document types, departments, access labels, product versions, dates, and source URLs. Metadata should support filtering and citation, not merely exist as unused fields.
- Review indexing status: Confirm that expected files were extracted, chunked, embedded, and written to the vector database without silent failures.
2. After documentation changes
When a team publishes a major revision, do not assume that a nightly or scheduled ingestion job will handle every consequence correctly.
- Compare the new source with the previous version and identify changed sections, removed instructions, and renamed headings.
- Remove or deactivate old chunks when the source content is deleted or replaced. Updating a document without deleting its prior representation can leave contradictory answers in the index.
- Preserve stable identifiers for documents where possible, while assigning a new version or checksum when the content changes.
- Recheck chunk boundaries around revised sections. A heading separated from its explanation, or a procedure split across unrelated chunks, can reduce retrieval quality even when the text is present.
- Run representative questions against both the old and new content. Include questions about exceptions, dates, eligibility, and steps that changed.
3. After users report outdated or irrelevant answers
User feedback is often the fastest signal that a RAG knowledge base needs attention. Preserve the original question, retrieved passages, final answer, citations, and relevant application settings before changing the system.
- Determine whether the needed information exists in an approved source.
- Check whether the correct document was ingested and whether its chunks are present in the index.
- Inspect the retrieved results. The issue may be a poor query, missing metadata filter, unsuitable similarity threshold, or an overly broad search.
- Check whether the model ignored relevant context or whether the context contained conflicting versions.
- Record the failure as a repeatable evaluation case. This turns an isolated complaint into a test for future prompt, retrieval, or ingestion changes.
If the problem is answer classification, routing, or escalation rather than retrieval, a structured text classification design can help separate low-confidence cases from ordinary questions.
4. When tools or models change
Refresh the maintenance plan when you change the embedding model, vector database, retrieval library, document loader, chunking strategy, language model, or orchestration framework. The same source corpus can behave differently after a pipeline change.
- Record the embedding model and relevant configuration for each index.
- Confirm whether existing vectors are compatible with the new retrieval setup. If not, plan a complete re-embedding rather than mixing representations without a deliberate design.
- Compare retrieval results on a fixed question set before and after the change.
- Recheck citations, source links, access controls, token limits, and context assembly.
- Update ingestion and framework instructions in the repository so the next maintainer can reproduce the process.
What to double-check
| Audit area | What to inspect | Useful evidence |
|---|---|---|
| Source ownership | Owner, approval path, review cadence, and canonical location | Source registry or document inventory |
| Stale content | Expired dates, archived pages, superseded procedures, and old product versions | Change log, last-modified data, review labels |
| Duplicates | Repeated files, exports, mirrors, and conflicting versions | Checksums, canonical IDs, similarity review |
| Chunk boundaries | Heading-to-body relationships, table handling, list continuity, and section size | Sampled chunks with source references |
| Metadata | Dates, versions, permissions, department, content type, and URL | Metadata completeness report |
| Indexing status | Extraction errors, skipped files, embedding failures, and write failures | Ingestion logs and document counts |
| Retrieval failures | Missed relevant passages, noisy results, poor filters, and threshold errors | Query traces and evaluation cases |
| Citations | Source accuracy, link validity, and whether the citation supports the claim | Answer review samples |
| Content removal | Whether deleted or restricted material is removed from every index and cache | Deletion records and post-removal queries |
Use a small, stable evaluation set rather than relying only on aggregate retrieval metrics. Include straightforward questions, ambiguous questions, questions requiring a specific version, and questions whose correct answer is that the knowledge base does not contain enough information. This supports prompt optimization without hiding ingestion defects behind a new system prompt.
For application-level changes, connect the audit to a prompt regression testing workflow. Retrieval and generation should be evaluated together because better passages do not guarantee a better answer, and a prompt change can alter how retrieved context is used.
Common mistakes
- Appending every new version: Keeping all historical chunks in the active index can produce answers that combine obsolete and current instructions. Retain history separately when it has legitimate value, and make version selection explicit.
- Deleting the source but not the vectors: Removing a file from a content-management system does not necessarily remove its chunks, cached results, or derived records.
- Changing chunk size without evaluation: Chunk boundaries affect context quality. Test the new strategy against real questions instead of treating a configuration change as automatically beneficial.
- Ignoring metadata quality: A technically successful ingestion can still produce poor results if product, date, permission, or document-type fields are missing.
- Measuring only the final answer: Record retrieved passages and ranking details. Otherwise, it is difficult to tell whether the problem came from source coverage, retrieval, context assembly, or generation.
- Reindexing without a rollback plan: Write the new index separately when practical, validate it, and switch traffic only after basic checks pass. Keep a known-good version long enough to recover from a bad ingestion run.
- Assuming citations prove correctness: A citation can point to a real document while failing to support the specific claim. Review citation relevance and surrounding context.
Keep the operational instructions close to the code: document the source list, environment variables, index naming convention, deletion method, evaluation questions, and approval steps. Clear runbooks are developer productivity tools because they reduce investigation time and make maintenance repeatable.
When to revisit
Set a recurring review interval based on how quickly your source material changes and how costly an outdated answer would be. A stable reference library may need a lighter scheduled audit, while support, security, operations, or policy content may require review after every significant release.
Revisit the checklist immediately when:
- a source owner reports a major revision or removal;
- users report stale, contradictory, or irrelevant answers;
- ingestion logs show missing files or processing failures;
- you change the embedding model, retrieval settings, chunking approach, or application framework;
- access rules or document classifications change;
- you launch a new product, region, workflow, or seasonal process.
Finish each audit with a dated record of findings, owners, actions, and unresolved risks. Reindex only the affected sources when the pipeline supports safe incremental updates; use a full rebuild when identifiers, embeddings, chunking, or index assumptions have changed substantially. After the update, run the evaluation set, inspect citations, test content removal, and compare a sample of answers with the previous production version.
The practical goal is not a permanently perfect knowledge base. It is a visible, repeatable maintenance loop: know what changed, know what was indexed, test what users retrieve, and preserve evidence for the next review. That loop keeps a RAG application useful as its documents, tools, and workflows evolve.