The Guardrails Paradox: How Constraining Your Agent Makes It More Capable

When you give an agent no constraints, it operates from a prior built from the entire internet. That prior is vast, statistically dominated by the loudest voices, and calibrated for no one in particular.

The Guardrails Paradox: How Constraining Your Agent Makes It More Capable

There is a counterintuitive truth at the heart of building reliable AI agents: the more you constrain them, the more useful they become.

This feels wrong. The promise of large language models is their generality. A model trained on the breadth of human writing can, in theory, do almost anything. Why would you want to limit that? Why add rules, context, and restrictions to something that already knows everything?

Because knowing everything is not the same as knowing what you need right now.


The Infinite Possibility Problem

When you give an agent no constraints, it operates from a prior built from the entire internet. That prior is vast, statistically dominated by the loudest voices, and calibrated for no one in particular.

Ask it to write a case study about savings from using generative AI, and it will write about dollars. Because most of what it was trained on is American. Ask it to extract a statistic from a handwritten note, and it will make its best guess at ambiguous characters based on what is statistically most likely, not what is contextually correct.

This is not a failure of intelligence. It is a failure of context. The model is doing exactly what it was trained to do: producing the most probable output given the input. The problem is that "most probable given the entire internet" and "most correct for your specific situation" are rarely the same thing.

Guardrails are how you close that gap.


Two Lessons from Building InAgentic

I built this out the hard way.

InAgentic's content pipeline includes a document builder and a curriculum generator. Early on, I was feeding in handwritten research notes: scribbled stats about AI adoption in the UK. My handwriting is, charitably, a work in progress. The model read "UK" as "UW" and dutifully processed the statistic as referring to whatever UW might be.

The fix was not to write more neatly. It was to add a single line of context to the image-to-text prompt: statistics in this document typically refer to cities or countries. That nudge was enough. On the next pass, the model correctly resolved the ambiguous characters because it now had a prior that made geographic context more probable than a random two-letter combination. One sentence of constraint turned a broken workflow into a reliable one.

The second lesson came from the idea generator. Left to its own devices, it produced perfectly competent article concepts: "I saved $40,000 by switching to GenAI," "How we cut our cloud bill by 60% using AI automation." Fine articles. Wrong currency. Wrong market. Wrong audience for what we are building.

Adding a single line of system context, InAgentic is a UK company, prices and savings are in pounds sterling, audiences are British SMEs, changed everything downstream. Not just the currency symbol. The framing, the reference points, the examples. The model stopped writing for Silicon Valley and started writing for the audience we actually serve.

Neither fix required a better model. Both required a better context.


What Guardrails Actually Are

The word "guardrails" suggests restriction: barriers that stop something going wrong. That framing undersells what they do.

A guardrail is compressed context. It is the difference between asking a new contractor to build something from scratch and briefing a colleague who has been on the project for six months. The colleague does not have more raw capability. They have more relevant prior. They know which direction is north.

There are several forms this takes in practice.

System prompt context is the most basic. Who is this agent? Who is it serving? Where are they? What currency do they use? What is the goal of this interaction? A well-written system prompt does not restrict the model, it orients it. It answers the questions the model would otherwise have to guess at.

Domain constraints tell the model what kind of problem it is solving. An image-to-text agent processing business documents is solving a different problem than one processing creative writing or medical notes. Telling it which domain it is in eliminates a vast search space of possible interpretations and focuses inference on the right part of it.

Output schemas are perhaps the most underestimated guardrail. If you tell a model to return a JSON object with specific fields, you are not just formatting the output, you are forcing the model to decompose the problem into named components. That decomposition often improves accuracy, not just parsability. The act of naming what you want shapes what you get.

Negative constraints, telling the model what not to do, work best when the unwanted behaviour has a pattern. "Do not use American spelling." "Do not cite statistics without a source." "Do not suggest features that are not on the current roadmap." Each of these saves a correction cycle.

Human-in-the-loop checkpoints are guardrails in time rather than in content. They say: at this point, stop and confirm before proceeding. LangGraph's interrupt() primitive is built for exactly this. The AWS Lambda incident I use when teaching is instructive here. An agent updated 45 environment variables correctly twenty times in a row, then replaced all 45 with one on the twenty-first run, silently. A checkpoint before the upload step costs two seconds. The absence of one cost an afternoon.


The Paradox, Precisely Stated

Here is the paradox in full: an unconstrained agent appears more capable because it will attempt anything. A constrained agent appears more limited because it will refuse or redirect tasks outside its defined scope. But in production, across real workloads, over time, the constrained agent produces better outcomes.

This is because capability is not the same as reliability. A model that can do anything but does the wrong thing 20% of the time is less useful than a model that does fewer things but does them correctly 98% of the time.

The constraints do not reduce capability. They concentrate it. They take a model with a trillion-parameter prior over all of human knowledge and focus it on the specific slice of that knowledge that matters for this task, this user, this context.

The scalpel is not less capable than the saw. It is more capable, precisely because it is more constrained.


Designing Guardrails That Actually Work

The failure mode is guardrails that are too blunt. "Always be professional" does nothing. "Never discuss competitors" creates awkward gaps. "Only respond in English" breaks for multilingual users. Bad guardrails feel like bureaucracy: friction without benefit.

Good guardrails share four properties.

They are specific. Not "write for a UK audience" but "InAgentic is a UK limited company, prices are in pounds sterling, audiences are British SMEs in professional services, healthcare, and property." Specificity gives the model something to actually use.

They are additive. The best guardrails do not block the model from doing something, they give it additional information that makes the right thing more probable. The geographic statistics hint did not tell the model it was not allowed to output "UW." It told the model what kind of thing it was looking at, and the model corrected itself.

They are layered. System prompt context sets the baseline. Domain constraints refine it. Output schemas structure it. Checkpoints protect against irreversible errors. Each layer addresses a different failure mode. Relying on one layer to do everything always leaves gaps.

They are maintained. A guardrail written six months ago may be encoding assumptions that are no longer true. The business moved upmarket. The audience changed. The currency assumption was always wrong for a new client segment. Guardrails need the same version control and review cycle as code.


The Broader Principle

This pattern, constrain to concentrate and restrict to enable, appears throughout the cycles that computing keeps repeating.

Unix's modular design constrained each tool to do one thing. That constraint made the tools composable, and composability created power far beyond any individual tool. The command line constrains interaction to text. That constraint makes it scriptable, auditable, and automatable in ways no GUI can match. SQL constrains data access to a declarative query language. That constraint, paradoxically, let the engine optimise freely beneath it.

Guardrails for AI agents are the same principle applied to a new layer of the stack. You constrain the surface to free the depth.

The agents that will matter in production over the next five years will not be the ones with the largest context windows or the most parameters. They will be the ones wrapped in the most thoughtful constraints, designed by people who understood their problem well enough to know exactly what to leave out.

That is the guardrails paradox. Limitation, applied with precision, is how you get to capability.


Today's delivery

29 June 2026

Pipeline

  • Video, Article and Newsletter pipelines running independently on schedule — 10 options each per cycle (30 total)
  • Generating better Video
    Content coming soon  link here
  • Generating better AI Articles
  • Generating better Newsletter

Training Material

  • Presentation: Everything in tech is cyclical — generated, PDF handout with timing notes, rehearsed for manual voiceover
  • Article: The Guardrails Paradox — how constraining your agent makes it more capable

Jon Axel Sunnehall is the founder of InAgentic, building AI agent infrastructure and automation tooling for UK SMEs. InAgentic's platform is built on LangGraph, FastAPI, and a growing suite of MCP servers at mcp.inagentic.ai.