CCAR-F 練習問題 24
シナリオ:構造化データの抽出
非構造の文書から情報を抽出し、JSON スキーマで検証して下流のシステムへ渡す仕組みを Claude で構築しています。高い正確度を保ちつつ、例外的なケースを適切に扱う必要があります。
抽出の精度を上げるため extended thinking を有効にしたところ、tool_choice に {"type": "tool", "name": "extract_invoice"} を指定していたリクエストが、すべて 400 のエラーになりました。抽出の結果を決まったスキーマの形で確実に受け取ることは、引き続き必要です。対応として最も適切なのはどれですか。
選択肢を押して回答
正解と解説
正解:D
extended thinking を有効にすると、tool_choice は auto か none しか使えません。ツールの強制に頼らず、指示とスキーマ(strict tool use・Structured outputs)で必要な出力を得ます。ガイドv1.0は強制のツール選択を扱いますが、現行のモデルでは使えない場合があります。
エラーの原因は出力の上限ではなく、tool_choice と思考の組み合わせです。
any も思考とは組み合わせられず、同じエラーになります。
thinking ブロックの扱いとは関係のないエラーで、ツールの使用中に外すと別の問題も起こします。
extended thinking と組み合わせられる tool_choice は auto と none だけで、any や特定のツールの強制はエラーになります。思考を使うなら強制に頼らず、ツールの使い方を指示で示し、出力の形はスキーマの側で保証します。なお現行の Claude Opus 5.5・Sonnet 5.5 などは、思考の設定に関係なく any と tool の指定を400エラーで拒否します。
出題範囲:CCAR-F 分野2「ツール設計とMCP連携」・項目2.3 エージェントへのツール配分と tool_choice
参考資料(公式ドキュメント)
公開資料をもとにした独自解説です。本番の問題・難易度・合否を再現するものではありません。
