Skip to main content
AI in operations

Confidence Is Not Correctness: Why Our AI Leaves a Blank Instead of Guessing

An AI that sounds sure is not evidence. Why Freight Friend leaves a rate con field blank instead of guessing, and recomputes the pay before you approve.

By Abdullahi HassanPublished 4 min read

Every answer a language model gives comes out in the same tone. A broker name it read cleanly and a broker name it pieced together from a smudged header arrive in the same font, with the same calm. There is no pause in the voice and no "I think" in front of the number.

That is the part of AI in the back office that worries me more than any headline. Not that the software is sometimes wrong. People are sometimes wrong. The worry is that the software is wrong in exactly the voice it uses when it is right.

So the rule I hold Freight Friend to is short. Confidence is not correctness. A field the software could not read stays blank, and it says so.

Why a guess is worse than a blank

A blank is honest. Someone in the office sees it, opens the PDF and types the weight in. It costs half a minute.

A guess is a debt. It sits in the load looking like every other field. Nobody checks it, because nothing tells them to. It shows up again on the invoice, then on the packet your factor sends back, maybe on a short pay weeks later. By then nobody remembers where the number came from.

In dispatch I learned that the rate con is the load. If software fills a gap on the rate con with something plausible, it has quietly rewritten the load. Plausible is the dangerous kind of wrong, because it passes a glance.

What leaving it blank looks like

When Freight Friend reads a rate con, the model works under plain instructions. Copy names, addresses, reference numbers and amounts exactly as printed. Do not invent and do not infer. Return nothing when a value is missing or unreadable. The PDF is treated as data, so instructions written inside the document are ignored.

Then the app does not trust the answer either. Every value is checked again before it reaches the load form:

  • A date has to be a real calendar date. A pickup on September 31 is left blank, with a note to enter it.
  • A time has to be a real time. If it is not, the field stays empty and the note quotes what was read.
  • A weight it cannot read is left blank. A weight over 80,000 pounds is kept and flagged.
  • A delivery dated before its pickup is flagged.
  • A rate con that says it was revised is flagged, so you check you are working from the latest one.

None of that is clever. These are the checks a careful biller runs in their head. The difference is that they run every time, on every load, including the one that comes in after dinner.

Recompute the pay, do not repeat it

Pay is where a confident wrong answer costs real money, so the pay lines are kept apart. Linehaul, fuel surcharge and each accessorial come out as their own lines, the way the broker printed them.

Then the app adds those lines up itself and compares the sum with the total printed on the rate con. If the two do not match, it does not pick one and move on. It shows both numbers and asks you to check the rate.

That is the habit I want from anyone who touches the money, person or program. Do not repeat a number because it was printed. Rebuild it from the parts, and when the parts and the total disagree, stop. Every one of the seven clauses I check before a driver rolls is easier to check when each dollar traces back to a line on the page.

How we grade the reader

We keep a set of real rate cons and score the reader against them. The answer key is typed by a person who checked each value against the PDF. The instructions for that test say it in bold: never copy what the AI read into the answer key without checking every value against the paper.

That rule is the whole point. A test that grades the model with the model's own answers measures confidence, not correctness.

When the key fields (broker, rate, pickup and delivery dates and addresses) fall below the bar we set, the run fails. Any change to the reader has to show that run in its review before it merges.

I am not printing a score here. A percentage without the samples behind it is just another confident number.

A person still says yes

All of that ends in front of a person. The drafted load waits as pending approval until someone in your office looks at it and approves it. Nothing the reader produces becomes a load on its own.

That is not a lack of faith in the software. It is where the liability sits. If the rate on the invoice is wrong, nobody calls the model. They call you, and you are the one who has to explain it.

So the job I give the software is narrow. Read the paper. Say what it found. Leave a blank where it could not read. Recompute what can be recomputed, and flag what does not add up. The yes stays with a person.

Freight Friend reads the rate con, keeps every pay line traceable and leaves the blank where a guess would have gone. You are still the one who decides.

For carriers running 3–10 trucks

Claim a founding spot

$99/mo flat for up to 10 trucks, locked for 12 months (list price $145). Nothing is charged until your factor accepts your first Freight Friend packet.

Claim a founding spot

Back to Resources