🧠 Conversational AI & LLMs

Tool Use vs Function Calling: What's the Difference?

You'll hear "tool use" and "function calling" used interchangeably in voice agent docs. They mean roughly the same thing. The reason both terms exist is mostly historical — different vendors named the same idea differently.

Tyler Weitzman
Tyler Weitzman
January 18, 2026 · 4 min read
Speechify

You'll hear "tool use" and "function calling" used interchangeably in voice agent docs. They mean roughly the same thing. The reason both terms exist is mostly historical — different vendors named the same idea differently. Knowing the small differences helps when you're integrating across providers or reading older documentation.

TL;DR

  • Tool use is the older, more general term — the LLM "uses tools" to accomplish tasks.
  • Function calling is the API-level mechanism — the LLM emits a structured request to call a specific function.
  • In 2026, every major LLM provider supports the same fundamental pattern under one of these names.
  • The terms map 1:1 in practice. Use whichever your platform docs use.

Where the terms come from

Tool use was the original framing — research papers in 2022 introduced it as "LLMs that can use tools." The picture: the LLM is a reasoning agent; tools are external capabilities (calculator, search, code execution) it can invoke.

Function calling is what OpenAI named their implementation when they shipped it in mid-2023. The API surface: you pass a list of functions to the chat completion call; the LLM optionally returns a function_call instead of (or alongside) text.

Anthropic shipped their version as tool_use. Google shipped theirs as function_calling. Different names, same idea.

The mechanism (whatever you call it)

In all flavors:

  1. You define a set of capabilities (functions/tools) with name, description, and parameter schema.
  2. The LLM, on each turn, decides whether to reply with text or call a function.
  3. If function call: your code executes the function and returns the result.
  4. The model continues with the new context.

The differences across providers are mostly in:

  • Schema syntax (JSON Schema vs simplified Anthropic format)
  • Streaming semantics
  • Parallel vs sequential calls
  • Result formatting

These matter when you're writing the integration; they don't matter conceptually.

Where the terms diverge slightly

A few subtle distinctions worth knowing:

Tools (broader) sometimes includes things that aren't functions in the API sense — e.g., "the model can search the web" might be implemented as a function but framed as a tool.

Function calling (narrower) specifically refers to the structured function-call API.

In 2026, frameworks like Anthropic's Claude treat code execution, web search, and file operations as "tools" — a unified abstraction over what older APIs would have called function calls.

For SIMBA's docs, we use "function calling" because that's what most users search for. They mean the same thing.

Practical implications

Three places the distinction matters in real builds:

1. SDK choice. If you're targeting multiple LLM providers, your code needs to translate function definitions across formats. Most modern SDKs (LangChain, LlamaIndex, Vercel AI SDK) abstract this.

2. Documentation searching. When googling, both terms turn up similar info. "Function calling" returns more API-focused content; "tool use" returns more conceptual articles.

3. New capabilities. Provider-built tools (web search, code execution, computer use) are appearing under the "tools" framing. If you only know "function calling," you might miss these.

What to call them in your team

Recommendations:

  • In code and architecture: use "function calling" (matches API names).
  • In conceptual discussion: either works.
  • In docs aimed at less technical readers: use "tools" — more intuitive.

A note on multi-tool / multi-function

A growing pattern: an LLM that calls multiple tools in a single turn (parallel) or chains tools (sequential).

Example: "look up the customer, then look up their last order, then check whether the order is eligible for return."

In voice, this is risky because each tool call adds latency. Most voice agents do tools serially with the LLM deciding each one based on the previous result. Parallel tool use is more common in chat agents.

For more on the design pattern, see function calling for voice agents: a practical guide.

FAQ

Should I use the term "agent" instead of either? "Agent" is a higher-level concept. An agent uses tools / makes function calls to accomplish goals. Don't use "agent" when you mean a specific function call.

Are there cases where they really do mean different things? In academic papers, "tool use" sometimes means broader capability orchestration (planning, sequencing). In product docs, they're synonymous.

Which term will win in the long run? "Function calling" is winning in API surface naming. "Tools" is winning at the abstraction layer (model context protocol, agent frameworks, etc.).

Should I care about MCP (Model Context Protocol)? If you're integrating multiple tools across providers, yes — MCP is becoming a standard. For a single voice agent on one platform, no.

What about plugins? "Plugins" was the term OpenAI used pre-function-calling. Mostly retired in favor of function calling.

Tyler Weitzman
Tyler Weitzman
Co-Founder & Head of AI, Speechify

Tyler Weitzman is co-founder and Head of AI at Speechify. He has spent the past decade building the speech-synthesis stack that powers millions of users. Tyler writes about the engineering of real-time conversational systems — text-to-speech, speech recognition, latency budgets, model serving, and the architectural choices that separate prototypes from production-grade voice agents.

More from Tyler Weitzman

View all →

Related reading

Voice AI, twice a month.

Get the best of the SIMBA resources hub — new articles, trend notes, and operator guides. No spam.