Tools are the action space on the AI Agents track. The model can only do what the tools allow. A tool is a function with a name, a description, and a schema for arguments. Vague tools ('do_anything') make the model guess. Narrow tools ('search_orders', 'refund_order') make behavior reviewable.
This lesson assumes you already worked through The observe-plan-act loop.
The idea in practice
Each tool description should say when to use it and when not to. Arguments should be typed: strings, numbers, enums. Return structured data, not a paragraph, so the next step can rely on fields.
A concrete check
goal = {
'track': 'AI Agents',
'lesson': 'Tools are the action space',
}
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 tool that returns a long unstructured blob forces the model to re-parse and hallucinate fields that were never there. 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
Design three tools for a bookstore agent. For each, write the name, two arguments, and one sentence of when not to call it.
Self-check
- Say Tools are the action space 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.