Every vendor deck right now shows the same magic trick: you type a sentence, and software goes off and does the work. Books a meeting. Reconciles an invoice. Opens a ticket, investigates it, and closes it. The demos are real, and they are genuinely impressive. The trouble starts the day you want to put one in front of a customer, or point it at a system that can spend money or change records.
This guide is for the person who has to sign off on that. It skips the hype and the deep jargon, explains the few terms you do need, and lays out the handful of things that separate a slick demo from something you can run in production without losing sleep. None of it is tied to a particular vendor. All of it comes from building and stress-testing this layer ourselves.
First, what an AI agent actually is
A chatbot takes a question and hands back text. You read the text and decide what to do. An agent is different in one decisive way: you give it a goal, and it takes the steps itself. It looks things up, it calls other software to get things done, it checks the result, and it decides what to do next. It keeps going until it thinks the goal is met.
When people say an agent makes a "tool call," they mean exactly this: the agent reaches out and uses one of your systems. Querying a database, sending an email, charging a card, filing a ticket. The tool call is where an agent stops being a clever writer and becomes a worker that acts on the real world.
Two things make that powerful and risky at the same time. An agent acts on its own, without a human reading each step. And its behavior is not fully predictable: the same request can take a different path on different runs, and a cleverly worded input can nudge it off course. That last risk even has a name, prompt injection, which is just a fancy way of saying someone can smuggle instructions into the agent's input and get it to misbehave. You cannot QA an agent the way you QA a form that always does the same thing.
Why a working demo is not a production system
A demo shows the happy path. Production is all the unhappy paths the demo skipped. A tool times out. A model returns nonsense in a field you expected to be a number. A loop that should take three steps takes three hundred. The agent does something it was never meant to do. And afterward, nobody can say exactly what happened or why.
In business terms, three things can go wrong, and all three land on your desk:
- Runaway cost. Agents pay by the step. A loop with no ceiling can run up a surprising bill before anyone notices.
- Wrong or irreversible action. A chatbot that is wrong writes a bad sentence. An agent that is wrong can send the email, issue the refund, or delete the record.
- No audit trail. When an auditor, a regulator, or an angry customer asks "who did this, and who said it was allowed?", you need an answer that is in a record, not a reconstruction.
The good news: none of these are new problems. They are the same disciplines that make any critical system trustworthy, applied to a stranger kind of software. There are five of them.
The five layers that make an agent safe to run
Think of these as five questions you should be able to answer before an agent touches anything that matters. If a vendor or an internal team cannot answer all five, the agent is a demo, not a product.
1. Can you see what it did?
The first requirement is a step-by-step record of every move the agent made: what it looked up, which systems it called, what each call returned, how long it took, and what it cost. In the trade this record is called a trace, and the practice of producing it is observability. Think of it as a flight recorder. Without it, you are trusting a black box, and you cannot debug, bill back, or explain a single thing after the fact. This is the floor. Nothing else on this list can be verified without it.
2. Did you test it before you trusted it?
You would not ship code with no tests. An agent needs the same thing: a set of known cases with known good answers, scored automatically, run before and after every change. This is usually called an evaluation or an eval. Its real job is to catch the quiet regression, the tweak that makes the agent a little worse in a way no one would notice by hand until a customer does. In our own reliability kit, this gate caught a deliberately broken agent failing nineteen of twenty-two test cases and blocked it from going out. That is the point: the test fails so the customer does not.
3. Are there rails around its actions?
Every action an agent takes should be wrapped in limits, the way a circuit breaker wraps a wire. The pieces are simple:
- A timeout, so a stuck tool does not hang the whole run forever.
- A retry for operations that are safe to repeat, so a brief network hiccup does not sink the task.
- A sensible stand-in when a tool is simply down, so the agent degrades gracefully instead of crashing.
- Hard caps on cost and on the number of steps, so a runaway loop stops itself before it runs up a bill.
One rule here is worth putting in bold, because getting it wrong is how agents cause real damage: never automatically retry an action that moves money or changes data. If a payment call times out, you often cannot tell whether it went through. Retry it and you may pay twice. Retry only the things that are safe to repeat, like looking something up, and for anything that changes the world, try once and report the outcome as uncertain so a human or a careful check can step in. The industry word for "safe to repeat" is idempotent; the only thing you need to remember is which of your actions are not.
These rails are not theoretical. In our testing, retries recovered all ten of ten temporary tool failures that a plain call dropped every time, and a spending cap halted a runaway loop at about five cents instead of letting it spin.
4. Does it have an identity and a leash it cannot loosen?
This is the layer most teams skip, and the one auditors care about most. It has three parts, and the plain-language versions are not complicated:
- Its own identity. The agent gets a verified identity of its own, not a shared password copied around a codebase. You always know which agent acted.
- A written policy it cannot edit. You spell out exactly what this agent is allowed to do: which tools, which data, which actions. That policy is signed and lives outside the agent, so the agent cannot widen its own permissions, even if it is tricked into trying. Every action is checked against it, and a "no" is final. A confused or hijacked agent can still only do what its policy already allowed.
- A delegation trail. When one agent hands work to another, which hands it to a service, the chain of "who authorized this, acting on whose behalf" is recorded end to end. This is the thing that lets you answer the regulator's question with a record instead of a guess.
Collectively this is called governance. It is the difference between "we think the agent stays in its lane" and "the agent cannot leave its lane, and here is the proof."
Agent. Software that is given a goal and takes the steps to reach it on its own, instead of just answering a question.
Tool call. The agent using one of your systems: a database query, an email, a payment, a ticket.
Trace. The step-by-step record of a run: every action, its result, its cost, its timing.
Guardrails. The limits around each action: timeouts, retries, stand-ins, and caps on cost and steps.
Governance. The agent's verified identity, the permissions it cannot change, and the record of who authorized what.
Prompt injection. Hiding instructions in the agent's input to get it to do something it should not.
5. How does it find information and coordinate its steps?
The last layer is the plumbing, and the main message about it is: keep it as simple as the job allows. Two parts matter. Retrieval is how the agent looks things up in your documents, and plain keyword search is often as accurate as the fancier "meaning-based" search while being far faster and far cheaper. Orchestration is how multiple steps or multiple agents are coordinated, and a straight-line process beats a swarm of agents for most real work. Complexity in this layer is where cost and bugs quietly accumulate. Reach for the elaborate option only when a measured need forces you to.
flowchart LR
U["User goal"] --> A["AI Agent
picks the next step"]
A --> G{"Guardrails + policy
allowed? within limits?"}
G -->|denied or
over budget| S["Stops safely
recorded and reported"]
G -->|allowed| T["Your systems
the tools it calls"]
T --> A
A -. every step .-> O["Observability
full trace: actions, cost, time"]
G -. every decision .-> OEvery action passes a guardrail and a policy check before it reaches your systems, and every step is written to a trace. A denial or a blown budget stops the run safely, and nothing happens off the record.
A few rules that save money and grief
Independent of which products you buy, a handful of habits do most of the work:
- Start with the simplest thing that works. Plain search before semantic search, one straight process before a multi-agent design. In our tests the simple option often matched the elaborate one on accuracy at a fraction of the speed and cost.
- Pin the settings. Language models have a creativity dial, called temperature. For anything you will test or depend on, set it to its most predictable setting, or you cannot reproduce a result or trust a test. In one of our runs, the only wrong answer disappeared the moment the dial was pinned.
- Treat a "denied" as a final answer. If the policy says no, that is the result. An agent that retries its way around a denial does not have a policy, it has a suggestion.
- Measure on your own workload. A vendor's benchmark was run on a vendor's data. The only numbers that matter are the ones from your traffic and your documents.
What to ask before you deploy
If you remember nothing else, take these six questions into the next agent demo. They map one to one onto the five layers, and a confident, specific answer to each is the real sign that a team has done the work:
- Can you show me the full trace of a real run, including what it cost?
- What is the automated test set, and does it run on every change?
- What stops a runaway loop, and what is the hard cost ceiling per run?
- What exactly is this agent allowed to do, and can it change that itself?
- If one agent calls another, can you show an auditor the authorization chain?
- Which actions can it take that are irreversible, and what specifically guards those?
What this is really about
You do not need a separate, bolted-on "AI safety" product to run agents responsibly. The five layers are the same disciplines that make any critical system trustworthy: see what it does, test it before you trust it, put limits around it, give it an identity, and grant it the least privilege it needs. Applied to a workload that acts on its own and cannot be fully predicted, they stop being nice-to-haves and become the thing that lets you say yes to production.
The teams that will struggle with agents over the next few years are the ones treating this as a brand-new problem. The teams that will move fast are the ones that recognize it as the newest instance of a very old one, and already know how to do it.
Narendra Loganathan is a distinguished-level engineer and enterprise architect with 25 years building large-scale distributed systems, real-time data platforms, zero-trust security, and more recently agentic AI systems, including enterprise-wide security architecture at Capital One. Through Chakraview Technologies he builds the reliability and governance layer that makes autonomous AI agents safe to run in production. If you are putting agents in front of real data or real customers, talk to us about an agent reliability engagement.