Mikel Studio
Back to Studio Notes
AI & Product NotesAug 28, 2026

Why Most AI Agents Never Make It to Production

AI agents are increasingly easy to demonstrate. Give a model access to a few tools, connect it to some company data, add a prompt that describes its role, and within a few hours you can have something that looks remarkably capable. It can search documents, summarize information, create tickets,...

Why Most AI Agents Never Make It to Production

AI agents are increasingly easy to demonstrate.

Give a model access to a few tools, connect it to some company data, add a prompt that describes its role, and within a few hours you can have something that looks remarkably capable. It can search documents, summarize information, create tickets, draft emails, update records, or call an API.

In a controlled demo, that can feel very close to a finished product.

But there is a large difference between an agent that successfully completes a workflow during a demonstration and an agent that a business can trust to run the same workflow every day.

That gap is where many AI agent projects stop.

The main challenge is usually not that the model is insufficiently intelligent. The harder problem is everything around the model: what the agent is allowed to access, what actions it may take, how failures are handled, how decisions are evaluated, how costs are controlled, and what happens when the agent encounters a situation nobody anticipated.

A production AI agent is therefore not simply an LLM connected to tools.

It is an operational system.

A successful demo proves much less than it appears to

A prototype usually runs in an unusually favorable environment.

The developer knows the expected workflow. The test data is relatively clean. The credentials have broad access. Someone is watching the agent while it runs. If something goes wrong, the developer can simply restart the process, adjust the prompt, or manually correct the output.

Production removes most of those assumptions.

Users provide incomplete information. APIs fail. Documents contradict each other. Permissions change. External systems become unavailable. The agent encounters a case that was never present in the test set. A tool succeeds partially and leaves the workflow in an unexpected state.

Most importantly, nobody may be watching when this happens.

This changes the engineering question completely.

Instead of asking:

Can the agent perform this task?

the more useful question becomes:

Under what conditions can we safely allow this agent to perform this task repeatedly?

That is a much higher bar.

The agent needs a clearly defined job

One of the easiest ways to make an agent difficult to productionize is to give it too broad a responsibility.

A company might initially imagine an agent that can handle customer support, update the CRM, qualify leads, generate reports, send follow-up emails, and answer internal questions.

Technically, a capable model may be able to perform all of those tasks.

Operationally, however, they are very different jobs.

They involve different data, different permissions, different failure modes and different definitions of success.

A support-triage agent might need permission to read customer tickets and classify urgency. A finance agent might need access to invoices but should probably not have unrestricted authority to issue refunds. An internal research agent may be allowed to search many information sources while having no write access to production systems at all.

The narrower the first job is, the easier it becomes to define what the agent needs to know, which tools it should use, what it is allowed to change and when a human needs to intervene.

A useful starting pattern is:

clear trigger → clear context → clear actions → clear definition of done

For example, “review incoming support tickets, classify them into five categories, prepare a recommended response and escalate uncertain cases” is much easier to operate than “handle customer support.”

Production AI usually starts with a well-defined job, not a universal digital employee.

Identity and permissions become part of the architecture

During a prototype, it is common to connect an agent using an existing API key or service account.

That works until the agent starts taking actions inside real business systems.

At that point, the system needs to answer questions such as:

Who performed this action?

Which agent had access to this record?

Why did the agent have permission to modify it?

Who owns that agent?

Can its access be revoked independently?

If several agents share the same credentials, these questions become much harder to answer.

A production agent should therefore be treated more like another actor inside the company's technology environment. It needs a clear identity, a defined owner and appropriately scoped access.

The principle of least privilege becomes particularly important.

An agent responsible for producing a weekly report may need read access to several systems, but probably no write permission. An agent preparing refunds may be allowed to create a proposed refund while requiring approval before money moves.

The prompt should not be the primary security boundary.

If an agent is not supposed to perform an action, the underlying tool or permission layer should prevent that action regardless of what the model generates.

Tools need stronger guarantees than the model

Large language models are probabilistic systems.

That is acceptable when generating a summary or drafting a message. It becomes much more important when the output triggers a business action.

Suppose an agent concludes that a customer should receive a $50,000 refund.

The system should not rely on another sentence in the system prompt saying:

Never issue refunds above $5,000.

The tool layer should enforce the rule deterministically.

The model may request:

refund(customer, 50000)

but the tool should respond:

DENIED: refunds above $5,000 require human approval.

This distinction becomes one of the foundations of production agent architecture.

The model can reason about what should happen.

The surrounding system determines what is actually allowed to happen.

This keeps critical business rules outside the probabilistic reasoning layer and limits the damage a mistaken decision can cause.

Production agents need state

Many prototypes are effectively short-lived conversations.

A user provides a task, the model reasons through it, calls some tools, produces an answer and the session ends.

Real workflows often last much longer.

An invoice collection process may span several weeks. A customer support case may involve multiple messages and several departments. A research task may require waiting for data from an external system. An approval workflow may pause until someone makes a decision.

The agent therefore needs persistent state.

It needs to know what has already happened, what is currently pending and what should happen next.

Without reliable state management, agents easily repeat actions, lose context, retry something that already succeeded, or continue operating based on outdated information.

This is another reason why “the prompt” is only a small part of the production system.

The business workflow itself needs to exist somewhere reliable.

Failure handling cannot be an afterthought

Most agent demos are designed around the successful path.

