03

LLM: Describe the job; let a model do it at runtime

Instead of hand-coding logic or buying a product, you give a model the task: a prompt, tools, context and evals. The behavior lives in instructions, not in code, and the model runs it on every request.
Pros & cons
+Prototype in hours
▲ stronger

A prompt and a few tools get a working version the same day. Iterate by editing text.

✦Better models, agent SDKs and tool calling make the first prototype close to production quality.

+Handles the fuzzy long tail
▲ stronger

Unstructured text, PDFs, images, languages, typos. It covers cases no one would ever write a rule for.

✦Each model generation takes on messier inputs with less prompting.

+Improves for free
▲ stronger

Swap in a newer model and quality goes up without touching your code.

✦Model upgrades arrive every few months. That's R&D you get without paying for it.

+Changes without deploys
● same

New policy? Edit the prompt, re-run evals, ship. Domain experts can do it too.

✦This was always true. What's changed is that evals make it safe.

+Natural-language interface
▲ stronger

Users and operators just ask. No forms and no training on a new UI.

✦Users now expect to be able to just ask.

−Non-deterministic
▼ weaker

The same input can produce different outputs. You need evals, guardrails and human review for high-stakes paths.

✦Structured outputs, better models and eval tooling reduce variance, but it never reaches zero.

−Per-call cost & latency
▼ weaker

Every request pays tokens and seconds. At millions of calls, the unit economics can dominate.

✦The price for a given capability has been falling several-fold per year, and small models cover more tasks.

−Hallucinations & correctness
▼ weaker

Confident wrong answers. Dangerous where money, health or law is involved.

✦Grounding, tool use and verification loops help. High-stakes paths still need deterministic checks.

−Security: prompt injection
● same

Untrusted input can steer the model. Tools with side effects need strict permissioning.

✦Still an open problem. Treat model output as untrusted input.

−Auditability
● same

It's hard to explain to an auditor why the model decided X. There's no line of code to point at.

✦Traces help, but regulators still want deterministic, explainable decision paths.

green = AI helps this optionred = AI hurts this option▲▼ = the point itself gets stronger / weaker
Score profile
Time to market3 → 5
Low upfront cost3 → 5
Low cost at scale1 → 3
Fit & control3 → 4
Differentiation2
Reliability & determinism1 → 3
Low maintenance burden2 → 3
Low lock-in2 → 4
Handles messy input4 → 5
Compliance & audit1 → 2
Grey = pre-AI (2022). Colour = AI era (2026). 5 = best.
Reach for LLM when
  • →Inputs are unstructured or open-ended
  • →An occasional error is cheap and can be caught
  • →The spec is unclear. Use the LLM to discover it
  • →Volume is moderate, or cost per call is falling fast
Examples: Support triage & replies · Document / invoice extraction · Reconciliation of messy exports
  • why it mattersTreat the prompt as code. Version it, test it with evals, and review changes to it. Otherwise nobody can say what the system does.
  • why it mattersLLM output is untrusted input. Validate it with schemas, and put deterministic checks in front of anything that moves money.
  • why it mattersOnce an LLM flow stabilises and volume grows, have an agent turn the learned behaviour into deterministic code. Keep the model for the long tail.