Tools
The functions that connect a model to the outside world
awesome-ai-stack · concept slides
What it is
On its own a model only generates text. Searching, reading a page, booking an appointment — all of it happens only through tools.
flowchart LR
model["Model"] -- pick tool + args --> sel["Tool call"]
sel --> tool["Tool — search·API·browser"]
tool --> result[("Result")]
result --> model
model --> answer["Answer"]Picking a tool and filling in its arguments is what’s commonly called function calling.
Why it matters
A model’s knowledge stops at training time, and it can’t act on its own. Tools bridge both gaps.
| Without tools | What a tool fills in |
|---|---|
| Stale knowledge — nothing past the cutoff | Web search for fresh facts and prices |
| Unreadable pages | Scraping/crawling to pull the content |
| Un-clickable UIs | Browser automation to act like a person |
| Out-of-reach apps | App/API integration to delegate auth + calls |
| Un-runnable code | Code execution in a sandbox |
Browser · integration · code
How tool calling works
- Schema — each tool’s name, description, and input shape are given to the model, which decides which tool fits
- Filling arguments — the model picks a tool and produces the input as JSON; malformed calls are caught by validation and retried
- Feeding results back — the result goes back into reasoning to decide the next step; tools can be chained
Passing tool specs over a standard protocol is taking hold too — MCP (Model Context Protocol) is one such standard.