Tool Use and Function Calling
Tool use is the broader pattern of connecting a language model to operations such as calculation, search or an external service. Function calling is one structured interface for it: the developer describes functions and their expected arguments, and the model returns a request that application code can execute. This comparison keeps the capability and the interface distinct. Producing a function-shaped object is not the same event as successfully performing the requested operation.
Origin and context
ReAct's 2022 paper combined reasoning with actions and observations. Toolformer, published initially as a February 2023 preprint, explored learning when and how to call APIs. OpenAI's June 2023 announcement exposed structured function requests in a commercial model API; Anthropic announced general tool-use availability in May 2024. These are separate research and product milestones. They do not imply that one provider invented software functions or that all modern tool interfaces follow a single protocol.
Why it matters
A model need not reproduce every capability in its generated text. A calculator can supply arithmetic and a service can return information absent from the model's training. Toolformer investigated this complementary use of external results. API tool interfaces make a similar architectural boundary available to application developers: they connect a language request to a particular operation and return its result to the conversation. This enables workflows beyond answering from model parameters alone.
Example
In an illustrative application, a support assistant requests a lookupOrder function with an order identifier. The application performs the lookup and returns the current delivery status, which the model explains to the user. Calling cancelOrder would be a different operation, not a consequence of merely looking up the order. This separation makes the proposed operation visible to the application; it does not by itself prove that the identifier is correct or that the caller may change the order.
How it differs
ReAct prompting pattern
Function calling is an interface for requesting an operation. ReAct is an iterative reasoning-action-observation pattern that can adapt after tool results. One structured call does not imply a ReAct loop.
Model Context Protocol
MCP connects AI applications to external systems through a shared client-server protocol. Function calling is the model-facing request mechanism. An application may connect the two, but exposing an MCP server and generating function arguments are different responsibilities.
Computer Use
Computer use acts through a graphical interface using observations, clicks and keystrokes. A function tool exposes a named operation with arguments. A graphical-control mechanism can itself be offered as a tool; the distinction concerns the interface to the external system.
Maturity and evidence
Maturity is rated 4. Meta's tool-learning research and independently documented OpenAI and Anthropic API implementations establish adoption beyond one organization. The rating concerns the established interaction pattern, not perfect tool choice, interchangeable vendor schemas or guaranteed task completion. ReAct and MCP remain complementary concepts rather than aliases.
Limits and open questions
A structured request can still select the wrong operation or contain incorrect arguments. OpenAI's original announcement also documented the risk of instructions arriving through untrusted tool output and recommended confirmation before consequential actions. Skills Intelligence treats request structure, successful execution and valid user intent as three separate checks; a schema alone cannot establish all three.
Sources: s2
Related terms
References
- Toolformer: Language Models Can Teach Themselves to Use ToolsSchick et al. / arXiv · 2023-02-09 · class A
- Function calling and other API updatesOpenAI · 2023-06-13 · class A
- Claude can now use toolsAnthropic · 2024-05-30 · class A
- ReAct: Synergizing Reasoning and Acting in Language ModelsYao et al. / ICLR 2023 · 2022-10-06 · class A
- Introducing the Model Context ProtocolAnthropic · 2024-11-25 · class A
- Introducing computer use, a new Claude 3.5 Sonnet, and Claude 3.5 HaikuAnthropic · 2024-10-22 · class A
Last updated: 2026-09-05
This term is also covered in the Skills Atlas as llm function calling skill.
This term is also covered in the Skills Atlas as model context protocol skill.
This term is also covered in the Skills Atlas as prompt injection defense skill.