Lesson 4 of 4
Flag Unverified Claims
Estimated time: 10 minutes
Flagging Unverified Claims
An agent can produce a fluent, plausible claim it never checked. The problem is not confident language; it is mixing what came back from a tool or a named source with what the model inferred, and presenting both as the same kind of thing.
Separate the two kinds of statement
Before a claim goes into a report, ask where it came from. If a tool returned it or a source states it, it is verifiable. If it came from the model's own reasoning, it is an inference and should be labelled as one.
Require a source for facts
Facts need an origin. When there is none, either find one or drop the claim. A report that marks its uncertain lines is more useful than one that sounds uniformly sure, because a reader knows which parts to double check.
def label(claim):
# a claim without a source is an inference, not a fact
if claim.get("source"):
return "fact"
return "inference"
Abstain when nothing supports it
When a question cannot be supported by any tool result or source, saying so is the correct answer. A best guess dressed as a fact is the failure mode this whole habit exists to prevent.
Tips
- Tag every factual line with the source that produced it before writing the report.
- Mark model-inferred statements as inferences rather than folding them into facts.
- Abstain where nothing supports the claim instead of guessing with confidence.
- Gotcha: fluent wording is not evidence, since tone carries no information about truth.
- Gotcha: a claim repeated twice in the same report is still one uncited claim, not corroboration.