Service · the usual starting point
It shipped,
and nobody can tell you why.
The feature demoed well. It went live. Now it invents line items, or quietly returns the wrong number, or was fine for six weeks and is not fine any more — and the person who could explain it has moved on or was never there.
This is the most common way AI work reaches me, so it is the first thing listed. It is a diagnosis before it is a rebuild: I find out what is actually wrong, price the fix, and tell you if the honest answer is that it should be turned off.
The worked example below is document and media extraction, because that is where being wrong is most expensive and where most of my shipped evidence lives. The method is the same whatever the surface.
The constraint
A number you cannot point at is not an answer.
Every design decision on this page follows from that sentence.
What goes in
Named formats, not “any data”. The difficulty is not the file type — it is how far the real input sits from the sample you built against.
The pipeline
Six stages. The model appears in exactly one of them — stage 02, where it reads. It is deliberately kept out of the judgement.
Ingest
Normalise the input, record its hash, and keep the original. You cannot re-derive what you did not keep.
Read
OCR, transcription, or direct parse. This is where a model earns its place — reading messy input is what it is genuinely good at.
Extract
Into a typed schema, not free text. A schema that fails loudly beats a blob that fails silently.
Score
Per-field confidence, from the extractor and from cross-checks. Confidence that gates nothing is decoration.
Route
High confidence goes to the table of record. Low confidence goes to a human queue. Nothing goes straight through unexamined.
Attest
Every field carries its origin — the page, the timestamp, the frame, the cell. This is the part that survives an audit.
How these break
Five failures I expect to find in a system that was built to demo. If you recognise two or more, start with the audit — it is the cheaper way in, and it prices the rescue before you commit to it.
What it costs to run
The honest answer is that inference is rarely the line item that hurts. At volume, the cost is dominated by how many times you send the same page, how large a model you sent it to, and how much of the document you sent when a single page would have done.
A pipeline that caches aggressively, routes easy pages to a small model, and only escalates on low confidence usually costs a fraction of the naive version — and is more accurate, because the escalation path exists at all.
I publish a real cost breakdown at volume in the cost guide rather than quoting a range here.
Where the money goes, typically
Illustrative ratios, not a quote. The real number depends on your document mix and is something the audit measures.