Schemas for tool arguments on the AI Agents track. A schema is the boundary between language and code. Enums beat free strings for statuses. Required fields must be required. Descriptions belong next to fields because the model reads them.
This lesson assumes you already worked through How agents talk to tools.
The idea in practice
Prefer flat objects. Avoid deeply nested optional bags. Include examples in the description. Validate on the server even if the provider claims to validate.
A concrete check
goal = {
'track': 'AI Agents',
'lesson': 'Schemas for tool arguments',
}
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 string field named status that accepts any text will eventually contain 'pls refund'. 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
Tighten one loose schema: replace a free-text status with an enum of four values.
Self-check
- Say Schemas for tool arguments 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.