Engineering

Teaching an AI product to say 'I'm not sure'

A language model's most dangerous trait is not that it is sometimes wrong. It is that it is wrong in the same even, fluent, self-assured voice it uses when it is right — and a product that cannot tell the difference makes you check every answer by hand.

The confident guess

Ask a model to read a number off a smudged invoice and it will give you a number — a plausible, well-formatted, entirely invented number — with no tremor in its tone to warn you it guessed. The fluency that makes these systems useful is the same fluency that makes their mistakes hard to catch. Nothing in the delivery marks the difference between a value read and a value fabricated.

In casual use that is a curiosity. In a product that feeds a ledger, a tax filing, or a payment, it is a liability. The real failure mode of naive AI software is not the visible error you catch and fix; it is the invisible one, the confident value that slips through because nothing about it looked uncertain. A system that cannot flag its own doubt is a system you have to double-check completely — which is the work it was supposed to remove.

Teaching software to hesitate

The fix is to make uncertainty a first-class output, sitting right alongside the answer. For every value the system extracts, it reports how confident it is in that specific value — not a vague global "the model is usually good", but a per-field score grounded in how clear the source actually was. High confidence flows straight through. Low confidence stops and asks for a human.

That threshold is the whole design. Below it, a field routes to review rather than into the ledger, so a person confirms the handful of values that were genuinely ambiguous instead of re-checking all of them. The machine does the reading; the human spends their attention only where the reading was hard. Trust is not built by the system never being unsure — it is built by the system being honest about when it is.

What this looks like in practice

Docusift does exactly this: every field it pulls off a document carries its own confidence score, and the uncertain ones are surfaced for review instead of landing unchecked in QuickBooks or a spreadsheet. It is why a template-free reader can be trusted on a layout it has never seen — the honesty about uncertainty is what makes the automation safe to leave running. You can read how the reading itself works in how Docusift reads any document.

This is what AI-native is supposed to mean. The intelligence does the real work — reading, extracting, judging — and part of doing that work well is knowing the edge of its own competence and stepping back at it. When we build AI into custom software, we build the hesitation in too; it is a first requirement, not a later refinement. That is the standard behind AI-native app development.

Questions

People also ask

    What is a confidence score in an AI product?

    A per-field measure of how sure the system is about a specific value it produced, based on how clear the source was. Values above a threshold flow through automatically; values below it route to a human for review instead of being accepted blindly.

    Why is flagging uncertainty better than a more accurate model?

    No model is right every time, so the risk is not the occasional error but the confident one that slips through unchecked. Reporting uncertainty per field concentrates human attention on exactly the hard cases, which is what makes the automation safe to rely on.