Home›MCP / Tooling›【LLM・VLM実践学習 #3】LLMへ道具を使わせる — Function Calling・MCP・Agentの違い
【LLM・VLM実践学習 #3】LLMへ道具を使わせる — Function Calling・MCP・Agentの違い

【LLM・VLM実践学習 #3】LLMへ道具を使わせる — Function Calling・MCP・Agentの違いThis article clarifies the conceptual differences between Function Calling,…

元記事を読むRead original articleqiita.com(新しいタブで開きます)(opens in a new tab)
AI要点サマリSummary highlight

Function Calling、MCP、Agentという三つのアプローチの概念的な違いを整理し、LLMに外部ツールを活用させる際の適切な選択基準を解説した実践的な学習記事。

This article clarifies the conceptual differences between Function Calling, MCP, and Agent patterns for giving LLMs access to external tools, helping practitioners choose the right approach for their use case.

本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (qiita.com) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (qiita.com).

要約と収集メタデータに基づく AI 解説。元記事全文の転載・翻訳ではありません。AI explainer based on the summaries and collected metadata, not a copy or translation of the full source article.

大規模言語モデル(LLM)に外部の機能を「道具」として使わせる技術は、単なる文章生成を超えた実用的なアプリケーション構築の要となっている。本記事のテーマであるFunction Calling、MCP(Model Context Protocol)、Agentは、いずれもその実現手段だが、抽象度と役割が異なるため混同されやすい。

Function Callingは、LLMがユーザーの要求に応じて、あらかじめ定義された関数の呼び出しに必要な引数を構造化データ(多くはJSON)として出力する仕組みだ。OpenAIが2023年に提供を始め、現在はGoogleやAnthropicなど主要プロバイダーも同様の機能を備える。モデル自身が関数を実行するわけではなく、実際の処理はアプリケーション側が担う点が特徴となる。

MCPは、Anthropicが2024年に公開したオープンな規格で、LLMと外部のデータソースやツールを接続する「共通の接続口」を目指すものだ。従来は各アプリが個別にツール連携を実装していたが、MCPサーバーとして機能を公開すれば、対応するクライアントから横断的に利用できる。USB端子のような標準化を狙う試みと説明されることが多く、公開後はOpenAIやGoogleも対応を表明したと報じられている。

Agentは、これらを部品として組み合わせ、LLMが目標達成に向けて自律的に手順を計画し、ツールの呼び出しと結果の観察を繰り返す設計パターンを指す。Function CallingやMCPが「道具の渡し方」だとすれば、Agentは「道具を使って課題を解く主体」に近いと言える。

実務では、単発の情報取得ならFunction Calling、多様なツールを再利用したいならMCP、複雑な多段タスクの自動化ならAgent、といった使い分けが一つの目安になる。ただし三者は排他的ではなく、MCP経由で提供されたツールをAgentが呼び出すといった組み合わせも一般的だ。技術の進展は速く、各規格への対応状況や選択基準も今後変化していく可能性があるため、最新の動向を確認しながら設計を進めることが望ましい。

Giving large language models the ability to use external tools has become one of the central concerns in building practical AI applications, because a model on its own is confined to the knowledge fixed during training and cannot query a database, call a live API, or act on data it has never seen. As the third entry in a practical learning series on LLMs and vision-language models, this article sets out to untangle three terms that are frequently conflated: Function Calling, the Model Context Protocol (MCP), and the Agent pattern. The key insight is that these are not competing alternatives but concepts operating at different layers, and confusing them tends to lead to over-engineered or poorly scoped systems.

Function Calling is best understood as a model capability rather than an execution mechanism. When a developer supplies a set of tool definitions, usually described as JSON schemas with names, parameters, and descriptions, the model can decide that a given request warrants a particular tool and emit a structured payload naming the function and its arguments. Crucially, the model does not run anything itself. The surrounding application receives that structured output, executes the actual code, and feeds the result back into the conversation. OpenAI popularized this approach in 2023, and comparable capabilities are now offered by Anthropic, Google, and others. It is a reliable way to turn free-form language into machine-actionable calls, but the developer remains responsible for wiring each tool by hand.

MCP addresses a different problem: how tools and data sources are exposed and discovered in the first place. Introduced by Anthropic as an open standard in late 2024, MCP defines a client-server protocol so that a tool provider can build an MCP server once and have it consumed by any MCP-compatible client. It is sometimes described as a standardized connector, aiming to reduce the combinatorial burden of writing bespoke integrations for every model and every application pairing. Where Function Calling concerns the moment a model chooses a tool, MCP concerns the plumbing that makes tools portable and reusable across ecosystems. Support appears to be growing beyond its origin, with several major vendors indicating adoption, though the standard is still relatively young and evolving.

