← 概念辨析に戻る

Concept Contrast Fable

ツール呼び出しと関数呼び出し

先に結論:一つはモデルが外部ツールを使い、データを調べ、リクエストを送り、システムを操作するための汎用能力。もう一つはOpenAIがこの能力につけたAPI層の名前。日常のコミュニケーションでは互換的に使えるが、技術方案を書く際に混用するとインターフェース層の曖昧さを生む。

一つはモデルが外部ツールを使い、データを調べ、リクエストを送り、システムを操作するための汎用能力。もう一つはOpenAIがこの能力につけたAPI層の名前。日常のコミュニケーションでは互換的に使えるが、技術方案を書く際に混用するとインターフェース層の曖昧さを生む。

寓話

鍛冶場の万能手と登記簿の名前

旧市街の鍛冶屋に、店の宝があった——万能鉄の手だ。鉄の手は異なる掌部品を装着できる:今日はペンチ頭で鉄塊を挟み、明日はハンマー頭で鉄花を打ち、明後日はドリル頭で穴を開ける。鍛冶屋の老師匠たちはこの鉄の手を「万能手」と呼んだ。

鍛冶屋は外の注文と接続するため、いつも専門用語を話すわけにはいかない。そこで帳簿係の先生は登記簿に万能手の正式名称を付けた:「夹具切换臂」。この名前はすべての対外見積書、使用説明書、購買契約に現れた。先生は得意になり、この名前は「万能手」より正確で体面だと感じた。

新しく来た弟子が、登記簿をめくって「夹具切换臂」という五文字を見つけ、師匠に走って尋ねた。これは一体何をするものですか。師匠は万能手を指して言った。これだよ。弟子はまた尋ねた。ではなぜ登記簿に直接万能手と書かないのですか。師匠は一瞬言葉に詰まり、言った。万能手は店中の誰もが分かるもの、夹具切换臂は外の人間に契約を見せるための名前だ。仕事を覚えるときは万能手という言葉を使い、契約を書くときは夹具切换臂という言葉を使う。物は同じでも、呼び方は場面で分けるのだ。

二年後、鍛冶屋は鉄器工房に拡大し、役所の大口注文を受けた。役所の調達文書には「治具切替アーム」と書かれていたが、工房内部の工程手順書、師弟の伝承、日々の生産計画はすべて「万能手」を使っていた。新任の調達主管は文書を受け取ると、市場で「治具切替アーム」の供給元を探し回ったが、見つかったのは一社の見積もりだけだった。旧主管が止めた:万能手で検索すれば、町中にある。

この件の後、鉄器坊は規則を定めた:対外文書に含まれる正式名称はすべて、内部用語表に別名を一件登録し、「内部では何と呼ぶか、対外では何と呼ぶか、同じものかどうか」を明確に記す。さらに、対外コミュニケーションのたびに、双方がまず名実対照表を突き合わせ、用語が成約の障害にならないことを確認する。

その後、工房の業務はどんどん大きくなり、異なるメーカーの鉄の手を使い始めた。メーカーごとにこの道具の呼び方が違い、「万能手」と呼ぶ者もいれば、「治具切替アーム」と呼ぶ者もあり、「機動掌」と呼ぶ者もいた。工房は思い切って用語表に「汎用概念」という欄を設け、「万能手」をそこに入れ、その下に各メーカーの具体的な製品名を並べた。内部の議論では汎用概念を使い、契約時にはメーカー名を使う——二つの語彙表を並行して維持した。

さらに後になると、新しい徒弟は初日にまず用語表を書き写し、それから鍛冶を学んだ——同じことが工房では何と呼ばれ、契約書では何と呼ばれ、他の工房では何と呼ばれるかを知るのだ。親方は言った。手の技はゆっくり鍛えればよいが、名と実が合わなければ、どんなに立派な仕事も契約にはならない、と。

後に工房は入口に名実対照板を掛け、毎日更新した。万能手の名前の下には、三家の工房それぞれの異なる呼び方が並んでいた。訪れる者はまず板を見てから、中に入る。

ツール呼び出し (Tool Calling)

大規模言語モデルが生成過程で外部ツールをスケジューリングする能力——APIの呼び出し、データベースの照会、コードの実行、ファイルの操作など。これは能力レベルの汎用概念であり、特定のAPIプロトコルに縛られない。

関数呼び出し (Function Calling)

OpenAI がツール呼び出し能力のために定義した API レベルの用語。よりインターフェース層に寄り、Chat Completions API で functions/tools パラメータを渡し、モデルに構造化された関数呼び出しリクエストを返させる仕組みを特に指す。

物語の対応

  • 万能の手:ツール呼び出し(Tool Calling)、能力レベルの汎用概念。
  • ツール切替アーム:Function Calling(関数呼び出し)、OpenAI API レイヤーにおける具体的な命名。
  • 徒弟の困惑:日常の議論では汎用概念を使い、契約書では API 用語を使うが、混ぜてはならない。
  • 調達主管が治具切替アームだけで検索してもサプライヤーが見つからない:API名に過度に縛られると技術の視野が狭まる。
  • 用語集には汎用概念とベンダー名を載せる:能力レベルの語彙とインターフェースレベルの語彙を区別する。

プロジェクトに落とし込む

チーム内で設計ドキュメントを書く際は、能力層の共通用語として「ツール呼び出し」を統一して使います。具体的な OpenAI API 統合、コード内の関数定義 schema、または OpenAI 互換インターフェースとの接続を議論する時だけ、「関数呼び出し」という正確な用語に切り替えます。システムが複数のモデルプロバイダーに同時接続している場合は、用語対照表を作ることをお勧めします。能力列は統一して「ツール呼び出し」と呼び、その下に OpenAI の Function Calling、Anthropic の Tool Use、Google の Function Calling をぶら下げます——これらは同じ能力に対する異なるベンダーの異なる API 命名です。

京ICP备2026014272号