Failure Modes

What Is a RAGET Situational Question Hallucination Attack?

A RAG-evaluation test case that probes hallucination on context-conditional questions where the right answer depends on user-supplied facts like region, tier, or time.

What Is a RAGET Situational Question Hallucination Attack?

A RAGET situational-question hallucination attack is a structured test case in the RAGET evaluation taxonomy that probes a RAG system with questions whose correct answer depends on user context. The user might ask “I’m on EU enterprise. when does my refund window expire?” The corpus has rules for both tiers and regions; the right answer is conditional on the situation. The attack succeeds when the system answers generically, swaps which condition applies, or hallucinates a synthesis that no chunk supports. the canonical test for corpora with jurisdictional, tier, or temporal rules.

Why It Matters in Production LLM and Agent Systems

Most enterprise RAG systems serve corpora full of conditional rules. refund policies that vary by region, SLA tiers that vary by contract level, tax rules that vary by jurisdiction, drug guidelines that vary by patient cohort. A bot that ignores conditions gives wrong answers that look authoritative. The regulatory, financial, and reputational damage of a confidently wrong situational answer is higher than that of a refusal.

The pain is concrete. A SaaS company’s support bot answers SLA questions correctly for the dominant customer tier and confidently wrong for the minority tier. until a customer complains and the screenshot lands in marketing’s lap. A pharma RAG system answers a dosing question without conditioning on patient age and the safety team has to file an FDA-relevant incident report. A financial services bot answers a fee question correctly for US customers and wrong for EU customers, exposing the company to GDPR-adjacent complaints.

The shape of the failure is subtle. The retriever often pulls the right chunk. the one that contains the conditional rule. The model reads the chunk, locates the relevant clause, and chooses the wrong branch. Retrieval-layer evals miss it; only grounding and faithfulness evals against the specific user context catch it.

How FutureAGI Handles RAGET Situational-Question Attacks

FutureAGI’s approach is to construct a situational-question cohort that explicitly varies user context across test cases and to score every response with context-aware evaluators. Teams generate paired test cases with synthetic-data-generation. same question, different user contexts, different correct answers. load them into a Dataset, and attach Faithfulness, ContextRelevance, HallucinationScore, MultiHopReasoning, and ChunkAttribution via Dataset.add_evaluation(). The eval reports per-context pass-rate so a regression that affects one tier or region surfaces immediately.

Concretely: a SaaS support team running on traceAI-llamaindex builds a 300-pair situational-question dataset that varies tier, region, and time. After a model upgrade, Faithfulness holds steady at 0.86 globally but drops to 0.62 on the EU-tier cohort. The drill-down reveals the new model summarises the conditional clause in a way that loses the regional qualifier. The team adjusts the prompt to require explicit citation of the relevant condition, re-runs the eval, and the EU-tier cohort recovers. In production, a post-guardrail runs Faithfulness weighted by user-context attributes. flagging responses where the cited chunk does not contain the user’s specific condition. FutureAGI surfaces the per-cohort regression and the runtime context-mismatch signal.

How to Measure or Detect It

Situational-question RAG hallucination needs context-aware grading:

  • Faithfulness: 0–1 score for whether the answer is supported by retrieved chunks under the user’s specific context.
  • ContextRelevance: scores whether retrieved chunks actually match the user-context-conditioned question.
  • HallucinationScore: composite signal that compares the response to the reference-correct answer for the given context.
  • MultiHopReasoning: catches situational answers that require condition-then-rule synthesis.
  • ChunkAttribution: surfaces the specific clause the response cited; mismatches between cited clause and user context flag failures.
  • Per-context-cohort eval-fail-rate: the regression dashboard sliced by the conditioning dimension.
from fi.evals import Faithfulness, ContextRelevance, HallucinationScore

faith = Faithfulness()
ctx = ContextRelevance()
hallu = HallucinationScore()

result = faith.evaluate(
    input="I'm on EU enterprise — when does my refund window expire?",
    output=generated_answer,
    context=retrieved_chunks,
)
print(result.score, result.reason)

Common Mistakes

  • One eval cohort that ignores user context. Pass-rate looks fine globally and hides catastrophic per-cohort regressions.
  • Letting user context live only in the prompt without entering eval. Eval has to know the conditioning dimensions to score correctly.
  • Trusting Faithfulness alone. A confident answer can be faithful to one chunk but wrong for the user’s situation; pair with MultiHopReasoning.
  • No post-guardrail on context-sensitive routes. Route situational queries through a runtime grounding check before serving.
  • Skipping retest after corpus updates. A new policy clause can change the right answer for a single cohort and silently regress.

Frequently Asked Questions

What is a RAGET situational-question hallucination attack?

It is a RAG-evaluation test case from the RAGET taxonomy that probes whether a RAG system hallucinates on context-conditional questions where the answer depends on user-supplied facts like region, account tier, or jurisdiction.

How is it different from a complex-question attack?

Complex questions test multi-hop synthesis across the corpus. Situational questions test whether the system correctly conditions on user context. same corpus, different right answer depending on who is asking.

How does FutureAGI catch RAGET situational-question failures?

FutureAGI runs Faithfulness, ContextRelevance, and HallucinationScore on every RAG response, with situational test cases that vary user context as part of the regression eval gating each release.