← 概念辨析に戻る

Concept Contrast Fable

ツール呼び出しとツール使用

先に結論:「ツールコール」は通常 OpenAI エコシステムでの言い方で、「ツール使用」は Anthropic エコシステムでの言い方だ。どちらも同じこと——モデルが外部関数や API を呼び出せるようにすること——を指す。同じ能力に二つの看板。

「ツールコール」は通常 OpenAI エコシステムでの言い方で、「ツール使用」は Anthropic エコシステムでの言い方だ。どちらも同じこと——モデルが外部関数や API を呼び出せるようにすること——を指す。同じ能力に二つの看板。

寓話

同じ街、二軒の店の看板

城東の商業街に二軒の金物店が開いた。東の端の店は「順発」、西の端の店は「利達」といった。二軒が売るものはほとんど同じだった——レンチ、ドライバー、電動ドリル、水準器。仕入れ先まで同じ卸売業者だった。しかし順発に入ると、店員はレンチを「旋緊器」と呼んだ。利達に入ると、店員は同じものを「転拧工具」と呼んだ。

ある工事隊が同時に二つの店で資材を購入していました。現場監督の老鄭は毎週二枚の購買伝票を記入しました。順発への伝票には「旋緊器 x 20」、利達への伝票には「転拧工具 x 20」と書きました。倉庫への入庫時、倉管員はさらに三枚目の伝票を記入しました——彼自身がこの二つの名前を「扳手」として統一して倉庫台帳に記入したのです。三枚の伝票、三つの名前、同じ一つの鉄の塊。

新しく来た購買アシスタントは混乱し、老鄭に尋ねた:この三つは違うものですか?老鄭は三つの名前に対応する品を机に置いた。まったく同じだった。アシスタントはまた尋ねた:ではなぜ名前が違うのですか?老鄭は言った:順発の社長は締め付け器と呼ぶのが好きで、専門的に見える。利達の社長は回し締め工具と呼ぶのが好きで、親しみやすく見える。私はレンチを使う。私が管理するのは手元の仕事で、彼らが管理するのは店の看板だ。名前が違っても、物が同じであることを妨げない。

後に工程隊は外地の大きなプロジェクトを受け、第三のサプライヤーから緊急補充が必要になった。助手が電話して尋ねた。そちらに旋緊器はありますか。相手はないと言った。助手はまた尋ねた。回し締め工具は。やはりない。老鄭が電話を奪った。扳手、八号から十四号まで各五十本。相手は言った。あります、午後に届けます。

老鄭は事後、隊内でルールを定めた。倉庫台帳上の名前を「通用名」と呼び、すべての内部流转、業務割り当て、棚卸し、研修はすべて通用名を使う。発注書には各サプライヤーの原名を残すが、その横に対応する通用名を必ず注記する。ある道具について一社のサプライヤーだけが特定の名前を使っている場合も、台帳には登録するが、デフォルトの検索入口にはしない。

この規約を半年間運用したところ、購買のエラー率は半減した。サプライチェーンが突然良くなったわけではなく、全員が同じ語彙で仕事を始めた後に変化が起きた。老鄭はこう言った。各店の呼び方を尊重してよいが、工程隊の内部では統一した呼び方を持たなければならない、と。

後に工事隊はこの対照表を小冊子にして印刷し、新しく入った人は最初の一週間で暗記した。冊子の表紙には一行だけ書かれていた。まず物が何かを問い、それから店の名を問え。

後に購買チームの壁には三列ができた。物料図面は中央に置き、左には順発の呼び名、右には利達の呼び名を掛けた。新しく来た人はまず図面を見て、それから左右の名前を見る。

ツール呼び出し (Tool Calling)

OpenAI エコシステムにおける常用用語で、モデルが Chat Completions API の tools パラメータを通じて呼び出し可能な関数を定義し、構造化された関数呼び出しリクエストを返す能力を指す。

ツール使用(Tool Use)

Anthropic エコシステムでよく使われる用語で、Claude モデルが tool_use コンテンツブロックを通じて外部関数を呼び出す能力を指す。Function Calling と概念レベルでは同じ能力を指すが、API プロトコル、パラメータ構造、応答形式が異なる。

物語の対応

  • 順発商店(締め付け器):OpenAI エコシステムの Tool Calling / Function Calling の命名。
  • 利達舗(転拧工具):Anthropic エコシステムの Tool Use 命名。
  • 倉庫台帳のレンチ:ケイパビリティ層の汎用概念、統一された内部用語。
  • 新しいアシスタントは三つの名前に混乱した:ベンダー用語の差異によるコミュニケーションコスト。
  • 購買伝票は元の名称を保持し、横に一般名を記す:ベンダー精度を保ちながら内部一貫性を確保する。

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

あなたのコードとドキュメントで二つの層を区別してください。抽象層(ツール定義 schema、ツール登録、ツールスケジューラ)は統一して「ツール呼び出し」または英語の tool calling をそのまま使います。適応層(OpenAI SDK の tools パラメータへの接続、Anthropic SDK の tool_use ブロックへの接続)は各ベンダーのネイティブな命名を保持します。このようにする利点は、モデルベンダーを変更する際に抽象層のコードを変更する必要がなく、適応層だけを変更すればよいことです。抽象層のあちこちに function_calling や tool_use の文字が現れていると、将来のベンダー変更は大規模なリファクタリングになります。

京ICP备2026014272号