Loading...
    • ビルド
    • 管理
    • モデルと料金
    • クライアントSDK
    • APIリファレンス
    Search...
    ⌘K
    はじめに
    Claudeの概要クイックスタート
    Claudeで構築する
    機能概要Messages APIの使用停止理由の処理
    モデルの機能
    拡張思考適応的思考エフォート高速モード(ベータ:リサーチプレビュー)構造化出力引用ストリーミングメッセージバッチ処理検索結果ストリーミング拒否多言語サポート埋め込み
    ツール
    概要ツール使用の仕組みウェブ検索ツールウェブフェッチツールコード実行ツールメモリツールBashツールコンピューター使用ツールテキストエディタツール
    ツールインフラ
    ツール検索プログラムによるツール呼び出し細粒度ツールストリーミング
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集プロンプトキャッシュトークンカウント
    ファイルの操作
    Files APIPDFサポート画像とビジョン
    スキル
    概要クイックスタートベストプラクティスエンタープライズ向けスキルAPIのスキル
    MCP
    リモートMCPサーバーMCPコネクター
    プロンプトエンジニアリング
    概要プロンプトのベストプラクティスConsoleプロンプトツール
    テストと評価
    成功の定義と評価の構築ConsoleでのEvaluation Toolの使用レイテンシの削減
    ガードレールの強化
    幻覚の低減出力の一貫性向上ジェイルブレイクの軽減プロンプトリークの低減
    リソース
    用語集
    リリースノート
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ツール

    ツール使用の仕組み

    ツール使用ループ、ツールの実行場所、および散文の代わりにツールを使用するタイミングについて理解する。

    このページでは、ツール使用の背後にある概念を説明します:ツールの実行場所、エージェントループの仕組み、そしてツール使用が適切なアプローチとなるタイミングについてです。実践的なガイダンスについては、チュートリアルまたは実装ガイドから始めてください。

    ツール使用の契約

    ツール使用は、あなたのアプリケーションとモデルの間の契約です。利用可能な操作と、その入出力の形式を指定するのはあなたであり、いつどのように呼び出すかを決定するのはClaudeです。モデルは自分自身では何も実行しません。構造化されたリクエストを発行し、あなたのコード(またはAnthropicのサーバー)が操作を実行し、その結果が会話に返ってきます。

    この契約により、モデルはテキストジェネレーターというよりも、呼び出す関数のように振る舞います。従来のAPIの経験を持つエンジニアは、他の型付きインターフェースと同じようにツール使用を統合できます:スキーマを定義し、コールバックを処理し、結果を返す。違いは、反対側の呼び出し元が、会話に基づいてどの関数を呼び出すかを選択する言語モデルであるという点です。

    ツールの実行場所

    ツールが異なる主要な軸は、コードが実行される場所です。すべてのツールは3つのバケットのいずれかに分類され、そのバケットによってアプリケーションが何に責任を持つかが決まります。

    ユーザー定義ツール(クライアント実行)

    スキーマを書くのはあなた、コードを実行するのはあなた、結果を返すのもあなたです。これがメインイベントです:ツール使用トラフィックの大部分は、アプリケーション固有のロジックを呼び出すユーザー定義ツールです。

    Claudeがあなたのツールの1つを使用することを決定すると、APIレスポンスにはツール名と引数のJSONオブジェクトを含むtool_useブロックが含まれます。あなたのアプリケーションはそれらの引数を抽出し、操作(データベースクエリ、HTTPコール、ファイル書き込みなど、ツールが行うこと)を実行し、次のリクエストのtool_resultブロックで出力を返します。Claudeはあなたの実装を見ることはなく、提供したスキーマと返した結果のみを見ます。

    Anthropicスキーマツール(クライアント実行)

    一般的な操作(シェルコマンドの実行、ファイルの編集、ブラウザの制御、スクラッチパッドメモリの管理)のために、Anthropicはツールスキーマを公開し、あなたのアプリケーションが実行を処理します。このカテゴリのツールはbash、text_editor、computer、memoryです。

    実行モデルはユーザー定義ツールと同一です:レスポンスにはtool_useブロックが含まれ、あなたのコードが操作を実行し、を返します。独自の同等ツールを定義する代わりにAnthropicスキーマツールを使用する理由は、これらのスキーマがトレーニング済みだからです。Claudeはこれらの正確なツールシグネチャを使用した何千もの成功した軌跡で最適化されているため、同じことを行うカスタムツールよりも信頼性高く呼び出し、エラーからより優雅に回復します。スキーマはモデルがすでに期待しているインターフェースです。

    Was this page helpful?

    • Anthropicスキーマツール(クライアント実行)
    tool_result

    サーバー実行ツール

    web_search、web_fetch、code_execution、tool_searchについては、Anthropicがコードを実行します。リクエストでツールを有効にすれば、サーバーが残りすべてを処理します。サーバーサイドループが操作を実行し、レスポンスがあなたに届く前にモデルに出力を返すため、これらのツールに対してtool_resultブロックを構築することはありません。

    受け取るレスポンスには、何が実行され何が返ってきたかを示すserver_tool_useブロックが含まれますが、それらを見る時点では実行はすでに完了しています。あなたのアプリケーションの役割は、ツールを有効にして最終的な回答を読むことであり、実行ループに参加することではありません。

    エージェントループ(クライアントツール)

    クライアント実行ツール(ユーザー定義とAnthropicスキーマの両方)は、アプリケーションがループを駆動することを必要とします。モデルはあなたのコードを実行できないため、すべてのツール呼び出しはラウンドトリップです:モデルが要求し、あなたが実行し、あなたが報告し、モデルが続行します。

    標準的な形はstop_reasonをキーとするwhileループです:

    1. tools配列とユーザーメッセージを含むリクエストを送信する。
    2. Claudeはstop_reason: "tool_use"と1つ以上のtool_useブロックで応答する。
    3. 各ツールを実行する。出力をtool_resultブロックとしてフォーマットする。
    4. 元のメッセージ、アシスタントのレスポンス、およびtool_resultブロックを含むユーザーメッセージを含む新しいリクエストを送信する。
    5. stop_reasonが"tool_use"である間、ステップ2から繰り返す。

    実際には次のように読めます:stop_reason == "tool_use"の間、ツールを実行して会話を続ける。ループは他の停止理由("end_turn"、"max_tokens"、"stop_sequence"、または"refusal")で終了します。これはClaudeが最終的な回答を生成したか、アプリケーションが処理すべき別の理由で停止したことを意味します。

    リクエストの構築、並列ツール呼び出しの処理、結果のフォーマットの仕組みについては、ツール呼び出しの処理を参照してください。

    サーバーサイドループ

    サーバー実行ツールは、Anthropicのインフラストラクチャ内で独自のループを実行します。あなたのアプリケーションからの単一のリクエストが、レスポンスが返ってくる前に複数のウェブ検索やコード実行をトリガーする場合があります。モデルは検索し、結果を読み、再度検索することを決定し、必要なものが得られるまで反復します。これはすべてあなたのアプリケーションが参加することなく行われます。

    この内部ループには反復制限があります。モデルが上限に達してもまだ反復している場合、レスポンスは"end_turn"の代わりにstop_reason: "pause_turn"で返ってきます。一時停止されたターンは作業が完了していないことを意味します。モデルが中断したところから続けられるよう、会話(一時停止されたレスポンスを含む)を再送信してください。継続パターンについてはサーバーツールを参照してください。

    ツールを使用するタイミング(および使用しないタイミング)

    ツール使用は、タスクがテキストだけではモデルができないことを必要とする場合に適しています:

    • 副作用を伴うアクション。 メールの送信、ファイルの書き込み、レコードの更新。モデルはこれらのアクションを説明できますが、実行できるのはツールだけです。
    • 新鮮または外部データ。 現在の価格、今日の天気、データベースの内容。トレーニングデータの外にあるものやシステム固有のものは、取得するためにツールが必要です。
    • 構造化された保証された形状の出力。 情報を含む散文ではなく、特定のフィールドを持つJSONオブジェクトが必要な場合、ツールスキーマが形状を強制します。
    • 既存システムへの呼び出し。 データベース、内部API、ファイルシステム。ツール使用は自然言語リクエストとそれを実現するシステムの橋渡しです。

    ツールを使用すべきサインは:モデル出力から決定を抽出するために正規表現を書いているなら、その決定はツール呼び出しであるべきでした。構造化された意図を回復するために自由形式のテキストを解析することは、その構造がスキーマに属するサインです。

    ツール使用が適さない場合:

    • モデルがトレーニングだけで回答できる場合。要約、翻訳、一般知識の質問にはツールのラウンドトリップは不要です。
    • 副作用のない一回限りのQ&Aの場合。実行するものが何もなければ、ツールがすることも何もありません。
    • ツール呼び出しのレイテンシが些細なレスポンスを支配する場合。すべてのツール呼び出しは少なくとも1つの追加ラウンドトリップです。軽量なタスクではオーバーヘッドが作業を超える可能性があります。

    アプローチの選択

    アプローチ使用するタイミング期待できること詳細情報
    ユーザー定義クライアントツールカスタムビジネスロジック、内部API、独自データ実行とエージェントループを処理するツールの定義
    Anthropicスキーマクライアントツール標準的な開発操作(bash、ファイル編集、ブラウザ制御)実行を処理する;スキーマがトレーニング済みのためClaudeが信頼性高くツールを呼び出すツールリファレンス
    サーバー実行ツールウェブ検索、コードサンドボックス、ウェブフェッチAnthropicが実行を処理;結果を直接取得するサーバーツール

    次のステップ

    チュートリアル:ツール使用エージェントの構築

    単一のツール呼び出しから本番環境まで、ステップバイステップでエージェントを構築する。

    ツールの定義

    スキーマ仕様、説明、およびtool_choice。

    ツールリファレンス

    Anthropicが提供するツールのディレクトリ。