The Agent pattern sits at a higher, architectural level. An agent typically wraps a model in a loop: it reasons about a goal, selects an action, observes the outcome, and repeats until the task is complete or a stopping condition is met. This iterative structure, often traced to the ReAct approach that interleaves reasoning and acting, is what distinguishes an agent from a single tool call. Agents usually rely on Function Calling as their action mechanism and may draw their tools from MCP servers, while adding planning, memory, and multi-step orchestration. Frameworks such as LangChain and LlamaIndex provide scaffolding for these loops.

Seen together, the relationship becomes clearer. Function Calling is the mechanism by which a model expresses an intent to act, MCP is a protocol for making tools available in a standardized way, and the Agent is a design pattern for autonomous, multi-step behavior built on top of both. They compose rather than exclude one another.

For selection, the practical guidance is to match the layer to the need. If an application requires only a handful of well-defined, single-shot actions, plain Function Calling is often sufficient and easiest to reason about. If tools must be shared across multiple applications or teams, or a growing catalog of integrations is expected, adopting MCP can reduce duplicated integration work. If the task genuinely requires multi-step reasoning, dynamic tool selection, and adaptation to intermediate results, an agentic loop becomes justified, though it also introduces higher latency, cost, and debugging difficulty, so it is worth avoiding when a simpler pattern suffices.

For readers coming from the vision-language side of this series, the same layering applies. A VLM can use Function Calling to trigger tools after interpreting an image, and those tools can equally be exposed through MCP. The broader industry direction is toward standardizing these interfaces so that models, tools, and orchestration logic can evolve independently. Treating these three concepts as distinct layers, rather than interchangeable buzzwords, is likely the most durable way to make design decisions as the tooling landscape continues to shift.

ポコとTECHガイドPoko & TECH Guide

ポコと当サイトのTECHガイドが、記事の要約と収集した情報から読みどころを語るAI生成の対話です。Poko and TECH Dashboard's own TECH Guide discuss the article's highlights in an AI-generated conversation based on its summary and collected source details.

  1. ポコPokoLLMは文章を書けるのに、どうして外部の「道具」が必要なの?If an LLM can generate text, why does it need external “tools”?
  2. TECHガイドTECH Guide記事によれば、モデルだけでは最新の在庫確認やメール送信はできないんじゃ。情報取得や操作には、外部プログラムとの接続が必要じゃよ。According to the article, the model alone can’t check current inventory or send email. It needs a connection to external programs to retrieve information or take actions.
  3. ポコPokoFunction Calling、MCP、Agentって、どれも道具を使う仕組みなの? 何が違うの?So Function Calling, MCP, and Agents all help use tools? What’s the difference?
  4. TECHガイドTECH Guide簡単に言うと、Function Callingは関数を呼ぶ仕組み、MCPは道具との接続方式、Agentは道具を使って進める型じゃな。記事はこの違いを整理しておる。Put simply, Function Calling invokes functions, MCP provides a way to connect with tools, and an Agent is a pattern for working through tasks with tools. The article organizes these differences.
  5. ポコPokoなるほど! 同じ「LLMに道具を使わせる」話でも、仕組みや役割を分けて考えるんだね。Got it! They all let an LLM use tools, but their mechanisms and roles should be considered separately.
  6. TECHガイドTECH Guideその通りじゃ。記事の見どころは、違いを知るだけでなく、用途に合うアプローチを選ぶ基準まで押さえる点じゃよ。Exactly. The key takeaway is not just understanding the differences, but also using the article’s criteria to choose the right approach for each use case.
記事情報・収集記録Article details & collection record
出典Source
Qiita MCPコミュニティCommunity
公開日時 (JST)Published (JST)
収集日時 (JST)Collected (JST)
配信形式Format
ブログBlog
原文言語Source language
JA
重要度の位置づけImportance in this lane
MediumMedium priority(MCP / Tooling 122件中、同等以上 112件)(112 of 122 MCP / Tooling entries are equal or higher)
出典の平均重要度(掲載直近 30 件・最大 30 件)Source average (last 30 listed, up to 30)
2.1 / 31=情報 · 2=中 · 3=高1=Info · 2=Medium · 3=High
情報の寿命Half-life
中期 (チュートリアル)Medium-term (tutorial)

🔗MCP / Tooling の他の記事More from MCP / Toolingもっと見る →View more →

ページ上部へScroll to top