-CHGWDife.webp)
AI & Automation
The future of software isn't humans vs. AI — it's humans with AI
Read more
AI & Automation
What we learned deploying AI agents across healthcare, e-commerce, and hospitality.
· 7 min read

A prototype is judged on whether it can finish a task once, with a cooperative user and a clean input. A production agent is judged on the ambiguous ticket, the malformed order, and the API that times out mid-step.
Across clinic scheduling, order support and booking enquiries, the same lesson arrives. Model quality is rarely the constraint. What constrains an agent is how tightly its task is scoped, what it may touch, and what happens where it should stop.
Reliability comes from the boundary around the agent, not from the model inside it.
The commonest failure is a task defined by role rather than outcome. Handling support is not a task; issuing a refund below the automatic threshold, or handing the case over, is one.
A workable task has a concrete trigger, a bounded set of tools, a definition of done that is verifiable elsewhere, and an explicit exit. We test five conditions before building anything:
Tasks that fail two or more are better shipped as a drafting step a person approves, which is often where the durable value sits.
We give agents narrow, purpose-built tools rather than general database or shell access. A refund tool that validates amount and order state is safer than a query runner behind a careful prompt, because the guard lives in code.
Writes are separated from reads and limited independently. They carry idempotency keys, so a retried step cannot refund twice, and destructive operations are unavailable or wrapped in a reversible soft delete.
The design question is not whether the agent will misbehave but what its worst available call costs. If the answer is unbounded, the tool needs a limit, not the prompt another sentence.
Every deployment needs a way to stop and hand over, and the handover has to carry context. An escalation that arrives as a bare transcript leaves the person slower than if they had started the case.
We pass a structured summary: what was asked, what the agent verified, which tools it called, and what is blocking. The correction that comes back is kept as an evaluation case.
Escalation rates need a floor as well as a ceiling. An agent that never escalates is usually guessing, and an unnaturally quiet queue is often the first sign of it.
Agents drift when prompts, tools, models or upstream data change, so each deployment carries measurements that run before a change ships and keep running afterwards.
Agents fail in ways ordinary services do not. They succeed partially, report a failed step as a success, and can be confidently wrong in fluent prose. Logging the final answer hides all three.
We record the full trace and treat a partial run as an incident with an owner. The agents that stay in production are those where failure surfaces early enough to be boring.
-CHGWDife.webp)
AI & Automation
Read more

Development
Read more

DevOps
Read more