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

    Manajemen Sesi

    Memahami bagaimana Claude Agent SDK menangani sesi dan pemulihan sesi
    • Cara Kerja Sesi
    • Mendapatkan ID Sesi
    • Melanjutkan Sesi
    • Memisahkan Sesi
    • Kapan Memisahkan Sesi
    • Memisahkan vs Melanjutkan
    • Contoh: Memisahkan Sesi

    Manajemen Sesi

    Claude Agent SDK menyediakan kemampuan manajemen sesi untuk menangani status percakapan dan pemulihan. Sesi memungkinkan Anda untuk melanjutkan percakapan di berbagai interaksi sambil mempertahankan konteks penuh.

    Cara Kerja Sesi

    Ketika Anda memulai kueri baru, SDK secara otomatis membuat sesi dan mengembalikan ID sesi dalam pesan sistem awal. Anda dapat menangkap ID ini untuk melanjutkan sesi nanti.

    Mendapatkan ID Sesi

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Help me build a web application",
      options: {
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of response) {
      // The first message is a system init message with the session ID
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Session started with ID: ${sessionId}`)
        // You can save this ID for later resumption
      }
    
      // Process other messages...
      console.log(message)
    }
    
    // Later, you can use the saved sessionId to resume
    if (sessionId) {
      const resumedResponse = query({
        prompt: "Continue where we left off",
        options: {
          resume: sessionId
        }
      })
    }

    Melanjutkan Sesi

    SDK mendukung pemulihan sesi dari status percakapan sebelumnya, memungkinkan alur kerja pengembangan berkelanjutan. Gunakan opsi resume dengan ID sesi untuk melanjutkan percakapan sebelumnya.

    SDK secara otomatis menangani pemuatan riwayat percakapan dan konteks ketika Anda melanjutkan sesi, memungkinkan Claude untuk melanjutkan tepat di mana ia berhenti.

    Untuk melacak dan mengembalikan perubahan file di seluruh sesi, lihat File Checkpointing.

    Memisahkan Sesi

    Ketika melanjutkan sesi, Anda dapat memilih untuk melanjutkan sesi asli atau memisahkannya menjadi cabang baru. Secara default, melanjutkan akan terus dengan sesi asli. Gunakan opsi forkSession (TypeScript) atau fork_session (Python) untuk membuat ID sesi baru yang dimulai dari status yang dilanjutkan.

    Kapan Memisahkan Sesi

    Pemisahan berguna ketika Anda ingin:

    • Menjelajahi pendekatan berbeda dari titik awal yang sama
    • Membuat beberapa cabang percakapan tanpa mengubah yang asli
    • Menguji perubahan tanpa mempengaruhi riwayat sesi asli
    • Mempertahankan jalur percakapan terpisah untuk eksperimen berbeda

    Memisahkan vs Melanjutkan

    PerilakuforkSession: false (default)forkSession: true
    ID SesiSama dengan asliID sesi baru dihasilkan
    RiwayatMenambahkan ke sesi asliMembuat cabang baru dari titik lanjutan
    Sesi AsliDimodifikasiDipertahankan tidak berubah
    Kasus PenggunaanLanjutkan percakapan linearCabang untuk menjelajahi alternatif

    Contoh: Memisahkan Sesi

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Resume a previous session using its ID
    const response = query({
      prompt: "Continue implementing the authentication system from where we left off",
      options: {
        resume: "session-xyz", // Session ID from previous conversation
        model: "claude-sonnet-4-5",
        allowedTools: ["Read", "Edit", "Write", "Glob", "Grep", "Bash"]
      }
    })
    
    // The conversation continues with full context from the previous session
    for await (const message of response) {
      console.log(message)
    }
    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // First, capture the session ID
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Help me design a REST API",
      options: { model: "claude-sonnet-4-5" }
    })
    
    for await (const message of response) {
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Original session: ${sessionId}`)
      }
    }
    
    // Fork the session to try a different approach
    const forkedResponse = query({
      prompt: "Now let's redesign this as a GraphQL API instead",
      options: {
        resume: sessionId,
        forkSession: true,  // Creates a new session ID
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of forkedResponse) {
      if (message.type === 'system' && message.subtype === 'init') {
        console.log(`Forked session: ${message.session_id}`)
        // This will be a different session ID
      }
    }
    
    // The original session remains unchanged and can still be resumed
    const originalContinued = query({
      prompt: "Add authentication to the REST API",
      options: {
        resume: sessionId,
        forkSession: false,  // Continue original session (default)
        model: "claude-sonnet-4-5"
      }
    })