Production systems spend a surprising amount of time dealing with everything else.

What happens if a tool call times out?

What happens if the CRM returns incomplete information?

What happens if the agent sends an email successfully but fails before recording that it sent it?

What happens if the same job is retried?

What happens if the agent repeatedly calls an expensive model while trying to recover?

Traditional software engineering already has patterns for many of these problems: retries, idempotency, queues, timeouts, circuit breakers, error states and rollback strategies.

AI agents do not eliminate those requirements.

They usually make them more important because the workflow contains both deterministic software and probabilistic reasoning.

A production agent therefore needs explicit failure states and recovery behavior rather than an assumption that another model call will fix everything.

Evaluation changes once the agent can act

Evaluating a chatbot is mostly about whether the answer was useful or correct.

Evaluating an agent requires looking at the entire workflow.

An agent may produce a perfectly reasonable explanation while still using the wrong data source, calling the wrong tool or taking an action that violates company policy.

The important question becomes:

Did the system complete the business task correctly?

That may require measuring several things at once.

Did the agent identify the correct case?

Did it retrieve the right information?

Did it choose an appropriate action?

Did the tool execute successfully?

Was the outcome acceptable?

Did the agent escalate when it should have?

This is why production evaluation needs to be connected to real workflows rather than generic model benchmarks.

A model with better benchmark performance does not automatically produce a better business agent.

Human escalation is part of the design

There is a common assumption that human approval is only a temporary limitation.

As models improve, the thinking goes, agents will gradually become fully autonomous.

For some workflows that may happen.

For many business workflows, however, human involvement is not simply a workaround for weak models.

Humans may provide legal authority, commercial judgment or responsibility for unusual cases.

A model might correctly understand a company refund policy and still not have the authority to approve an unusually large refund. It may detect that a contract contains unusual terms but still require a legal or commercial owner to decide whether those terms are acceptable.

The better design is therefore not necessarily to remove people from the workflow.

It is to decide where people provide the most value.

A useful agent should handle routine work autonomously and escalate exceptions with enough context that the human can make a decision quickly.

A poor escalation looks like:

I can't complete this request. Contact support.

A good escalation looks more like:

I verified the account, found two conflicting contract terms and attempted the standard resolution. Policy prevents me from proceeding because the amount exceeds the approval threshold. Here are the relevant facts and the decision required.

The agent has still removed work from the human, even though the final decision remains human.

Observability becomes essential

When software fails, engineers usually have logs, metrics and traces to investigate what happened.

Agents require similar visibility, but the questions are slightly different.

Which model was used?

Which instructions did it receive?

What information did it retrieve?

Which tools did it call?

How long did each step take?

How much did the workflow cost?

Why was a case escalated?

Where are failures occurring repeatedly?

Without this information, teams end up debugging agents by reading isolated conversations and guessing what happened.

That works for prototypes.

It does not scale to hundreds or thousands of agent runs.

Production agents need an operational history that makes their behavior understandable enough to investigate, measure and improve.

Cost is also part of reliability

It is tempting to think about AI cost as simply the price of input and output tokens.

Production systems have more moving parts.

There may be retrieval calls, tool executions, retries, long-running workflows, storage, monitoring, human review and multiple models involved in a single completed task.

A workflow that costs $0.10 when everything works might cost several times more when the agent enters a retry loop or repeatedly searches for missing information.

This is why production systems often need budgets and execution limits.

An agent might have:

  • a maximum number of tool calls;
  • a maximum runtime;
  • a maximum model spend per task;
  • retry limits;
  • limits on which actions it may perform automatically.

These controls serve two purposes.

They control costs, but they also limit the blast radius of unexpected behavior.

A budget is therefore not only a finance mechanism.

It can also be a safety mechanism.

Production readiness is mostly about the system around the model

When an AI prototype does not make it into production, the natural reaction is often to wait for a better model.

Sometimes that is the right answer.

But increasingly, the missing pieces are elsewhere.

The agent needs a narrower job.

The company needs cleaner access to business context.

Tools need appropriate permission boundaries.

Critical policies need deterministic enforcement.

State needs to survive across runs.

Failures need recovery paths.

Agent behavior needs evaluation.

Humans need a clear escalation role.

Operations teams need observability.

Costs and execution need limits.

None of these problems disappear simply because the next generation of models is smarter.

In fact, more capable models can make these questions more important because businesses are willing to give them more responsibility.

From agent demo to production system

The useful mental model is therefore not:

LLM + prompt + tools = agent

It is closer to:

business workflow + model + context + tools + identity + permissions + state + evaluation + observability + human escalation = production agent

The model remains an important part of the system.

But it is only one part.

The organizations that successfully deploy AI agents will probably not be those that write the cleverest prompts or adopt every new model first. They will be the ones that learn how to place AI inside real operating systems with clear authority, constraints and accountability.

That is the difference between an AI agent that looks impressive in a demo and one that a business can actually trust with work.

At Mikel Studio, this is how we think about moving AI systems from prototype to production: start with one real workflow, define what the agent should know and what it is allowed to do, build the necessary controls around it, and expand autonomy only when the system has earned it.

If you already have an AI agent or prototype but are unsure whether it is ready for real users and real business workflows, a short production-readiness review is usually a better next step than adding more prompts or switching models.

Want to turn a rough idea into a working system?

Bring the problem and the assets you already have. We will audit them together and find the next clear step.