Most RAG logging setups capture the full prompt and full response and nothing else, which makes debugging a bad answer nearly impossible six weeks later.
Log this
- The retrieved chunk IDs and their similarity scores, not just the final context text.
- Whether a confidence gate or relevance check fired, and its verdict.
- Latency per stage (embed, search, rerank, generate), not just total time.
- User feedback (thumbs up/down) linked to the exact chunk IDs used.
- Query rewrites, if you decompose or rewrite the original question.
Skip logging every raw embedding vector
Vectors are expensive to store and rarely useful after the fact — you can always re-embed the original chunk text if you need to inspect it. Log the text and the score, not the numbers.
See testing LLM applications, a practical guide for how this logging feeds an evaluation loop.






