How Agentic Systems Fail by Muban Modi

Muban Modi explains why AI agents fail differently than chatbots and lays out a four-layer oversight system, plus a fifth failure mode that only shows up when you grade the whole trace.

2:40 video3 min readWatch on YouTube

A chatbot that gets something wrong hands you bad text. An agent that gets something wrong cancels your appointment, sends the email, or moves the money. Muban Modi uses a single example, rescheduling a calendar appointment, to show why agents need a different kind of safety net than chatbots do, and what that safety net actually looks like layer by layer.

Why agents fail differently than chatbots

A chatbot's mistake is contained: you read the output, you decide whether to act on it. An agent's mistake is not contained, because the agent already acted. Modi's argument is that the fix for this is not a smarter model. It is oversight, built in layers, so that the model is never the last word on its own action.

The four layers: propose, check, approve, run

Take the sentence "move my Tuesday appointment to Thursday afternoon." Modi breaks the agent's handling of it into four separate, testable steps. First, the agent proposes an action: it classifies the intent (reschedule, not cancel) and resolves which appointment is meant. Second, code checks the proposal against reality, is the new slot actually open, is the appointment actually the user's. Third, a human approves the action explicitly. Only after that approval does the tool actually run and touch the calendar. Each layer catches a different kind of failure, and no single layer is trusted to catch all of them.

Why typed fields beat free text

The four layers only work if each one has something concrete to check. That is why the agent never hands the calendar backend a raw sentence. Instead it hands over structured fields: which appointment, what new time, why, and whether confirmation is required. A raw sentence arriving at a system is not something code can validate, and it is an open door for injection. Narrow, typed parameters turn a tool call into something a check can actually run before anything executes.

The fifth failure mode: grading the whole trace

Modi's sharpest point comes last. Imagine every one of the four layers runs cleanly, no exception is thrown, and the final message reads "your appointment is confirmed for Thursday." It can still be wrong, because a required step, checking a 24-hour rescheduling policy, was silently skipped. If you grade only the final sentence, this passes. If you grade the entire trace step by step, it doesn't. That gap, between a clean-looking result and a process that actually followed every rule, is what separates a demo from something safe to run in production.

Try it yourself

Modi closes with an exercise: take one action your own agent can take on a real system, and write out its four layers. What does the agent propose? What can code validate before anything runs? What does a human have to explicitly approve? What does the tool actually execute? Then name one failure that would slip through all four. That last question is the hard one, and it's the one that tells you whether your oversight layers are real or just look real.

Key takeaways

  • Agents fail differently than chatbots because their mistakes act on the world instead of just displaying text.
  • A four-layer system, propose, check, approve, run, gives each failure mode its own dedicated check.
  • Typed, structured parameters are checkable by code; free text handed to a backend is not, and is an injection risk.
  • A clean final message can still hide a skipped step, so oversight has to grade the whole trace, not just the last sentence.
  • The real test of an oversight design is naming the failure that would still get through it.

Who this is for

Anyone building or supervising an agent that takes real actions, scheduling, sending, purchasing, filing, rather than just answering questions, and who wants a concrete framework for deciding what to automate, what to check in code, and what still needs a human's explicit yes.

Chapters

  1. 0:00Chatbots vs. Agents: What Happens When AI is Wrong?
  2. 0:30The Four Layers of Oversight: Propose, Check, Approve, Run
  3. 0:58Eliminating Injection Surfaces: Why Type Parameters Beat Free Text
  4. 1:25The 5th Failure Mode: Grading the Entire Trace vs. the Final Message
  5. 1:50The "Safely Wrong" Challenge: Designing Your Own Oversight Layers
Full transcript(auto-generated, with timestamps)

Chatbots vs. Agents: What Happens When AI is Wrong?

[0:00]This video was made by Muban Modi. This is a video about how agentic systems work, explained with an example. You've used a chatbot that rescheduled something for you and it worked. Nobody asks the other question. What happens when it doesn't? A chatbot that's wrong hands you bad text. An agent that's wrong cancels your appointment. Let's open up what actually sits behind that green check mark. An agent fails because the model acted and no one checked. So, the fix is oversight, not a better model. Everything that follows is that oversight built one layer at a time. Here's the frame for everything else.

The Four Layers of Oversight: Propose, Check, Approve, Run

[0:31]Changing a calendar entry is reversible enough to automate carefully. So the agent proposes code checks the slot is real and the appointment is yours. You approve explicitly. Only then does the tool run. Four layers. Four different failure modes caught. The agent is never the final word on its own action. Watch one sentence. Go through it. Move my Tuesday appointment to Thursday afternoon. Classify the intent. Reschedule not cancel. Resolve which appointment. Check whether Thursday is open. Get a yes. Then write. broken into

Eliminating Injection Surfaces: Why Type Parameters Beat Free Text

[0:58]Ordered steps. Each one is testable on its own. Left hole, it's a single guess. You can only grade at the end. Layer two can only check what it can see. So the agent never hands the backend the raw sentence. It hands it these fields. Which appointment, what new time, why, whether confirmation is required. Free text arriving at a system is unvalidatable and it's an injection surface. Narrow type parameters are what turn a tool call into something code can check before it runs. Now the failure that survives all of that, every step

The 5th Failure Mode: Grading the Entire Trace vs. the Final Message

[1:26]Returns clean. The final message reads, "Your appointment is confirmed for Thursday. No exception thrown and it's still wrong. Step five, never check the 24-hour rescheduling policy. Grade the last sentence and this passes. Grade the whole trace step by step and it doesn't. That's the difference between a demo and production. So rescheduling one appointment touched almost all of it. Four layers between the agent and the calendar. One sentence broken into

The "Safely Wrong" Challenge: Designing Your Own Oversight Layers

[1:50]Ordered testable steps. Typed fields instead of free text so code has something to check. and a greater that reads the whole trace because a clean final message can still hide a skipped rule. None of this exists because the model is bad. It exists because acting in the real world means being wrong safely. Your turn. Read this one with me. Take one action your agent can take on a real system. Write the four layers for it. What the agent proposes, what code can validate before it runs, what the human must explicitly approve, and what the tool actually executes. The name one failure that gets through all four. That last clause is the exercise. The first four are easy to fill in. The fifth is where you find out whether your layers are real. Check the answer three ways. Is layer two a check code could actually run? Is the approval explicit rather than inferred? And would your logs catch the failure names? Wrong. Safely made by Muban Modi.

More from Humanitarians AI Fellows

Humanitarians AI Lyrical Literacy Project