CHAPTER 03 · Tool Design · 1 / 11
What a tool is
A tool is a function the model can call, exposed to it as a schema with three parts:
- A name: the identifier the model emits to call it.
- A description: natural-language instructions telling the model what the tool does and when/how to use it.
- A parameter schema: typically JSON Schema, defining the arguments and their types.
When the model wants to act, it emits a tool call: the name plus arguments matching the schema. Your code runs the corresponding function and returns a result, which the model reads. The description and schema are the entire interface the model has to your capability, so they must teach, not just declare.