Tool & Function Calling
Tool use (also called function calling ) lets an AI ask your code to run a defined task and then continue with the result. You describe each tool; the model returns a structured call; your code runs it and hands back the answer.
Learn Tool & Function Calling in our free Prompt Engineering course — a beginner-friendly interactive lesson with worked examples, a practice exercise and a…
Part of the free Prompt Engineering course at LearnCodingFast — hands-on lessons with examples you run in your browser, plus practice exercises and a quick quiz.
This unlocks live data, private information, and real actions the model cannot do from memory alone. This lesson walks through the call, execute, observe loop.
What You'll Learn in This Lesson
1 Describe the tool clearly
A tool is defined by three parts: a name , a description of what it does and when to use it, and a JSON schema of its parameters:
2 The call, execute, observe loop
The model does not run the tool itself. It asks; your code answers. The rhythm:
The loop repeats: the model may call another tool, or finish its answer once it has what it needs.
3 Tools vs plain prompting
Reach for a tool only when the model needs something beyond its own knowledge:
Common Mistakes (and the fix)
- Vague tool descriptions. — Say what it does AND when to use it.
- Loose or missing parameter schema. — List fields and types in JSON schema.
- Expecting the model to run the tool. — Your code executes it and returns the result.
- Using tools for tasks plain prompting handles. — Reserve tools for live data and real actions.
Frequently Asked Questions
⏱ Test Yourself — Timed Quiz
10 quick questions, 12 seconds each. Instant feedback — beat the clock!
🎉 Lesson Complete
- ✅ Tool use lets the model ask your code to run a function
- ✅ Define tools with a name, description, and JSON-schema parameters
- ✅ The model returns a structured call; your code executes it
- ✅ Follow the call, execute, observe, continue loop
- ✅ Use tools for live data and real actions, not tasks prompting handles
Practice quiz
What is 'tool use' or 'function calling' with an AI?
- The model can request that your code run a defined tool and use the result
- The model fixes your hardware
- A way to delete tools
- A type of font
Answer: The model can request that your code run a defined tool and use the result. Tool use lets the model ask your code to run a function and continue with the result.
How do you describe a tool to the model?
- Only its color
- Just a single word
- A name, a description, and a JSON-schema of its parameters
- Nothing is needed
Answer: A name, a description, and a JSON-schema of its parameters. Tools are defined by name, description, and a parameter schema the model fills in.
When the model decides to use a tool, it returns…
- A random number
- A structured call naming the tool and its arguments
- A picture
- An error
Answer: A structured call naming the tool and its arguments. The model emits a structured tool call with the chosen arguments.
Who actually executes the tool?
- The model runs it itself secretly
- Nobody
- The user types it by hand
- Your code runs it and returns the result to the model
Answer: Your code runs it and returns the result to the model. Your application executes the function and feeds the result back to the model.
After your code returns a tool result, the model…
- Continues, using the result to finish its answer
- Starts over from scratch
- Stops forever
- Deletes the tool
Answer: Continues, using the result to finish its answer. The model incorporates the result and continues the conversation.
The basic loop of tool use is…
- encrypt, decrypt
- call, execute, observe, then continue
- guess, guess, guess
- sleep, wake, repeat
Answer: call, execute, observe, then continue. The model calls a tool, your code executes it, the model observes the result, and continues.
Why use a tool instead of plain prompting?
- It is always slower
- To use more emojis
- There is never a reason
- To access live data or real actions the model cannot do from memory alone
Answer: To access live data or real actions the model cannot do from memory alone. Tools fetch current data or take real actions the model cannot do on its own.
A clear tool description mainly helps the model…
- Look nicer
- Run faster hardware
- Decide WHEN to call the tool and HOW to fill its parameters
- Avoid all tools
Answer: Decide WHEN to call the tool and HOW to fill its parameters. Good descriptions guide correct tool selection and argument formatting.
Which task is a good fit for a tool rather than plain prompting?
- Brainstorming names
- Looking up today's live weather for a city
- Rephrasing a sentence
- Summarizing a pasted paragraph
Answer: Looking up today's live weather for a city. Live, external data like current weather is exactly what a tool provides.
The parameter schema for a tool is written in…
- JSON schema describing the expected fields and types
- Morse code
- A spreadsheet only
- Random text
Answer: JSON schema describing the expected fields and types. Tool parameters are described with a JSON schema of fields and types.