Tool use bridges the gap between language understanding and real-world action. The model doesn't execute the tool itself — it generates a structured request (function name + arguments), the system executes it, and the result is fed back to the model.
This enables LLMs to: search the web, run code, query databases, send emails, control browsers, and interact with any API that has a defined schema.