Most GenAI systems aren't under-built. They're over-built - and nobody in the design review has a procedure to catch it.
You know the moment. Three weeks into building an autonomous agent, someone asks: "What would have to be true for a workflow to be insufficient here?" The room goes quiet. Not because the question is hard, but because there's no shared name for the alternative, no property of the task that would settle it. Someone says the workflow would be "too rigid." The agent ships. Nobody chose wrong - nobody had a way to choose right.
That's the premise of my series, Choosing a GenAI Architecture. The core claim is deliberately unglamorous:
There are eight architectures - a deterministic floor plus seven that involve a model - and therefore seven boundaries between them. Each boundary is a yes-or-no question about the task, not a judgment call about the design. Answer all seven and you know what to build. Can't answer them, and you haven't understood the problem well enough to build anything yet.
The series digs into the rungs nobody writes about - the ones you pass without stopping:
Level 0, the deterministic floor, skipped because "unstructured input" gets misread as "needs a model" - and a dictionary lookup becomes a probabilistic dependency on your incident-paging path.
Level 3, the LLM workflow, dismissed as "too rigid" on a compounding-error argument that's computed for the option it rejects and never for the one it authorises.
Level 5, multi-step reasoning, invisible as a distinct rung - so teams jump from parallel tool calls to a full agent and pay for autonomy they never needed.
And then the direction nobody goes: descending. Adding a layer is authorized by a proof - a reproducible case the current architecture couldn't handle. Removing one is authorized by "a hope with a chart attached." That asymmetry is why the idle agent layer your own metrics say does nothing is still in production.
Four of five parts are live, with a companion repo that rebuilds one incident-triage system at every rung - token counts, latencies, and failure cases reproducible locally. Measured, not asserted.
https://ranjankumar.in/guides/genai-architectures
If you've shipped an architecture you couldn't later justify - or deleted one and lived to tell it - I'd like to hear it.

Top comments (0)