細粒度ツールストリーミング
ツール使用は、パラメータ値の細粒度ストリーミングをサポートするようになりました。これにより、開発者はバッファリング/JSON検証なしでツール使用パラメータをストリーミングでき、大きなパラメータの受信開始までの遅延を削減できます。
細粒度ツールストリーミングはベータ機能です。本番環境で使用する前に、必ずレスポンスを評価してください。
モデルレスポンスの品質、API自体、またはドキュメントの品質についてフィードバックを提供するには、このフォームをご利用ください。皆様からのご意見をお待ちしております!
細粒度ツールストリーミングを使用する場合、無効または部分的なJSON入力を受信する可能性があります。コードでこれらのエッジケースを考慮するようにしてください。
細粒度ツールストリーミングの使用方法
このベータ機能を使用するには、ツール使用リクエストにベータヘッダーfine-grained-tool-streaming-2025-05-14
を追加し、ストリーミングを有効にするだけです。
以下は、APIで細粒度ツールストリーミングを使用する方法の例です:
この例では、細粒度ツールストリーミングにより、Claudeはlines_of_text
パラメータが有効なJSONかどうかを検証するためのバッファリングなしで、長い詩の行をツール呼び出しmake_file
にストリーミングできます。これは、パラメータ全体のバッファリングと検証を待つことなく、到着時にパラメータストリームを確認できることを意味します。
細粒度ツールストリーミングでは、ツール使用チャンクのストリーミング開始が速くなり、多くの場合より長く、単語の区切りが少なくなります。これはチャンキング動作の違いによるものです。
例:
細粒度ストリーミングなし(15秒の遅延):
細粒度ストリーミングあり(3秒の遅延):
細粒度ストリーミングはバッファリングやJSON検証なしでパラメータを送信するため、結果のストリームが有効なJSON文字列で完了する保証はありません。
特に、停止理由 max_tokens
に達した場合、ストリームはパラメータの途中で終了し、不完全になる可能性があります。一般的に、max_tokens
に達した場合を処理するための特別なサポートを記述する必要があります。