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.6Panduan migrasiPenghentian modelHarga
    Bangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIMenangani alasan berhentiPraktik terbaik prompting
    Kemampuan model
    Extended thinkingAdaptive thinkingEffortMode cepat (pratinjau penelitian)Output terstrukturKutipanStreaming MessagesPemrosesan batchDukungan PDFHasil pencarianDukungan multibahasaEmbeddingsVisi
    Alat
    IkhtisarCara mengimplementasikan penggunaan alatAlat pencarian webAlat pengambilan webAlat eksekusi kodeAlat memoriAlat BashAlat penggunaan komputerAlat editor teks
    Infrastruktur alat
    Pencarian alatPemanggilan alat terprogramStreaming alat berbutir halus
    Manajemen konteks
    Jendela konteksPemadatanPengeditan konteksPrompt cachingPenghitungan token
    File & aset
    Files API
    Agent Skills
    IkhtisarMulai cepatPraktik terbaikSkills untuk enterpriseMenggunakan Skills dengan API
    Agent SDK
    IkhtisarMulai cepatTypeScript SDKTypeScript V2 (pratinjau)Python SDKPanduan Migrasi
    Streaming InputStreaming respons secara real-timeMenangani alasan berhentiMenangani IzinPersetujuan pengguna dan inputKontrol eksekusi dengan hooksManajemen SesiCheckpointing fileOutput terstruktur di SDKHosting Agent SDKPenyebaran agen AI yang amanMemodifikasi system promptsMCP di SDKAlat KustomSubagents di SDKSlash Commands di SDKAgent Skills di SDKMelacak Biaya dan PenggunaanDaftar TugasPlugin di SDK
    MCP di API
    Konektor MCPServer MCP jarak jauh
    Claude di platform pihak ketiga
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt engineering
    IkhtisarPembuat promptGunakan template promptPenyempurna promptJadilah jelas dan langsungGunakan contoh (multishot prompting)Biarkan Claude berpikir (CoT)Gunakan tag XMLBerikan Claude peran (system prompts)Rantai prompt kompleksTips konteks panjangTips extended thinking
    Uji & evaluasi
    Tentukan kriteria kesuksesanKembangkan kasus ujiMenggunakan Alat EvaluasiMengurangi latensi
    Perkuat guardrails
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreaksStreaming penolakanKurangi kebocoran promptJaga Claude tetap dalam karakter
    Administrasi dan pemantauan
    Ikhtisar Admin APIResidensi dataRuang kerjaUsage and Cost APIClaude Code Analytics APIZero Data Retention
    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 cara Claude Agent SDK menangani sesi dan resumsi sesi

    Manajemen Sesi

    Claude Agent SDK menyediakan kemampuan manajemen sesi untuk menangani status percakapan dan resumsi. Sesi memungkinkan Anda 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-opus-4-6"
      }
    })
    
    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 melanjutkan sesi dari status percakapan sebelumnya, memungkinkan alur kerja pengembangan berkelanjutan. Gunakan opsi resume dengan ID sesi untuk melanjutkan percakapan sebelumnya.

    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-opus-4-6",
        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)
    }

    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 memisahnya menjadi cabang baru. Secara default, melanjutkan akan terus sesi asli. Gunakan opsi forkSession (TypeScript) atau opsi fork_session (Python) untuk membuat ID sesi baru yang dimulai dari status yang dilanjutkan.

    Kapan Harus 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"
    
    // First, capture the session ID
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Help me design a REST API",
      options: { model: "claude-opus-4-6" }
    })
    
    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-opus-4-6"
      }
    })
    
    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-opus-4-6"
      }
    })

    Was this page helpful?

    • Cara Kerja Sesi
    • Mendapatkan ID Sesi
    • Melanjutkan Sesi
    • Memisahkan Sesi
    • Kapan Harus Memisahkan Sesi
    • Memisahkan vs Melanjutkan
    • Contoh: Memisahkan Sesi