
Your Architecture is Not an LLM Sandbox
The AI movement is built on the promise that every problem can be solved with a giant model and a clever prompt. As pragmatic developers, we know better. Introducing a large language model (LLM) into your production stack adds non-deterministic cost, probabilistic unreliability, and exponential complexity. You are the architect, and your job is to build systems that are robust, efficient, and predictable. So, how do you decide when to take the leap? This is not about the AI you can build; it’s about the robust, efficient system you must build.
1. The Core Problem: The AI Over-Engineering Tax
We are so mesmerized by what LLMs can do that we use them for tasks that could be solved with a few lines of deterministic code, incurring what I call the AI Over-Engineering Tax.
- The Cost: Paying for API tokens, managing non-deterministic outputs, building retry logic, and dealing with hallucinations—all to solve a problem that SQL or a simple regex could handle reliably in milliseconds for free.
- The Principle: Never solve a deterministic problem with a probabilistic tool.
- The Goal: Use AI only for its unique strengths (unstructured data, language complexity, generation).
2. The 4-D Test: Your AI Decision Framework
Before you write import openai or deploy that custom agent, run your problem through this four-part checklist. If you can answer ‘Yes’ to the first three and ‘No’ to the last one, you’ve found a good AI use case.
| Dimension | The Question | The Pragmatic Constraint |
| Discovery | Is the core task impossible to solve with traditional code? | YES: Must involve handling unstructured data (text, image, audio) or human language. |
| Discretion | Does the task require nuanced judgment or creativity? | YES: Must be a problem where 80% accuracy is acceptable and the remaining 20% can be fixed, verified, or is low-stakes. |
| Deployment | Is the chosen solution the simplest AI pattern (Prompting, RAG, Fine-Tuning)? | YES: Start with Prompting. Only escalate to RAG if you need context. Only escalate to Fine-Tuning if you need a new skill. |
| Dependence | Would the failure of the AI-driven component cause catastrophic or illegal consequences? | NO: Must NOT be the sole decision-maker for critical path processes (e.g., medical diagnosis, financial transaction approval, legal compliance). |
3. The New Identity: From Coder to Orchestrator
The rise of LLMs doesn’t make your engineering skills obsolete; it changes your job description.
You are no longer just a coder; you are an AI Orchestrator.
Your most valuable skill shifts from writing perfect implementation code to two high-leverage activities:
- Defining the Boundaries: Rigorously applying the 4-D Test to separate the deterministic work (which stays in traditional code) from the probabilistic work (which goes to the LLM).
- Building the Guardrails: Writing the code that surrounds the LLM. This includes:
- Input Validation: Cleaning and structuring data before it hits the prompt.
- Output Validation: Using Schema-enforced JSON to force the LLM to return predictable, deterministic data structures.
- Tooling/Function Calling: Defining explicit functions that the LLM must call to perform actions, controlling its ability to interact with the rest of your system.
Conclusion: Build With Intent, Not Just Capability
The ultimate power of the pragmatic AI developer is not the ability to use the newest model, but the discipline to not use it when a simpler, cheaper, more reliable solution exists.
Focus on measurable value and architectural reliability. AI is an amplifier, but it amplifies sloppy architecture just as easily as it amplifies brilliance. Use the 4-D Test to ensure you’re amplifying the right things.


