Skip to content
Inspire AI Lab

Patterns

Patterns

Architectural decisions we reach for across client engagements.

A router block with arrows fanning out to three lanes labelled easy, medium and hard, above the line "No single best OCR engine. Route by difficulty."
patterns··12 min

Multilingual OCR: routing documents to different engines by difficulty

There is no single best OCR engine for multilingual documents. The dependable pattern is a router: detect language and script per page and per region, score how hard each page is, send easy pages to a fast conventional engine, and escalate only the hard ones — with verification, because the strongest engines are also the ones that invent text.

By Amar Mond

Three outputs produced at temperature 0, two blue and one red, marked "still not identical" and feeding a validate step, above the line "Temperature 0 is not repeatable."
patterns··10 min

Making LLM output deterministic enough for finance and tax work

Setting temperature to 0 does not make a language model repeatable, and for accounting work repeatable is the requirement. The practical answer is to stop asking the model for the final number: let it extract, let ordinary code calculate, validate everything, and record the result so the same document always gets the same answer.

By Amar Mond

Three shapes side by side, a single block labelled prompt, a row of three blocks labelled workflow and a looping arrow labelled agent, above the line "Most agents are workflows. Many workflows are a prompt."
patterns··10 min

Agent vs. workflow vs. single prompt: how to choose

Most tasks that get built as agents are workflows, and many workflows are a single well-constructed prompt. A decision framework for picking the simplest architecture that meets the requirement, what each step up costs, and the guardrails an agent needs when you really do need one.

By Amar Mond