Loading...
    • Panduan Pengembang
    • Referensi API
    • MCP
    • Sumber daya
    • Catatan Rilis
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudeMulai cepat
    Model & harga
    Ikhtisar modelMemilih modelYang baru di Claude 4.5Migrasi ke Claude 4.5Penghentian modelHarga
    Bangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIJendela konteksPraktik terbaik prompting
    Kemampuan
    Prompt cachingPengeditan konteksExtended thinkingUpayaStreaming MessagesPemrosesan batchKutipanDukungan multibahasaPenghitungan tokenEmbeddingsVisiDukungan PDFFiles APIHasil pencarianOutput terstruktur
    Alat
    IkhtisarCara mengimplementasikan penggunaan alatStreaming alat berbutir halusAlat BashAlat eksekusi kodePemanggilan alat terprogramAlat penggunaan komputerAlat editor teksAlat pengambilan webAlat pencarian webAlat memoriAlat pencarian alat
    Keterampilan Agen
    IkhtisarMulai cepatPraktik terbaikMenggunakan Keterampilan dengan API
    Agent SDK
    IkhtisarMulai cepatTypeScript SDKTypeScript V2 (pratinjau)Python SDKPanduan Migrasi
    Input StreamingMenangani IzinKontrol eksekusi dengan hookManajemen SesiCheckpoint fileOutput terstruktur di SDKHosting Agent SDKPenyebaran agen AI yang amanMemodifikasi prompt sistemMCP di SDKAlat KustomSubagen di SDKSlash Commands di SDKKeterampilan Agen di SDKPelacakan Biaya dan PenggunaanDaftar TugasPlugin di SDK
    MCP di API
    Konektor MCPServer MCP jarak jauh
    Claude di platform pihak ketiga
    Amazon BedrockMicrosoft FoundryVertex AI
    Rekayasa prompt
    IkhtisarGenerator promptGunakan template promptPenyempurna promptJadilah jelas dan langsungGunakan contoh (multishot prompting)Biarkan Claude berpikir (CoT)Gunakan tag XMLBerikan Claude peran (prompt sistem)Isi sebelumnya respons ClaudeRantai prompt kompleksTips konteks panjangTips extended thinking
    Uji & evaluasi
    Tentukan kriteria kesuksesanKembangkan kasus ujiMenggunakan Alat EvaluasiMengurangi latensi
    Perkuat penjaga
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreakStreaming penolakanKurangi kebocoran promptJaga Claude tetap dalam karakter
    Administrasi dan pemantauan
    Ikhtisar Admin APIAPI Penggunaan dan BiayaClaude Code Analytics API
    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
    Panduan

    Output terstruktur dalam SDK

    Dapatkan hasil JSON yang divalidasi dari alur kerja agen

    Dapatkan JSON terstruktur dan tervalidasi dari alur kerja agen. Agent SDK mendukung output terstruktur melalui JSON Schemas, memastikan agen Anda mengembalikan data dalam format yang tepat sesuai kebutuhan Anda.

    Kapan menggunakan output terstruktur

    Gunakan output terstruktur ketika Anda memerlukan JSON yang divalidasi setelah agen menyelesaikan alur kerja multi-turn dengan tools (pencarian file, eksekusi perintah, penelusuran web, dll.).

    Untuk panggilan API tunggal tanpa penggunaan tool, lihat API Structured Outputs.

    Mengapa menggunakan output terstruktur

    Output terstruktur menyediakan integrasi yang andal dan type-safe dengan aplikasi Anda:

    • Struktur yang divalidasi: Selalu terima JSON yang valid sesuai dengan skema Anda
    • Integrasi yang disederhanakan: Tidak perlu kode parsing atau validasi
    • Keamanan tipe: Gunakan dengan petunjuk tipe TypeScript atau Python untuk keamanan end-to-end
    • Pemisahan yang bersih: Tentukan persyaratan output secara terpisah dari instruksi tugas
    • Otonomi tool: Agen memilih tool mana yang akan digunakan sambil menjamin format output

    Cara kerja output terstruktur

    1. 1

      Tentukan skema JSON Anda

      Buat JSON Schema yang mendeskripsikan struktur yang ingin dikembalikan oleh agen. Skema menggunakan format JSON Schema standar.

    2. 2

      Tambahkan parameter outputFormat

      Sertakan parameter outputFormat dalam opsi query Anda dengan type: "json_schema" dan definisi skema Anda.

    3. 3

      Jalankan query Anda

      Agen menggunakan tool apa pun yang diperlukan untuk menyelesaikan tugas (operasi file, perintah, pencarian web, dll.).

    4. 4

      Akses output yang divalidasi

      Hasil akhir agen akan berupa JSON yang valid sesuai dengan skema Anda, tersedia di message.structured_output.

    Fitur JSON Schema yang didukung

    Agent SDK mendukung fitur dan batasan JSON Schema yang sama seperti API Structured Outputs.

    Fitur utama yang didukung:

    • Semua tipe dasar: object, array, string, integer, number, boolean, null
    • enum, const, required, additionalProperties (harus false)
    • Format string: date-time, date, email, uri, uuid, dll.
    • $ref, $def, dan definitions

    Untuk detail lengkap tentang fitur yang didukung, batasan, dan dukungan pola regex, lihat JSON Schema limitations dalam dokumentasi API.

    Contoh: Agen pelacakan TODO

    Berikut adalah contoh lengkap yang menunjukkan agen yang mencari TODO dalam kode dan mengekstrak informasi git blame:

    import { query } from '@anthropic-ai/claude-agent-sdk'
    
    // Define structure for TODO extraction
    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']
    }
    
    // Agent uses Grep to find TODOs, Bash to get git blame info
    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}`)
          }
        })
      }
    }

    Agen secara otonomi menggunakan tool yang tepat (Grep, Bash) untuk mengumpulkan informasi dan mengembalikan data yang divalidasi.

    Penanganan kesalahan

    Jika agen tidak dapat menghasilkan output yang valid sesuai dengan skema Anda, Anda akan menerima hasil kesalahan:

    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')
        }
      }
    }

    Sumber daya terkait

    • JSON Schema documentation
    • API Structured Outputs - Untuk panggilan API tunggal
    • Custom tools - Tentukan tool untuk agen Anda
    • TypeScript SDK reference - Referensi API TypeScript lengkap
    • Python SDK reference - Referensi API Python lengkap
    • Mengapa menggunakan output terstruktur
    • Mulai cepat
    • Mendefinisikan skema dengan Zod
    • Mulai cepat
    • Mendefinisikan skema dengan Pydantic
    • Cara kerja output terstruktur
    • Fitur JSON Schema yang didukung
    • Contoh: Agen pelacakan TODO
    • Penanganan kesalahan
    • Sumber daya terkait