コンテンツにスキップ
Dev Classmethod Jp Claude Tool and Client

Claude の「ツール」と「クライアント」を仕組みから理解する

  • URL: https://dev.classmethod.jp/articles/claude-tool-and-client/

  • 日付: 2026-06-14

  • Tier: Tier 2

  • 要旨: Claude API の「ツール(tool_use)」と「クライアント」という2つの概念の正確な定義を解説。ツールは MCP/Skill/Agent SDK の総称ではなく、Messages API の tool_use ブロックという具体的な仕組みであり、クライアントは claude.ai・Claude Code・自作スクリプトなど「API を呼ぶ側のプログラム」の総称。

詳細

  • API の基本: ステートレスなリクエスト-レスポンス。会話継続はクライアントが messages 配列に全履歴を毎回まとめて送ることで実現。会話が長くなるほど入力トークン(課金)が増える。
  • stop_reason: end_turn(完了)・tool_use(ツール実行要求)・max_tokens(上限打ち切り)・pause_turn(サーバーサイドツールの反復上限)など。クライアントはこれを見て次のアクションを決定。
  • ツールの定義: name/description/input_schema の3要素。description の品質でモデルのツール呼び出し判断が変わる。
  • ツールの種類: クライアント実行(Bash、text_editor など)と Anthropic サーバー実行(web_search、code_execution)の2種。後者はクライアントが実行不要で結果が応答に含まれる。
  • クライアントの例: claude.ai・デスクトップアプリ・Claude Code・Claude Cowork・自作スクリプト・Bedrock 経由プログラムすべてが「クライアント」。
  • tool_result は tool ロールではなく user ロールのメッセージで返す(他社 API と異なる)。