When the agent is silent and acts anyway
On Monday morning, a customer asks why she received an appointment confirmation on Friday evening for a day she never requested. The office employee opens the mailbox and finds the message, sent by the agent. What it read, what it concluded from that and which tools it used for it, she cannot see. There is only the result.
This scenario is invented, the pattern is not. As soon as an agent does not just generate text but creates appointments, assigns tickets or writes data into systems, the question shifts from “Is the answer good?” to “What did it actually do?”. A chatbot that is wrong produces a wrong answer. An agent that is wrong leaves traces in your systems.
Operation therefore means more than deployment. Whoever deploys an agent takes on a task familiar from new employees: you look closely at the start, have decisions explained to you and only gradually hand over responsibility. The difference is that an agent can only provide this explanation if it was recorded beforehand. Asking afterwards is not possible.
In small businesses this weighs more than in large corporations. There is no dedicated department investigating incidents, and the person who set up the agent is often the same one running day-to-day business on the side. When something goes wrong, the quality of the record decides whether clarification takes an hour or half a day, and whether the customer gets a concrete answer or an excuse.
An agent without a log is like a colleague who reports only the result and never the path to it.
Failure patterns that produce no error message
Classic software stands out when it crashes. Agents rarely stand out like that. They keep running, deliver plausible-looking results and are still wrong. That makes monitoring more demanding, because the simple signal “running” or “not running” says nothing about quality.
One of the most common failure patterns is the loop. The agent calls the same tool again and again because the response does not fit its expected pattern, and consumes computing time and budget without making progress. A second pattern is the wrong tool call: the right tool with wrong parameters or the wrong tool for the task. A third is timeouts, where an interface does not respond and the agent either gives up or carries on with incomplete information.
The most insidious pattern is the changed interface. A connected system changes field names, formats or response codes, and the agent interprets the new data according to the old pattern. It keeps “working”, just wrongly. An alert on crashes does not help here, only a comparison between expected and actual behavior.
Added to this are errors that lie in the instruction itself. A wording that was unambiguous in testing is read differently with an unfamiliar input. Such errors cannot be caught by technology alone. They need a person who regularly looks at real cases and compares them with the intent of the instruction.
- Loops: repeated calls with nearly identical parameters in quick succession.
- Wrong calls: tool or parameters do not fit the input.
- Timeouts: interfaces respond late or not at all, the agent decides anyway.
- Silent interface changes: data arrives, but in a different form than expected.
- Instruction errors: wording is interpreted differently than intended for rare inputs.
What a trace must contain to explain anything
Logging does not mean storing everything. A complete recording of every model call generates large amounts of data that nobody reads, and often contains personal information that you do not want to keep longer than necessary. The question is which details are needed to explain a case later.
One record per step with four components is usually sufficient: what came in, what did the agent decide from it, which action did it trigger, and what source does the decision rest on? Supplemented by a case ID, a timestamp, the instruction version used and the result of the tool call, every case can be reconstructed.
The ID is more important than it first seems. A case consists of many steps spread across several systems. Only if the same key appears in the inbox, the agent log and the target system can an incident be traced from the customer complaint back to the triggering step. Without it, it remains detective work.
There is one limit: the log is operational documentation, not a permanent archive. Define how long it is kept, who may view it and which fields are masked. For personal data, the principle of data minimization applies; you should clarify the concrete arrangement with your data protection officer. This text is not legal advice.
A practical test of the trace’s quality: have someone who did not set up the agent explain any case from the log. If that works without asking the developer, the trace is usable. If they have to guess or search three systems, a field is missing or the ID is not being passed along. This test takes a quarter of an hour and uncovers gaps before a real incident does.
Figure · One step, four questions
Input
What came in, from whom, in what form
Decision
What the agent concluded from it
Action
Which tool with which parameters
Source
Which document or data point the step relies on
Result
Response from the target system, status, duration
Why observing takes more than a dashboard
The obvious solution would be a dashboard with key figures: number of cases, average duration, error rate. That is useful and not enough, because it shows the agent’s behavior only on average. A single wrong appointment confirmation disappears in a statistic, but remains an incident for the customer concerned.
A second option is to leave everything to the model or platform provider and use their built-in analytics. That saves effort but ties traceability to someone else’s interface. If you switch providers or combine two tools, the trace breaks. We would therefore keep the logs in a simple format of your own in your environment and use the platform’s figures as a supplement.
A third possibility is purely manual checking: someone regularly reads cases. That is indispensable, but not sustainable on its own, because it does not scale and finds errors only after they have already happened. So we combine three levels that complement each other: automatic alerts for clear rule violations, ongoing key figures for trends and spot checks by people for what no rule set detects.
This combination is a compromise. More alerts mean more interruptions and eventually desensitization, more spot checks tie up time. Where the threshold lies depends on what an error costs. An agent that sorts internal notes may be monitored more loosely than one that writes to customers or prepares quotes.
Figure · Three levels of monitoring
Spot checks by people
Check whether decisions fit the intent of the instruction.
Key figures and trends
Duration, calls per case, aborts, costs over time.
Alerts for clear rule violations
Loops, timeouts, unexpected response formats.
Case log
Input, decision, action, source for each step.
Alerts, cost limits and spot checks working together
An alert is only useful if someone knows what to do next. That is why we tie every alert to a short action instruction: who is informed, what gets checked, may the agent keep running or is it paused? In our experience, alerts without a defined next step end up in an inbox and get ignored.
In cost monitoring, the total matters less than the deviation from the normal pattern. An agent that suddenly needs many times more model calls per case usually has a problem with loops, overly long context or faulty retries. A hard cap per case and a daily limit contain the damage before a human can step in. When the limit is reached, the case should be handed over to a person, not silently discarded.
Spot-check reviews close the gap that alerts cannot see. We would start with a fixed rhythm, for example a small number of randomly drawn cases per week, plus every case where the agent was unsure or handed over to a human. The reviewer sees input, trace and result side by side and rates them on a short scale: correct, acceptable, wrong.
Knowledge comes out of that scale. If "acceptable" ratings pile up for a particular type of request, the instruction is too open there. If "wrong" ratings pile up after a certain date, it is worth looking at a change to the interface or to the instruction. The review is therefore quality control and an early-warning system at once.
The effort is manageable if the trace is easy to read. A reviewer needs only a few minutes per case, provided they do not first have to gather data from three systems. That is one more reason to invest in the structure of the log before the first agent goes live.
Figure · Which signals get alerts first
- Loop, repeated callrelative priority
- Cost per case over the limitrelative priority
- Interface not respondingrelative priority
- Response format deviatesrelative priority
- High rate of handovers to humansrelative priority
Treat instructions like software: versions and a way back
The instruction that tells an agent how to act is the most effective lever and, at the same time, the most common source of errors. A single changed sentence can shift behavior in cases nobody thought of when making the change. Even so, instructions are often edited in a text box, with no history and no sign-off.
That is why we treat them like code. Every change gets a version number, a brief rationale and an owner. The log records which version a step was produced with. In an incident, that makes it possible to answer whether it occurred before or after a change, and which cases were affected by a faulty version.
Before activation, a fixed test set checks the new version: standard cases, known special cases and earlier failures that must never happen again. This does not replace observation in live operation, but it catches gross regressions. After that, the new version first runs for a small share of cases or only for non-critical request types.
What matters is the way back. An earlier version must be reactivatable with one action, without anyone having to reconstruct the old wording from an email. Cases that were handled with the faulty version in the meantime can be found and rechecked through the log. Not every action can be undone, such as a message that has already been sent. That is why rolling back also raises the question of what the agent was allowed to trigger on its own during the critical period.
Figure · An instruction change, introduced in a controlled way
- 1
Draft
Record the change with a rationale and an owner.
- 2
Test set
Run through standard cases, special cases and earlier failures.
- 3
Partial rollout
New version only for a limited share of cases.
- 4
Observation
Compare alerts, costs and spot checks against the old version.
- 5
Release or rollback
Activate fully or reinstate the last version.
Technical implementation: a structured trace instead of a wall of text
Technically, a manageable structure is enough to begin with. Each step is written as a structured record, not as free text, for example in JSON format in a database or a logging system. Structured means that fields such as case ID, step, tool, parameters, response status, duration and instruction version are individually searchable. Free text is reserved for rationales and quotes from the source.
The recording belongs in the layer that calls the tools, not in the instruction. If the agent itself is supposed to "log", completeness depends on its compliance. If every tool call runs through an intermediate layer that automatically captures input and result, the trace is gapless even when the agent behaves differently than expected.
The safeguards can also be placed on this layer: a cap on calls per case, a time limit per step, a check of the response format against the expected schema. If the schema deviates, for example because a field is missing or named differently, the system does not guess but halts the case and reports it. This catches the silent interface changes that an agent on its own does not notice.
For alerts, simple rules are enough at the start: the same call more than three times in a row, a step longer than the set time, cost above a threshold, response schema violated. Notifications go to a channel that someone actually reads. Elaborate anomaly detection only pays off once there is enough operating data to know what normal looks like.
- A case ID that is carried through all the systems involved.
- Tool calls run through an intermediate layer that records input, result and duration.
- Interface response schemas are checked on every call, not just during setup.
- Retention periods and masking of personal data fields are defined in advance.
Special cases: quiet deviations and delayed errors
One special case is gradual change. Nothing breaks, but quality drifts: new types of request appear, a product name changes, an internal rule is adjusted without the instruction catching up. Neither alerts nor error rates show such deviations. They show up in spot checks, especially when reviewers also look for patterns rather than just rating individual cases.
A second case is delayed errors. The agent creates an entry incorrectly today, and the problem only shows up weeks later when someone accesses it. This is where the trace pays off, because it shows which cases shared the same cause. Anyone looking only at the target system sees a single wrong data point. With the log, all similar cases can be found and corrected together.
Third, the interaction between several agents or with other automations. If one agent writes an email that a second system reacts to automatically, chain reactions can arise that neither side caused alone. Countermeasures are caps on automatically triggered follow-up actions and a marker showing which messages were machine-generated.
And finally, failure of the monitoring itself. If the log stops working, nobody notices as long as the agent keeps running. We would therefore set up a counter-alarm: if no log entries arrive within an expected period although cases are running, it reports. A monitored agent with a monitoring system that has silently failed is riskier than one that is deliberately kept on a tight leash.
Figure · Operation without and with a trace
- An incident only becomes known through a customer complaint.
- Why the agent decided as it did remains guesswork.
- Costs only show up in the monthly bill.
- Changes to the instruction cannot be traced.
- An error can only be corrected case by case.
What can realistically be gained, and how you can tell
Monitoring does not make an agent smarter, it makes it controllable. The benefit is that errors are noticed sooner, causes are found faster and changes are less risky. How strongly this is felt day to day depends on the use case: on the number of cases, the connected systems and how serious the consequences of an error are.
It can be measured with figures close to operations. These include the time between an error occurring and being discovered, the share of cases handed over to humans, the distribution of spot-check ratings over the weeks and the cost per case over time. Capture these values from the start, even if they look unspectacular at first. Only a trend over several weeks allows a judgment.
What cannot be promised: freedom from errors. An agent remains a system that works with probabilities, and good monitoring reduces damage but does not rule it out. Nor can it be said in advance how many alerts will occur at the beginning. In the introduction phase there are usually more than later on, because thresholds are not yet tuned to real operation.
Another honest benefit is peace of mind. If you know that every action is traceable, you can gradually hand more tasks to the agent. Without this foundation, use stays limited to areas where an error costs nothing, and that is rarely the area where an agent relieves the most burden.
Trust in an agent does not come from promises, but from a trace you can check.
Insights and next step: trace first, then autonomy
A few rules can be derived from this analysis. First: log before the agent goes live, not after. A trace added afterwards only shows the future, not the incident that prompted it. Second: keep the trace small and structured, with the four questions of input, decision, action and source. Third: take instructions seriously as software, with versions, tests and a way back.
Fourth, responsibility must be clarified. Who reads the alerts, who draws the spot checks, who may roll back a version? Without named people, even the best monitoring remains a folder full of data. Fifth, a narrow start helps: one process, one type of request, few tools. We have described how to select such a pilot process in a separate study.
Sixth, introduce alerts sparingly and deliberately. Five rules that someone takes seriously are better than twenty that get muted after a week. New rules are added only when a real incident shows that there is a gap. That way the rulebook grows along actual experience and not along a textbook checklist.
Your next step is small. Take a case that an agent or an automation handles today and ask yourself: could I explain in five minutes why exactly this step was decided this way? If not, the trace is missing. We are happy to look at your workflow together and tell you honestly which monitoring is appropriate for your use case and which would be overkill.
- Set up the trace before operations begin, not only after the first incident.
- Four fields per step: input, decision, action, source.
- Version instructions, test them before release and provide a return to the last version.
- Assign responsibilities for alerts, spot checks and rollbacks by name.
Frequently asked questions
What does monitoring an AI agent involve?
It includes gapless logging of every step with input, decision, action and source, alerts for clear rule violations such as loops or timeouts, observation of costs and trends, and regular spot checks by humans. On top of that comes versioning of the instructions with the ability to undo a change.
What should an agent log contain at a minimum?
Per step, a case ID, the timestamp, the input, the agent's decision, the triggered tool call including parameters, the source it relies on, the result from the target system and the version of the instruction. Personal data fields should be masked and stored only as long as necessary.
How do I tell that an agent is stuck in a loop?
Typical signs are repeated calls to the same tool with nearly identical parameters in quick succession, sharply rising cost per case or unusually long run times. A fixed cap on calls per case and an alert on repetitions catch this early. The case is then paused and handed over to a person.
How often should spot checks be reviewed?
That depends on the risk. At the start, a fixed weekly rhythm with a small number of randomly drawn cases works well, plus all uncertain or handed-over cases. With a stable trend the interval can grow, and after every change to the instruction it should get shorter again. There is no fixed number that fits all businesses.
How can a faulty change be rolled back?
If instructions are versioned and the log records the version used, you reactivate the last working version and use the log to find all cases handled with the faulty version. Actions already triggered, such as messages that were sent, cannot be retrieved automatically and must be followed up on specifically.
How do I keep the costs of an AI agent under control?
Watch the cost per case over time, not just the monthly total, and set caps per case and per day. A sudden deviation usually points to loops, overly long context or faulty retries. When the limit is reached, the case should be handed over to a human instead of ending silently.