Agentic AI Control Planes: The Guardrails That Make Autonomy Operable
A practical architecture for agent guardrails: task boundaries, permissions, approvals, budgets, evaluation, observability and incident response.
A research agent takes twelve tool calls to answer a question. A second takes 1,200. Both return something that looks plausible. Only one is a system you can operate.
The difference is not the model. It is the control plane around it.
Teams often treat guardrails as the last step: get the agent working, then add a safety prompt, a few content filters and perhaps an approval button. That order is backwards. An agent is a runtime that chooses actions. The guardrails define the system it is allowed to be.
Google Cloud’s architecture guidance makes the crucial point early: predictable or highly structured tasks may not need an agent at all. Agentic patterns introduce extra evaluation, security, reliability and cost concerns; complexity must earn its keep. (opens in a new tab) That is the first guardrail — do not delegate a deterministic workflow simply because an LLM can narrate it.
The control-plane test
For every proposed agent, I ask seven questions before discussing prompts or frameworks.
| Control | Question | Failure if absent |
|---|---|---|
| Task boundary | What exact outcome counts as done? | The agent keeps trying because success is subjective |
| Authority | Which tools and scopes are genuinely necessary? | Convenience turns into privilege aggregation |
| Consequence | Which actions are reversible, external or irreversible? | A low-confidence action creates real-world harm |
| Cost | What is the maximum spend per task and per period? | A loop becomes an uncapped budget line |
| Quality | How will the result be checked? | Fast automation creates fast errors |
| Observability | Can we reconstruct every decision and tool call? | Incidents become storytelling competitions |
| Ownership | Who is paged, who approves and who can stop it? | Nobody owns the residual risk |
If a team cannot answer these in one architecture review, it is not ready for autonomy. It may be ready for a copilot. That is not a consolation prize. A good copilot often creates more value because it keeps judgment where judgment is still needed.
Choose the smallest pattern that can work
The temptation is to build a small society of agents because it looks sophisticated. The operating cost follows immediately: more model calls, more context transfer, more failure paths, more ambiguous ownership.
| Pattern | Use when | Primary control | Common overreach |
|---|---|---|---|
| Single agent | One bounded task with a clear tool set | Definition of done and step limit | Giving it broad tools “for flexibility” |
| Sequential workflow | Steps are stable and ordered | Explicit transition conditions | Asking an LLM to orchestrate deterministic steps |
| Parallel workflow | Independent sub-tasks need a combined answer | Cost and timeout budget per branch | Fanning out because parallelism feels faster |
| Router / coordinator | Request type determines a specialised path | Routing evaluation and allowed destinations | Letting the router invent new paths |
| Reviewer loop | Output needs quality checking | Maximum iterations and objective criteria | Infinite self-critique with no stopping rule |
| Multi-agent system | Distinct expertise or context is truly required | Interface contracts and ownership per agent | Splitting a simple task into role-play |
Start with one agent, a small tool set and a measurable pass criterion. Add agents only when you can name the constraint that a single agent cannot satisfy: a different permission boundary, a different context domain or an independently measurable specialist task.
The six guards that belong outside the prompt
A system prompt is useful for behaviour. It is weak for enforcement. The following controls should live in code, policy or infrastructure that the agent cannot rewrite in the moment.
1. Permission boundary. Issue task-scoped credentials. An agent that is preparing a support response does not need database-admin or payment permissions just because those APIs exist.
2. Action-class policy. Maintain an explicit map of autonomous, approval-gated and prohibited actions. Reversibility is the useful dividing line. A draft is reversible; an outbound email, production change or payment may not be.
3. Step, time and spend budgets. Give every task a maximum number of model calls, tool calls, elapsed time and spend. Stop on the first breached budget. A failure with a trace is a controllable engineering event. An infinite retry is not.
4. Input and tool validation. Validate tool parameters against schemas and business rules at the gateway. If a refund amount must be under a threshold or a production target must be in an approved list, the target system should enforce it.
5. Evaluation gate. Define an objective test before a high-impact result is used: a required field, a policy check, a citation check, a human review or a secondary deterministic validator. “The model sounded confident” is not a test.
6. Trace and kill switch. Store a correlated record of the request, retrieved context references, model choice, tool calls, policy decisions and output. Give a named owner the ability to pause the workflow and revoke access immediately.
Human approval is an interface, not a ritual
Human-in-the-loop can be theatre. A modal that says “approve?” without the target object, action parameters, confidence, policy status and business consequence simply transfers blame to the approver.
A proper approval card answers five things:
- What will happen if I approve this?
- Which system and exact object will change?
- What evidence led the agent to recommend it?
- What policy checks passed or failed?
- What is the alternative if I reject it?
Make approval narrow. Approve the action and its parameters, not a vague intention. The agent should not be able to use approval for “send this customer email” as authority to send six emails to related contacts.
Build the operating dashboard around exceptions
Most agent dashboards report activity: runs, tokens, latency and success percentage. Operators need exceptions. Show the work that requires attention.
| Exception | What it often indicates | Default response |
|---|---|---|
| Step limit reached | Ambiguous task, bad tool state or loop | Stop task; inspect trace; improve termination condition |
| Budget breach | Unexpected scope or model cost | Stop task; investigate routing and retry path |
| Repeated tool failure | Integration defect or invalid parameter model | Quarantine tool; route to human workflow |
| Evaluation failure | Quality drift or unsupported task class | Hold result; add example or narrow task |
| Approval rejection spike | Agent is proposing the wrong action | Review policy and task definition |
| Permission denial | Scope is too narrow or the workflow is misdesigned | Review need; do not automatically widen permission |
The dashboard should make a good operator slightly bored. Boring means the decisions are understood, limits hold and the same failure does not happen twice.
What to do on Monday morning
Take one production candidate and fill in the agentic AI guardrails worksheet. Do it before the next prompt review. If you cannot define a task boundary, an action class and a kill condition, keep the workflow assistive.
Then use the Agentic AI Pattern Explorer to challenge whether the architecture needs more than one agent, and the FinOps for AI calculator to model the cost of routing, retries and task budgets.
Autonomy is valuable precisely because it moves work without waiting for a person. That is also why it must be constrained by controls that do not depend on the agent being sensible at the moment it matters.
I'm speaking on this — The Compute Infrastructure Questions Every AI Buyer Should Ask →