Agents fail in the seams
Autonomous systems rarely collapse inside a single prompt. They fail in handoffs, permissions, and the cases nobody rehearsed.
A good agent demo is a straight line. A real business process is a set of seams: one system to another, one role to another, a tool call that is allowed on Monday and wrong on a holiday, a document that is almost the right template. Most agent failures we care about live in those seams, not in the fluency of the reply.
Architecture has to make the seams visible. What is the agent allowed to read? What is it allowed to change? When must it stop and ask? Which tool response is untrusted input, even if it came from an internal API? If those questions are answered in prose and not in the design, the agent will eventually take an action nobody can reconstruct.
Simulation is how you find this before a customer does. Generate the dull cases, then the hostile ones: missing fields, contradictory instructions, a tool that times out, a second agent that disagrees. Multi-agent setups need the same treatment. A handoff without a contract is just two demos sharing a queue.
The engineering implication is unglamorous and decisive. Log the plan, the tool call, and the stop condition. Evaluate behaviour on a scenario set that the team can extend. Treat a new tool the way you would treat a new permission in production, because that is what it is.