Safe retries on the AI Agents track. Idempotency means doing the same call twice has the same effect as once. Reads are naturally idempotent. Creates and payments are not, unless you send a key and the server stores the first result.
This lesson assumes you already worked through Schemas for tool arguments.
The idea in practice
Generate an idempotency key per planned action, not per retry. Retries reuse the key. Store the key with the outcome.
A concrete check
goal = {
'track': 'AI Agents',
'lesson': 'Safe retries',
}
checks = [
'input available at decision time',
'score matches the real decision',
'failure case written down',
]
print(goal['lesson'])
for item in checks:
print('-', item)
Run the sketch locally if you have Python. The printout is a reminder of the checks, not a trained model. Replace the strings with the real inputs from your own example before you treat it as a design.
What usually goes wrong
A new key on every retry creates a second order. When this happens, stop adding parameters or tools. Fix the check, the data, or the permission, then run the same example again.
What to write down
- The input you are allowed to use at decision time.
- The output and the score or pass rule.
- One failure you will test on purpose.
- What you will not claim the system can do.
Practice
Explain where the key is created in the loop and where it is stored.
Self-check
- Say Safe retries in one sentence that mentions an input and an output.
- Name the failure mode in this lesson and the check that would catch it.
Done when: you can explain this lesson without the page open, and you have a written failure case.