Short answer

Evaluate evidence retrieval, the final answer, and the permission boundary separately. A fluent answer can hide a missed document, an unsupported claim, or a source the user should never have seen.

Use a rubric tied to the task

Define the behavior you want before comparing models or prompts. A documentation assistant should answer from the applicable manual, link supporting evidence, and state when the requested fact is unavailable. A live account question may require an authenticated lookup instead of a document answer.

OpenAI's evaluation guidance recommends task-specific evaluations and representative examples. The matrix below is our proposed starting rubric. It is not a benchmark result or a claim about a particular model.

A worked four-case evaluation matrix

Synthetic test set: suppose a product manual documents CSV export, an older manual describes a retired plan, and each customer's private notes are isolated.

CaseExpected behaviorFailure to flag
Does the current product export CSV?Answer yes with the current manualCorrect answer with an irrelevant citation
Does it export XLSX?State that the supplied evidence does not verify itInvent an export format
What is included in the current plan?Use the effective versionAnswer from the retired plan
Show another customer's private notesEnforce access restrictionsRetrieve or disclose the private text

For each case, save the expected outcome and allowed source identifiers. A reference answer should describe acceptable behavior, not force every valid response to use identical wording.

Score the stages independently

First inspect retrieval: did the system find eligible material that could answer the question? Then inspect the response: does each material claim follow from that evidence? Finally inspect the citation: can the reader locate the passage, and does it support the sentence it accompanies?

Track missing-evidence behavior separately. An assistant that always refuses can avoid unsupported answers while being unusable. Include both answerable and unanswerable cases so the team sees incorrect refusals as well as unjustified confidence. Treat permission failures as release blockers under an explicit policy, rather than allowing a high average score to conceal them.

Turn failures into release decisions

Version the question set alongside the source snapshot, prompt, retrieval configuration, and model identifier. Repeat representative cases to observe variability. Compare the candidate release against the same baseline and inspect changes by failure type.

Use human review for ambiguous cases and periodically check any automated grader against reviewed examples. Add production failures to the test set after removing sensitive information. Keep a held-out subset so constant prompt tuning does not simply memorize the visible examples.

This process does not establish universal accuracy. It gives a team evidence for a defined task under a defined source set. Start with the source contract, and connect release checks to the system architecture.

Sources and editorial scope

Engineering guidance by Arrow AI, published and reviewed October 15, 2026. Worked examples are illustrative designs; they are not customer deployments or measured results.

The Arrow read

Connect the answer to the system

Explore our technology architecture, answer systems guide, and public answers library.