Loading...
    • Bangun
    • Admin
    • Model & harga
    • Client SDK
    • Referensi API
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudeMulai Cepat
    Membangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIMenangani alasan berhenti
    Kemampuan model
    Pemikiran mendalamPemikiran adaptifUpayaMode cepat (beta: pratinjau riset)Output terstrukturKutipanStreaming PesanPemrosesan batchHasil pencarianPenolakan streamingDukungan multibahasaEmbeddings
    Alat
    IkhtisarCara kerja penggunaan alatAlat pencarian webAlat pengambilan webAlat eksekusi kodeAlat memoriAlat BashAlat penggunaan komputerAlat editor teks
    Infrastruktur alat
    Pencarian alatPemanggilan alat terprogramStreaming alat terperinci
    Manajemen konteks
    Jendela konteksPemadatanPengeditan konteksCaching promptPenghitungan token
    Bekerja dengan file
    Files APIDukungan PDFGambar dan visi
    Skills
    IkhtisarMulai CepatPraktik terbaikSkills untuk enterpriseSkills di API
    MCP
    Server MCP jarak jauhKonektor MCP
    Rekayasa prompt
    IkhtisarPraktik terbaik promptingAlat prompting Console
    Uji dan evaluasi
    Tentukan keberhasilan dan bangun evaluasiMenggunakan Alat Evaluasi di ConsoleMengurangi latensi
    Perkuat penjaga
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreakKurangi kebocoran prompt
    Sumber daya
    Glosarium
    Catatan rilis
    Claude Platform
    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
    Delegasikan pekerjaan ke agen Anda

    Menggunakan memori

    Berikan agen Anda memori persisten yang bertahan di seluruh sesi menggunakan penyimpan memori.

    Was this page helpful?

    • Gambaran Umum
    • Buat penyimpan memori
    • Isi dengan konten (opsional)
    • Lampirkan memori ke sesi
    • Alat memori
    • Inspeksi dan perbaiki memori
    • Daftar memori
    • Baca memori
    • Tulis dokumen
    • Buat hanya jika jalur bebas
    • Update
    • Hapus dokumen
    • Versi memori
    • Daftar versi
    • Ambil sebuah versi
    • Redaksi sebuah versi

    Agent Memory adalah fitur Research Preview. Minta akses untuk mencobanya.

    Sesi API Managed Agents bersifat sementara secara default. Ketika sesi berakhir, apa pun yang dipelajari agen hilang. Penyimpan memori memungkinkan agen membawa pembelajaran di seluruh sesi: preferensi pengguna, konvensi proyek, kesalahan sebelumnya, dan konteks domain.

    Semua permintaan Managed Agents API memerlukan header beta managed-agents-2026-04-01. Header beta tambahan diperlukan untuk fitur research preview. SDK menetapkan header beta ini secara otomatis.

    Gambaran Umum

    Penyimpan memori adalah koleksi dokumen teks yang dibatasi ruang kerja dan dioptimalkan untuk Claude. Ketika satu atau lebih penyimpan memori dilampirkan ke sesi, agen secara otomatis memeriksa penyimpan sebelum memulai tugas dan menulis pembelajaran yang tahan lama setelah selesai - tidak perlu prompting atau konfigurasi tambahan dari pihak Anda.

    Setiap memori dalam penyimpan dapat diakses dan diedit langsung melalui API atau Console, memungkinkan penyetelan, impor, dan ekspor memori.

    Setiap perubahan pada memori membuat memory_version yang tidak dapat diubah untuk mendukung audit dan rollback perubahan memori.

    Buat penyimpan memori

    Berikan penyimpan nama name dan description. Deskripsi dilewatkan ke agen, memberi tahu apa yang berisi penyimpan.

    store=$(curl -fsS https://api.anthropic.com/v1/memory_stores \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "name": "User Preferences",
      "description": "Per-user preferences and project context."
    }
    EOF
    )
    store_id=$(jq -r '.id' <<< "$store")
    echo "$store_id"  # memstore_01Hx...

    id penyimpan memori (memstore_...) adalah apa yang Anda lewatkan saat melampirkan penyimpan ke sesi.

    Isi dengan konten (opsional)

    Pra-muat penyimpan dengan materi referensi sebelum agen apa pun berjalan:

    Memori individual dalam penyimpan dibatasi pada 100KB (~25K token). Struktur memori sebagai banyak file kecil yang terfokus, bukan beberapa file besar.

    Lampirkan memori ke sesi

    Penyimpan memori dilampirkan dalam array resources[] sesi.

    Secara opsional sertakan prompt jika Anda ingin memberikan instruksi khusus sesi kepada Claude tentang cara menggunakan penyimpan memori ini. Ini disediakan kepada Claude selain name dan description penyimpan memori, dan dibatasi pada 4.096 karakter.

    Anda juga dapat mengonfigurasi access. Defaultnya adalah read_write, tetapi read_only juga didukung (ditampilkan secara eksplisit dalam contoh di bawah).

    Maksimal 8 penyimpan memori didukung per sesi. Lampirkan beberapa penyimpan ketika bagian berbeda dari memori memiliki pemilik atau aturan akses yang berbeda. Alasan umum:

    • Materi referensi bersama - satu penyimpan read-only dilampirkan ke banyak sesi (standar, konvensi, pengetahuan domain), dipisahkan dari pembelajaran read-write sesi masing-masing.
    • Pemetaan ke struktur produk Anda - satu penyimpan per pengguna akhir, per-tim, atau per-proyek, sambil berbagi konfigurasi agen tunggal.
    • Siklus hidup berbeda - penyimpan yang bertahan lebih lama dari sesi apa pun, atau yang ingin Anda arsipkan sesuai jadwal Anda sendiri.

    Alat memori

    Ketika penyimpan memori dilampirkan ke sesi, agen secara otomatis mendapatkan akses ke alat memori. Interaksi agen dengan penyimpan memori terdaftar sebagai acara agent.tool_use dalam aliran acara.

    AlatDeskripsi
    memory_listDaftar dokumen dalam penyimpan, secara opsional disaring berdasarkan awalan jalur.
    memory_searchPencarian teks lengkap di seluruh konten dokumen.
    memory_readBaca konten dokumen.
    memory_writeBuat atau timpa dokumen di jalur.
    memory_editUbah dokumen yang ada.
    memory_deleteHapus dokumen.

    Inspeksi dan perbaiki memori

    Penyimpan memori dapat dikelola langsung melalui API. Gunakan ini untuk membangun alur kerja tinjauan, memperbaiki memori buruk, atau menyemai penyimpan sebelum sesi apa pun berjalan.

    Daftar memori

    Daftar tidak mengembalikan konten memori, hanya metadata objek. Gunakan path_prefix untuk daftar yang dibatasi direktori (sertakan garis miring trailing: /notes/ cocok dengan /notes/a.md tetapi bukan /notes_backup/old.md).

    Baca memori

    Mengambil memori individual mengembalikan konten dokumen lengkap.

    Tulis dokumen

    Gunakan memories.write untuk upsert dokumen berdasarkan jalur. Jika tidak ada yang ada di jalur, itu dibuat; jika dokumen sudah ada di sana, kontennya diganti. Untuk mutasi dokumen yang ada berdasarkan ID mem_... (misalnya, untuk mengganti nama jalurnya atau dengan aman menerapkan edit konten), gunakan memories.update sebagai gantinya (lihat Update di bawah).

    Buat hanya jika jalur bebas

    Lewatkan precondition={"type": "not_exists"} ke memories.write untuk menjadikannya penjaga create-only. Jika dokumen sudah ada di jalur, penulisan mengembalikan 409 memory_precondition_failed alih-alih menggantinya. Gunakan ini saat menyemai penyimpan dan Anda ingin menghindari menimpa konten yang ada.

    Untuk dengan aman mengedit dokumen yang ada (baca, ubah, tulis kembali tanpa menimpa perubahan bersamaan), gunakan memories.update dengan kondisi awal content_sha256 sebagai gantinya. Lihat Update di bawah.

    Update

    memories.update() memodifikasi dokumen yang ada berdasarkan ID mem_... nya. Anda dapat mengubah content, path (penggantian nama), atau keduanya dalam satu panggilan.

    Mengganti nama ke jalur yang ditempati mengembalikan 409 conflict. Pemanggil harus menghapus atau mengganti nama pemblokir terlebih dahulu, atau meneruskan precondition={"type": "not_exists"} untuk membuat penggantian nama menjadi no-op jika ada yang sudah ada di target.

    Contoh di bawah mengganti nama dokumen ke jalur arsip:

    Edit konten yang aman (keselarasan optimis)

    Untuk mengedit konten dokumen tanpa menimpa penulisan bersamaan, lewatkan kondisi awal content_sha256. Pembaruan hanya berlaku jika hash yang disimpan masih cocok dengan yang Anda baca; pada ketidakcocokan itu mengembalikan 409 memory_precondition_failed, di mana titik Anda membaca ulang dokumen dan mencoba lagi terhadap status segar.

    Hapus dokumen

    Secara opsional lewatkan expected_content_sha256 untuk penghapusan bersyarat.

    Versi memori

    Setiap mutasi ke memori membuat memory version yang tidak dapat diubah (memver_...). Versi terakumulasi untuk seumur hidup memori induk dan membentuk permukaan audit dan rollback di bawahnya. Panggilan memories.retrieve langsung selalu mengembalikan kepala saat ini; titik akhir versi memberi Anda riwayat lengkap.

    Versi baru ditulis pada setiap mutasi:

    • memories.write pertama ke jalur membuat versi dengan operation: "created".
    • memories.update yang mengubah content, path, atau keduanya membuat versi dengan operation: "modified".
    • memories.delete membuat versi dengan operation: "deleted".

    Gunakan titik akhir versi untuk mengaudit pengguna atau agen mana yang mengubah apa dan kapan, untuk memeriksa atau mengembalikan snapshot sebelumnya, dan untuk menghapus konten sensitif dari riwayat dengan redact.

    Daftar versi

    Daftar metadata versi yang dipaginasi untuk sebuah toko, terbaru terlebih dahulu. Filter berdasarkan memory_id, operation (created, modified, atau deleted), session_id, api_key_id, atau rentang waktu created_at_gte/created_at_lte. Respons daftar tidak menyertakan badan content; ambil versi individual dengan retrieve ketika Anda memerlukan konten lengkap.

    Ambil sebuah versi

    Mengambil versi individual mengembalikan bidang yang sama dengan respons daftar ditambah badan content lengkap.

    Redaksi sebuah versi

    Redaksi menghapus konten dari versi historis sambil mempertahankan jejak audit (siapa yang melakukan apa, kapan). Gunakan untuk alur kerja kepatuhan seperti menghapus rahasia yang bocor, PII, atau permintaan penghapusan pengguna. Redaksi dengan keras menghapus content, content_sha256, content_size_bytes, dan path; semua bidang lainnya, termasuk aktor dan stempel waktu, dipertahankan.

    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "path": "/formatting_standards.md",
      "content": "All reports use GAAP formatting. Dates are ISO-8601..."
    }
    EOF
    session=$(curl -fsS https://api.anthropic.com/v1/sessions \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "agent": "$agent_id",
      "environment_id": "$environment_id",
      "resources": [
        {
          "type": "memory_store",
          "memory_store_id": "$store_id",
          "access": "read_write",
          "prompt": "User preferences and project context. Check before starting any task."
        }
      ]
    }
    EOF
    )
    page=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories?path_prefix=/" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01")
    jq -r '.data[] | "\(.path)  (\(.size_bytes) bytes, sha=\(.content_sha256[0:8]))"' <<< "$page"
    mem=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$memory_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01")
    jq -r '.content' <<< "$mem"
    mem=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "path": "/preferences/formatting.md",
      "content": "Always use tabs, not spaces."
    }
    EOF
    )
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "path": "/preferences/formatting.md",
      "content": "Always use 2-space indentation.",
      "precondition": {"type": "not_exists"}
    }
    EOF
    curl -fsS -X PATCH "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{"path": "/archive/2026_q1_formatting.md"}' > /dev/null
    curl -fsS -X PATCH "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "content": "CORRECTED: Always use 2-space indentation.",
      "precondition": {"type": "content_sha256", "content_sha256": "$mem_sha"}
    }
    EOF
    curl -fsS -X DELETE "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" > /dev/null
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions?memory_id=$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      | jq -r '.data[] | "\(.id): \(.operation)"'
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions/$version_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01"
    curl -fsS -X POST "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions/$version_id/redact" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{}'