Agent datasets are usually success logs: the plan worked, the tools returned, the task ended. Production is a sequence of small failures that someone has to notice and route around.
A model that has only seen success treats an error as an ending.
What recovery looks like as data
- The failure: a timeout, a malformed argument, an empty result
- The detection: what in the observation indicates something went wrong
- The response: retry, change arguments, choose another tool, or stop and ask
- The outcome: did the recovery work
The second item is the hardest and the most teachable. Most models miss the signal before they mishandle it.
Empty is not the same as broken
An empty result can mean no data, a wrong filter, or a service that is down. The same observation, three different responses.
Label which one it was, from the surrounding context, and the model starts to distinguish.
Cost the recovery
Retrying a slow tool three times may be worse than asking the user. Record the latency and the token cost of each path, then prefer the cheaper one where both work.
Keep the failed episodes
An episode that failed and was repaired is more valuable than one that succeeded first try, because it contains both the error and the fix.
Zovda builds these collections through Datuva, where each step keeps its observation and the recovery that followed. The code and agent collection shows the structure.
Tell us how your agent fails. We reply within one business day.
