This prompt is designed for QA engineers and evaluation pipeline builders who need to programmatically assess the quality of a multi-turn Retrieval-Augmented Generation (RAG) assistant. The core job-to-be-done is automated regression testing and production monitoring: you want a structured, repeatable scorecard that tells you if a conversation is breaking down across multiple turns. The ideal user is someone integrating an LLM-as-a-judge into a CI/CD pipeline for prompt changes or a nightly production eval harness. It is not a prompt for grading single-turn factoid Q&A, creative writing, or open-ended chatbot personality. It assumes a complete, structured input: the full conversation transcript, the evidence retrieved at each turn, and the final answers provided by the assistant under test.
Prompt
Conversational RAG Evaluation Rubric Prompt

When to Use This Prompt
Defines the ideal use case, required inputs, and clear boundaries for deploying the Conversational RAG Evaluation Rubric Prompt in an automated QA pipeline.
To use this effectively, you must provide the prompt with a specific evaluation context. The prompt expects a JSON or structured text block containing the conversation history, a mapping of which evidence chunks were available for each user query, and the assistant's corresponding responses. The output is a structured rubric with five dimensions: turn consistency (does the answer contradict prior turns?), citation accuracy (are claims correctly sourced?), clarification appropriateness (did the assistant ask the right questions when confused?), abstention correctness (did it refuse to answer when evidence was missing?), and evidence faithfulness (is the answer grounded in the provided text?). Each dimension receives a score and a pass/fail flag based on strict criteria, making the output directly consumable by an automated test harness.
Do not use this prompt for single-turn RAG evaluation or for grading open-ended creative generation. It is specifically calibrated for the failure modes of multi-turn systems, such as context drift, stale evidence reuse, and contradictory answers across a session. Before running this at scale, validate the rubric against a golden dataset of 20-30 conversations where you have manually assigned pass/fail grades. If the judge's scores deviate significantly from human consensus, adjust the dimension definitions or add few-shot examples of edge cases. For high-stakes domains like healthcare or legal, always route failing conversations for human review rather than relying solely on the automated score.
Use Case Fit
Where this evaluation rubric prompt works, where it fails, and the operational preconditions for reliable automated assessment of multi-turn RAG quality.
Good Fit: Automated Regression Gates
Use when: You have a golden dataset of multi-turn conversations with known-good answers and citations. This prompt excels as a pre-release gate that scores every conversation turn against consistency, grounding, and abstention criteria before deployment. Guardrail: Run the rubric on a statistically significant sample; a single passing score is not a release signal.
Bad Fit: Single-Turn Factoid QA
Avoid when: Your RAG system only handles isolated questions with no conversation history. The rubric's multi-turn consistency and clarification metrics will produce noisy, irrelevant scores. Guardrail: Use a simpler factuality-only rubric for single-turn evaluation and reserve this prompt for conversational systems.
Required Inputs
What you must provide: A full conversation transcript with turn boundaries, the retrieved evidence for each turn, the model's answers with citations, and ground-truth annotations for at least abstention correctness. Guardrail: Missing turn-level evidence makes citation accuracy scoring impossible; validate input completeness before running the rubric.
Operational Risk: Judge Model Bias
What to watch: The model running this rubric may share biases with the model being evaluated, leading to inflated scores on fluency-heavy but factually weak answers. Guardrail: Cross-validate rubric scores against human evaluation on a random sample, and track score correlation drift over time.
Operational Risk: Rubric Drift Over Time
What to watch: As your RAG system's behavior changes, the rubric's pass/fail thresholds may become too lenient or too strict, masking regressions or blocking legitimate improvements. Guardrail: Version your rubric alongside your prompts and recalibrate thresholds quarterly against production data.
Bad Fit: Real-Time Guardrailing
Avoid when: You need to block a bad answer before it reaches the user. This rubric is a post-generation evaluation tool, not a streaming interceptor. Guardrail: Pair this offline eval prompt with lightweight online checks for immediate risks like PII leakage or refusal failures.
Copy-Ready Prompt Template
A reusable evaluation prompt for grading multi-turn RAG quality across consistency, citation, clarification, and abstention.
This prompt template is designed to be dropped directly into an evaluation harness. It instructs the model to act as a strict evaluator, grading a conversational RAG assistant's final answer against a detailed rubric. The rubric covers four critical dimensions: turn consistency, citation accuracy, clarification appropriateness, and abstention correctness. Each dimension is scored on a defined scale, with clear pass/fail criteria and a requirement for a structured JSON output that your test suite can parse.
textYou are a strict evaluator grading the quality of a conversational RAG assistant's response. Your task is to evaluate the assistant's final answer based on the provided context, conversation history, and the evaluation rubric below. You must output a single, valid JSON object conforming to the [OUTPUT_SCHEMA]. ## EVALUATION INPUTS **Conversation History:** [HISTORY] **Current User Question:** [QUESTION] **Retrieved Evidence for Current Turn:** [EVIDENCE] **Assistant's Final Answer to Evaluate:** [ANSWER] ## EVALUATION RUBRIC Evaluate the answer on the following four dimensions. For each, provide a score and a brief, evidence-based justification. 1. **Turn Consistency (1-5):** Does the answer contradict any previously established facts or answers from the conversation history? A score of 5 means perfect consistency; 1 means a direct contradiction of a prior, resolved point. 2. **Citation Accuracy (1-5):** Are the claims in the answer directly supported by the provided [EVIDENCE]? Are citations present and correctly attributed? A score of 5 means every factual claim is perfectly grounded with a correct citation; 1 means a hallucinated claim or fabricated citation. 3. **Clarification Appropriateness (1-5):** If the question was ambiguous, did the assistant ask a helpful, targeted clarifying question instead of guessing? If the question was clear, this should be scored a 5. A score of 1 means it answered an ambiguous question without clarification, or asked a redundant question. 4. **Abstention Correctness (Pass/Fail):** If the [EVIDENCE] was insufficient to answer the question, did the assistant correctly abstain or express uncertainty? If the evidence was sufficient, this is a "Pass". A "Fail" means it answered confidently with no evidence, or abstained when a clear answer was present. **Overall Pass/Fail:** The answer passes if Turn Consistency >= 4, Citation Accuracy >= 4, Clarification Appropriateness >= 4, and Abstention Correctness is "Pass". Otherwise, it fails. [OUTPUT_SCHEMA] { "turn_consistency": { "score": "int (1-5)", "justification": "string" }, "citation_accuracy": { "score": "int (1-5)", "justification": "string" }, "clarification_appropriateness": { "score": "int (1-5)", "justification": "string" }, "abstention_correctness": { "result": "string (Pass|Fail)", "justification": "string" }, "overall_pass": "boolean" }
To adapt this template, replace the square-bracket placeholders with data from your test harness. The [HISTORY] should be a serialized representation of the prior conversation turns. The [EVIDENCE] field must contain the raw text chunks retrieved for the current [QUESTION]. The [ANSWER] is the final string output from your RAG system. The [OUTPUT_SCHEMA] is provided inline as a JSON schema for clarity, but you can move it to your system prompt or a structured output API parameter. For high-stakes domains, ensure a human reviews a sample of failing evaluations to calibrate the rubric and prevent subtle errors from being automated away.
Prompt Variables
Inputs the Conversational RAG Evaluation Rubric Prompt needs to produce a reliable, structured evaluation. Validate these variables before calling the model to prevent schema failures, missing context, or ambiguous scoring.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CONVERSATION_HISTORY] | The full multi-turn dialogue to be evaluated, including user questions and assistant answers. | User: What is the return policy? Assistant: You can return items within 30 days. User: Does that include sale items? | Must be a non-empty array of turn objects with 'role' and 'content' fields. Parse check: valid JSON array. Null not allowed. |
[RETRIEVED_EVIDENCE] | The set of source passages retrieved for the final assistant turn under evaluation. | [{"doc_id": "doc_12", "passage": "All sale items are final sale and cannot be returned."}] | Must be an array of objects with 'doc_id' and 'passage' fields. Schema check: required fields present. Empty array allowed if no evidence was retrieved. |
[RUBRIC_DIMENSIONS] | The specific evaluation criteria to score, such as 'citation_accuracy' or 'abstention_correctness'. | ["turn_consistency", "citation_accuracy", "clarification_appropriateness"] | Must be a non-empty array of strings matching a predefined set of allowed dimension names. Enum check: reject unknown dimensions. Null not allowed. |
[PASS_FAIL_THRESHOLDS] | The minimum score required for each dimension to be considered a pass. | {"turn_consistency": 0.8, "citation_accuracy": 0.9} | Must be a JSON object mapping dimension names to float values between 0.0 and 1.0. Schema check: values are numbers. Confidence threshold: dimensions without a threshold default to 0.8. |
[OUTPUT_SCHEMA] | The exact JSON schema the model must use to return its evaluation. | {"type": "object", "properties": {"dimension_scores": {"type": "object"}, "overall_pass": {"type": "boolean"}}} | Must be a valid JSON Schema object. Parse check: valid JSON. Schema check: must include 'dimension_scores' and 'overall_pass' properties. Null not allowed. |
[FEW_SHOT_EXAMPLES] | Optional examples of correctly evaluated conversations to guide the model's scoring calibration. | [{"conversation": "...", "evidence": "...", "evaluation": {"overall_pass": true}}] | Must be an array of objects, each with 'conversation', 'evidence', and 'evaluation' fields. Null allowed if no examples are provided. Retry condition: if provided, examples must parse as valid JSON. |
[ABSTENTION_POLICY] | A description of when the assistant should have abstained from answering, used to judge abstention correctness. | Abstain when the retrieved evidence contains no information relevant to the user's question. | Must be a non-empty string. Null not allowed. Approval required: this policy should be reviewed by a domain expert before use in high-stakes evaluations. |
Implementation Harness Notes
How to wire the Conversational RAG Evaluation Rubric Prompt into an automated evaluation pipeline with validation, retries, and human review gates.
This prompt is designed to be the scoring engine inside an automated evaluation harness, not a one-off manual review tool. The harness should feed the prompt a structured conversation transcript, the retrieved evidence for each turn, and the system's generated answers. The prompt returns a JSON evaluation payload that downstream systems can parse, log, and act on. The primary integration point is a post-generation evaluation step: after your RAG system produces a multi-turn answer, the harness calls this rubric prompt before the answer reaches the user or is logged for offline analysis. For high-stakes domains, insert a human review gate when the overall_score falls below a defined threshold or when any critical dimension (e.g., citation_accuracy, abstention_correctness) is flagged as fail.
Wire the prompt into your application by constructing a test case object with the required fields: [CONVERSATION_HISTORY] as a list of role-content-turn triples, [RETRIEVED_EVIDENCE] as a mapping of turn IDs to ranked passage lists, and [SYSTEM_ANSWERS] as the assistant's responses per turn. The prompt template expects these inputs to be serialized into the [INPUT] placeholder. On the output side, parse the JSON response and validate it against a strict schema: confirm that overall_score is a float between 0.0 and 1.0, that each dimension object contains a score, pass_fail enum (pass, fail, not_applicable), and a non-empty rationale string. If validation fails, retry the prompt once with the validation error message appended to the [CONSTRAINTS] field. If the retry also fails, log the raw output and escalate for manual review rather than silently accepting a malformed evaluation.
Model choice matters for rubric consistency. Use a model with strong instruction-following and JSON output capabilities, such as gpt-4o or claude-3-5-sonnet, and set temperature=0 to maximize scoring determinism. For cost-sensitive pipelines running high-volume evaluations, consider routing simpler pass/fail checks to a smaller model like gpt-4o-mini and reserving the full rubric prompt for borderline cases. Log every evaluation result with the prompt version hash, model identifier, and input transcript ID to maintain an audit trail. When deploying changes to the rubric prompt itself, run a regression suite against a golden dataset of scored conversations to detect drift in scoring behavior before the new version reaches production. The next step is to build a dashboard that surfaces overall_score distributions, per-dimension failure rates, and conversation-length trends so the team can spot systemic RAG quality regressions early.
Expected Output Contract
Defines the structured JSON response for the Conversational RAG Evaluation Rubric Prompt. Use this contract to validate the model's output before passing scores to an automated evaluation harness or dashboard.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
evaluation_id | string | Must match the [EVALUATION_ID] input or a generated UUID v4 if not provided. | |
overall_score | number | Must be a float between 0.0 and 1.0. Check that the value is within the inclusive range. | |
overall_pass | boolean | Must be true if overall_score >= [PASS_THRESHOLD], else false. Validate consistency with overall_score. | |
criteria | array of objects | Array length must equal the number of criteria defined in [RUBRIC_CRITERIA]. Parse and check element count. | |
criteria[].name | string | Must exactly match one of the criterion names provided in [RUBRIC_CRITERIA]. Perform exact string match. | |
criteria[].score | number | Must be a float between 0.0 and 1.0. Validate range. | |
criteria[].pass | boolean | Must be true if criteria[].score >= [PASS_THRESHOLD], else false. Validate consistency. | |
criteria[].rationale | string | Must be a non-empty string with a minimum length of 20 characters. Check length after trimming whitespace. |
Common Failure Modes
What breaks first when evaluating multi-turn RAG quality and how to guard against it in your eval pipeline.
Turn Boundary Misalignment
What to watch: The evaluator grades an answer against the wrong conversation turn, penalizing a correct response to a prior question or ignoring a follow-up that changed the user's intent. This inflates false negatives and masks real failures. Guardrail: Include explicit turn-index markers in your eval payload and validate that the rubric references the correct turn_id before scoring. Add a pre-eval check that confirms the question-answer pair alignment.
Citation Drift Across Turns
What to watch: The rubric penalizes a response for missing a citation that was provided in a prior turn, or fails to detect when a follow-up answer reuses a source without re-citing it. Citation consistency scores degrade silently. Guardrail: Track a running set of cited source IDs across the session. The eval must distinguish between 'citation already established' and 'citation missing for a new claim.' Add a cross-turn citation persistence check to the rubric.
Clarification vs. Abstention Confusion
What to watch: The evaluator treats a legitimate clarification request as a failure to answer, or scores an abstention as a clarification. This misclassifies appropriate system behavior as an error, especially in ambiguous multi-turn scenarios. Guardrail: Define strict, mutually exclusive criteria for clarify, abstain, and answer in the rubric. Include few-shot examples of each in the evaluator prompt and validate the output label against the expected action for that turn.
Stale Context Penalty
What to watch: The evaluator marks an answer as ungrounded because it relies on evidence retrieved in a prior turn that has since expired or been contradicted. The answer is factually correct for the old context but wrong for the current state. Guardrail: The eval harness must supply the evaluator with a context freshness map, indicating which evidence chunks are still valid. The rubric must include a 'temporal relevance' criterion that checks if the answer uses evidence appropriate to the current turn.
Over-Penalizing Conversational References
What to watch: The evaluator flags an answer as ungrounded because it uses conversational references like 'as I mentioned' or 'the previous option' without re-citing the source. The answer is faithful to the conversation but fails a strict grounding check. Guardrail: Add a 'conversational grounding' criterion to the rubric that explicitly permits references to prior, already-cited answers. The evaluator should only require a new citation when a new factual claim is introduced.
Hallucinated Clarification Options
What to watch: The system asks a clarifying question that presents options not supported by the retrieved evidence, and the evaluator fails to flag it because the clarification format looks correct. The system invents plausible-sounding but false choices. Guardrail: The rubric must include a check that any options presented in a clarification request are directly traceable to the retrieved context. If the system offers 'A or B,' both A and B must be grounded in the evidence provided for that turn.
Evaluation Rubric for the Judge Prompt Itself
Use this rubric to test whether the Conversational RAG Evaluation Rubric Prompt produces reliable, calibrated scores before trusting it in CI/CD. Each criterion targets a specific failure mode that breaks automated evaluation pipelines.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Output Schema Adherence | Output is valid JSON matching [OUTPUT_SCHEMA] on every call for 50+ test cases | JSON parse errors, missing required fields, or extra fields not in schema | Schema validator in eval harness; reject any response that fails JSON.parse or JSON schema validation |
Score Calibration Stability | Same conversation evaluated 5 times produces scores within ±0.5 points on a 1-5 scale for each dimension | Score variance exceeds 1.0 points across repeated evaluations of identical input | Run 5 evaluations on 10 golden conversations; compute standard deviation per dimension; flag if stddev > 0.5 |
Pass/Fail Consistency | Binary pass/fail decisions match human ground truth on 90%+ of 100 labeled examples | Judge passes hallucinated answers or fails well-grounded answers in more than 15% of cases | Compare judge pass/fail against 100 human-labeled examples; measure precision and recall per failure category |
Citation Accuracy Detection | Judge correctly flags missing or fabricated citations in 95%+ of test cases with known citation errors | Judge assigns passing scores to answers with fabricated citations or fails answers with correct citations | Inject 20 conversations with known citation errors (missing, fabricated, wrong source); measure detection rate |
Turn Consistency Scoring | Judge identifies contradictions across turns in 90%+ of multi-turn test cases with planted inconsistencies | Judge fails to flag answers that directly contradict prior turn statements | Create 15 multi-turn conversations with planted contradictions; verify judge flags inconsistency in turn_consistency dimension |
Abstention Appropriateness | Judge correctly distinguishes appropriate abstention from inappropriate abstention in 90%+ of boundary cases | Judge penalizes correct abstention when evidence is insufficient or rewards answers that should have abstained | Test 25 boundary cases where abstention is correct vs incorrect; measure alignment with human judgment |
Clarification Quality Assessment | Judge scores good clarification questions higher than poor ones in 85%+ of pairwise comparisons | Judge assigns identical scores to a targeted clarification and a vague 'can you rephrase?' response | Create 30 pairwise comparisons of clarification quality; measure concordance with human preference labels |
Context Window Robustness | Judge produces consistent scores when conversation length varies from 2 to 20 turns | Scores degrade or become erratic for conversations exceeding 10 turns | Evaluate same conversation truncated to 2, 5, 10, 15, and 20 turns; verify score stability within ±0.5 across lengths |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base rubric prompt with a single-turn evaluation focus first. Strip multi-turn consistency checks and run against a small golden set of 20-30 conversation pairs. Accept raw model output without schema validation to iterate quickly on rubric wording.
Watch for
- Rubric criteria that are too vague to score consistently
- Missing pass/fail thresholds that make results unactionable
- Overly long prompts that exceed context windows when conversation history is included

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us