At Amazon we write narratives instead of slide decks. Last week I asked an AI to help me draft a proposal, and it gave me a solid document with a specific claim about latency improvement from a migration. A concrete percentage. A precise mechanism explaining why the improvement would happen. Both wrong. The mechanism didn't apply to my architecture at all, and the percentage was invented from nothing.

I opened a fresh session, pasted the same document, and asked it to verify every claim. It caught the latency number in seconds. Explained exactly why the cited mechanism wouldn't produce that result. Suggested what the real bottleneck was. Same model. Same weights. Same afternoon. The knowledge to correct the claim was always there. The model just couldn't access it while it was busy generating.

Most people have this backwards. They trust AI's generated output and distrust its judgment. I do the opposite. I treat everything it generates as probably wrong in at least one specific way, and I use its judgment in a fresh session to find where. The generation is the cheap part, the scaffolding. The verification is where the model actually earns its keep.

The fabrications don't look like guesses. They look like facts. A model that isn't sure will still give you a specific IAM policy ARN, a concrete compression ratio, an exact library version. It doesn't signal uncertainty because it doesn't experience uncertainty. Every token arrives with the same confidence whether it's drawing on real training data or filling a gap with something plausible. The more specific a claim is, the more I've learned to distrust it. Specificity in generated text is decoration, not evidence.

For days I verified in the same session. I'd generate something, then ask "is this correct?" in the same conversation. Useless. The model won't contradict itself in context. It has too much inertia toward its own output. It'll find you a typo, maybe suggest a rewording, but it won't say "that number I gave you two messages ago was fabricated." It doesn't work that way. You need a session that has never seen the output, one that encounters the text cold and has no loyalty to it.

I don't use AI to be right on the first pass anymore. I use it to be wrong fast, then catch itself. Generate, then spawn a separate critic agent whose only job is to take each claim and verify it against the original source. The model that made the mistake is the same model that finds it. I just need to put it in a different chair.