Letting an agent write to a legacy system of record takes an intent log, not a better prompt.
The agent calls create_booking . The legacy API takes 31 seconds and the HTTP client times out. The orchestrator retries the step. The second call succeeds, and the customer now holds two reservations and a confused confirmation email. The prompt was fine. The model was fine. Nothing in the stack knew that the first call had actually gone through.
Every agent pilot we look at passes its demo on read-only tools: search, lookup, summarize. The trouble starts with the first tool that changes state. Booking, order entry, ticket creation, ERP postings. That is the write path, and it needs the same engineering you would give a payment flow.
An agent has three retry layers, and the legacy system sees all of them
The first layer is the HTTP client. Most SDKs retry on connection errors and 5xx responses by default. The second is the orchestrator.…