Calling in a guest — tool calling.
Fluent with language, a model still can't count exact beats, look up last night, or transpose note-for-note. So you give it a roster of specialists to call.
When a model hits something it can't do reliably on its own, you don't want it guessing. So you hand it a set of tools it's allowed to use, and let it call on them. This is tool calling (also “function calling”).
Here's the part that trips people up, and it's the same shape as retrieval last lesson: the model does not run the tool. It requests one — naming the tool and its inputs — and a real program on your side runs it and hands the result back. The model reads that result and plays on.
A band leader works the same way. Can't keep flawless time in their head? Call the metronome. Can't recall last night's exact set? Check the session log. Can't transpose a chart on the spot? Hand it to the arranger. The leader calls the specialist in, the specialist does the work, and the leader folds the result back into the tune.
So the model's real skill here is judgement: turning a vague ask into the right tool with the right inputs, then reading the answer correctly. And in a real LLM that answer comes back as plain text dropped into its context — the model can't confirm the tool actually ran, only trust what it reads.
Ask the soloist something it can't settle by ear alone. Watch it call in the right specialist — then play on from what they hand back.
Ask, run, read.
You hand the model the tools; it hands you back a request; your code runs the tool and gives it the result. The model only ever reads text.
The model decides; the tool does.
Tools give a model powers it doesn't have on its own — exact timing, live facts, real actions. But it never does them itself: it picks the right tool and inputs, your code runs the tool, and the model reads the result and plays on. Its job is judgement, not execution.
Retrieval, last lesson, was really just one tool — a search. Tool calling is the general version: hand the model a whole kit of specialists, and let it call whichever the moment needs.