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 と異なる)。