Loading...
    0
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    最初のステップ
    Claudeの紹介クイックスタート
    モデルと料金
    モデル概要モデルの選択Claude 4.5の新機能Claude 4.5への移行モデルの廃止予定料金
    Claudeで構築
    機能概要Messages API の使用コンテキストウィンドウプロンプトのベストプラクティス
    機能
    プロンプトキャッシングコンテキスト編集拡張思考ストリーミングメッセージバッチ処理引用多言語サポートトークンカウント埋め込みビジョンPDFサポートFiles API検索結果構造化された出力Google Sheetsアドオン
    ツール
    概要ツール使用の実装方法トークン効率的なツール使用細粒度ツールストリーミングBashツールコード実行ツールコンピュータ使用ツールテキストエディタツールWeb fetch toolウェブ検索ツールメモリツール
    エージェントスキル
    概要クイックスタートスキル作成のベストプラクティスAPIでエージェントスキルを使用する
    Agent SDK
    概要Agent SDK リファレンス - TypeScriptPython SDK
    ガイド
    ストリーミング入力権限の処理セッション管理SDK での構造化出力Agent SDKのホスティングシステムプロンプトの変更SDK内のMCPカスタムツールSDKにおけるサブエージェントSDKでのスラッシュコマンドSDK内のエージェントスキルコストと使用量の追跡Todo リストSDK のプラグイン
    API内のMCP
    MCPコネクタリモートMCPサーバー
    Claude on 3rd-party platforms
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確で直接的な指示例(マルチショットプロンプト)を使用してClaudeの動作を導くClaudeに考えさせる(CoT)XMLタグを使用Claudeに役割を与える(システムプロンプト)Claudeの応答を事前入力複雑なプロンプトのチェーン化長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準を定義するテストケースを開発する評価ツールの使用レイテンシの削減
    ガードレールを強化
    幻覚を減らす出力の一貫性を高めるジェイルブレイクの軽減handle-streaming-refusalsプロンプトリークの削減Claudeのキャラクターを維持
    管理とモニタリング
    Admin API概要使用量とコストAPIClaude Code Analytics API
    Console
    ガイド

    SDK での構造化出力

    エージェント ワークフローから検証済みの JSON 結果を取得する

    エージェント ワークフローから構造化された検証済みの JSON を取得します。Agent SDK は JSON スキーマを通じて構造化出力をサポートしており、エージェントが必要な形式で正確にデータを返すことを保証します。

    構造化出力を使用する場合

    エージェントがツール(ファイル検索、コマンド実行、ウェブ検索など)を使用した複数ターンのワークフローを完了した後に検証済みの JSON が必要な場合は、構造化出力を使用します。

    ツール使用なしの単一の API 呼び出しについては、API 構造化出力を参照してください。

    構造化出力を使用する理由

    構造化出力は、アプリケーションとの信頼性の高い、型安全な統合を提供します。

    • 検証済みの構造: スキーマに一致する有効な JSON を常に受け取ります
    • 統合の簡素化: 解析または検証コードは不要です
    • 型安全性: TypeScript または Python 型ヒントでエンドツーエンドの安全性を使用します
    • クリーンな分離: タスク指示とは別に出力要件を定義します
    • ツール自律性: エージェントは使用するツールを選択しながら、出力形式を保証します

    構造化出力の仕組み

    1. 1

      JSON スキーマを定義する

      エージェントが返すべき構造を説明する JSON スキーマを作成します。スキーマは標準的な JSON スキーマ形式を使用します。

    2. 2

      outputFormat パラメータを追加する

      クエリオプションに outputFormat パラメータを含め、type: "json_schema" とスキーマ定義を指定します。

    3. 3

      クエリを実行する

      エージェントはタスクを完了するために必要なツール(ファイル操作、コマンド、ウェブ検索など)を使用します。

    4. 4

      検証済み出力にアクセスする

      エージェントの最終結果は、スキーマに一致する有効な JSON となり、message.structured_output で利用可能になります。

    サポートされている JSON スキーマ機能

    Agent SDK は、API 構造化出力と同じ JSON スキーマ機能と制限をサポートしています。

    主にサポートされている機能:

    • すべての基本型: object、array、string、integer、number、boolean、null
    • enum、const、required、additionalProperties(false である必要があります)
    • 文字列形式: date-time、date、email、uri、uuid など
    • $ref、$def、および definitions

    サポートされている機能、制限、および正規表現パターンサポートの完全な詳細については、API ドキュメントの JSON スキーマの制限を参照してください。

    例: TODO 追跡エージェント

    コードから TODO を検索し、git blame 情報を抽出するエージェントを示す完全な例を以下に示します。

    import { query } from '@anthropic-ai/claude-agent-sdk'
    
    // TODO 抽出用の構造を定義
    const todoSchema = {
      type: 'object',
      properties: {
        todos: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              text: { type: 'string' },
              file: { type: 'string' },
              line: { type: 'number' },
              author: { type: 'string' },
              date: { type: 'string' }
            },
            required: ['text', 'file', 'line']
          }
        },
        total_count: { type: 'number' }
      },
      required: ['todos', 'total_count']
    }
    
    // エージェントは Grep を使用して TODO を検索し、Bash を使用して git blame 情報を取得
    for await (const message of query({
      prompt: 'Find all TODO comments in src/ and identify who added them',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: todoSchema
        }
      }
    })) {
      if (message.type === 'result' && message.structured_output) {
        const data = message.structured_output
        console.log(`Found ${data.total_count} TODOs`)
        data.todos.forEach(todo => {
          console.log(`${todo.file}:${todo.line} - ${todo.text}`)
          if (todo.author) {
            console.log(`  Added by ${todo.author} on ${todo.date}`)
          }
        })
      }
    }

    エージェントは自律的に適切なツール(Grep、Bash)を使用して情報を収集し、検証済みデータを返します。

    エラーハンドリング

    エージェントがスキーマに一致する有効な出力を生成できない場合、エラー結果が表示されます。

    for await (const msg of query({
      prompt: 'Analyze the data',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: mySchema
        }
      }
    })) {
      if (msg.type === 'result') {
        if (msg.subtype === 'success' && msg.structured_output) {
          console.log(msg.structured_output)
        } else if (msg.subtype === 'error_max_structured_output_retries') {
          console.error('Could not produce valid output')
        }
      }
    }

    関連リソース

    • JSON スキーマドキュメント
    • API 構造化出力 - 単一の API 呼び出し用
    • カスタムツール - エージェント用のツールを定義
    • TypeScript SDK リファレンス - 完全な TypeScript API
    • Python SDK リファレンス - 完全な Python API
    • Zod を使用したスキーマの定義
    • Pydantic を使用したスキーマの定義
    • サポートされている JSON スキーマ機能
    • 例: TODO 追跡エージェント

    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