ツール利用(function calling / MCP / スキル)
ツール利用(function calling / MCP / スキル)は、汎用モデルに「検索・コード実行・API操作」などの手順を外付けする仕組みです。RAGがモデルに知識を足すのに対し、ツール利用は行動を足す——「知らないことを調べる」だけでなく「実際に何かを実行する」までモデルにやらせるのが違いです。
何をするものか
モデルは本来、文章を生成するだけで実世界には触れません。ツール利用では、モデルに「使える道具の一覧(検索する・電卓を叩く・ファイルを読む・APIを呼ぶ等)」を渡しておき、モデルが状況に応じてどの道具をどう使うかを自分で選んで呼び出します。この「道具を呼び出す」インターフェースが function calling で、道具側を標準化してつなぐ規格が MCP(Model Context Protocol)、まとまった作業手順をパッケージにしたものが「スキル」と呼ばれます。呼び名は違っても、狙いは同じ「汎用モデルに手順・行動を外付けする」ことです。
「専用に作り替える」より「汎用+外付け」
特定の作業をこなさせたいとき、その作業専用にモデルをファインチューンする道もありますが、汎用モデルにRAG(知識)とツール(行動)を外付けする方が、更新が効き・機密を外に出さず・作業の追加も差し替えで済みます。汎用モデルにコマンド実行やファイル操作を与えて開発作業をこなす仕組み(コーディングエージェント等)は、この「汎用+ツール」の代表例です。
ローカルLLMでの落とし穴 — 小型モデルはツールが苦手
ここがローカルLLMで最も注意すべき点です。ツール利用はモデルの指示追従・計画能力に強く依存します — 「どの道具を、どんな引数で、どの順番で呼ぶか」を正しく組み立てる必要があり、これは単なる文章生成より難しい仕事です。クラウドのフロンティアモデルは安定してこなしますが、ローカルの小型モデル(数B級)はツールの呼び出しを誤ったり、複数手順の計画を最後までやり切れないことが珍しくありません。そのため用途によって必要なモデルサイズが変わります:
- 参照して答えるだけ(RAG中心) — 小型モデルでも実用。
- 複数の道具を計画して実行(エージェント的) — 明確に重く、指示追従の強い中〜大型モデルや、ツール利用・エージェント向けに調整されたモデルが要ります。
「ローカルでもエージェントが動く」と単純化せず、やらせたい作業がRAG(参照)止まりか、ツール実行まで要るかで必要スペックを見積もるのが安全です。当サイトの判定は、そのモデルが手元のGPUで動くかの目安に使えます(どのモデルがツール利用に強いかは、公表・実測情報が固まり次第この項で扱います)。
関連用語
- RAG(検索拡張生成) — モデルに手元の最新文書を参照させる仕組み。ファインチューンなしで知識を足せる
- ベースモデルとInstructモデル — 「-Instruct」が付く方が対話用。素のベースモデルは指示に従わない
- ローカルLLMとは — 自分のPCやスマホの中で動かす大規模言語モデル。会話が外部に送信されない
参考資料(出典)
- https://huggingface.co/docs/hugs/en/guides/function-calling
- https://modelcontextprotocol.io/introduction
▶ あなたのPCで動くモデルを自動判定する(スペック送信なし・ブラウザ内完結)
上記はアフィリエイトリンクです。経由して課金された場合、当サイトに紹介料が入ります。