# Function Calling

> Function calling, or tool use, is a model capability in which the model outputs a structured request to invoke a developer-defined function with arguments, which the application executes and returns as a result to the model.

- Identifier: PTL-0060
- Category: Retrieval & Tool Use
- Canonical URL: https://protologue.com/t/function-calling/
- Also known as: tool use, tool calling

## Description

Tools are usually described to the model with a name, a natural-language description, and a JSON Schema for parameters. Clear tool descriptions function as prompts in their own right and strongly affect when and how tools are used.

## Related terms

- [ReAct](https://protologue.com/t/react/)
- [Model Context Protocol](https://protologue.com/t/model-context-protocol/)
- [Structured Outputs](https://protologue.com/t/structured-outputs/)
- [Toolformer](https://protologue.com/t/toolformer/)

## Sources

- Anthropic (2024). Tool use with Claude. https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview
- Patil et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. https://arxiv.org/abs/2305.15334

## Cite this entry

Protologue. (2026). Function Calling. In Protologue: A Taxonomy of Prompting and LLM Techniques (v1.0.0, PTL-0060). https://protologue.com/t/function-calling/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
