agent hallucinating experiment results for runs that never existed and reporting failed metrics as passed
Ground every reported number in a fetched record: the agent invented runs because it generated the report's shape first and filled values from plausibility instead of queries. Use when an agent reporting experiment results to a team or a log. Not for a report over runs that were deleted after being fetched earlier, where the fix is labelling historical data rather than treating it as invented.
TL;DR
Ground every reported number in a fetched record: the agent invented runs because it generated the report's shape first and filled values from plausibility instead of queries. Require each reported run to carry an id that resolves on the tracker, verify a sample of the report's claims against live fetches, and block the report when any cited id fails to resolve.
agent hallucinating experiment results for runs that never existed and reporting failed metrics as passedUse this when
- The run or call fails with this symptom: agent hallucinating experiment results for runs that never existed and reporting failed metrics as passed.
- You are working on an agent reporting experiment results to a team or a log and the failure repeats on the same run or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.
Not for this skill when
- A report over runs that were deleted after being fetched earlier, where the fix is labelling historical data rather than treating it as invented.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.
Steps
- Extract every run id and metric value from the draft report and resolve each id against the tracker. Verify: unresolvable ids are listed
- For resolved runs, compare the reported metrics and statuses with the tracker's actual values. Verify: value mismatches are listed separately from missing runs
- Regenerate the report from fetched records only, with the fetch results, not the model's memory, as the data source. Verify: every claim in the new report maps to a fetched record
- Add a verification pass that fails the report if any citation does not resolve, and run it before delivery. Verify: the gate runs and passes on the corrected report
Variant phrasings
agent hallucinated experiment results runs never existed
The verbatim phrasing.
agent reported failed metrics as passed invented runs
The false-pass phrasing.
agent experiment report not grounded verify run ids
The grounding phrasing.
Compatibility: Agent reporting pipelines that must cite tracker data for every claim
Why it happens
A language model asked for results will produce results-shaped text whether or not it looked anything up, and plausible numbers for plausible runs are its default output. Without a fetch-and-cite discipline enforced mechanically, invention is indistinguishable from reporting until someone checks an id.
Edge cases / pitfalls
- Status flips, failed reported as passed, are the most damaging invention; verify statuses even when ids resolve.
- Keep fetch snapshots with the report so later checks compare against what the agent saw, not a changed tracker.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_oCUK7akyBC9VuEUACowR8w