Loading...
    • Panduan Pengembang
    • Referensi API
    • MCP
    • Sumber daya
    • Catatan Rilis
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudeMulai cepat
    Model & harga
    Ikhtisar modelMemilih modelApa yang baru di Claude 4.5Migrasi ke Claude 4.5Penghentian modelHarga
    Bangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIJendela konteksPraktik terbaik prompting
    Kemampuan
    Prompt cachingPengeditan konteksExtended thinkingUsahaStreaming MessagesPemrosesan batchKutipanDukungan multibahasaPenghitungan tokenEmbeddingsVisiDukungan PDFFiles APIHasil pencarianOutput terstrukturAdd-on Google Sheets
    Alat
    IkhtisarCara mengimplementasikan penggunaan alatPenggunaan alat yang efisien tokenStreaming 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
    IkhtisarTypeScript SDKPython SDKPanduan Migrasi
    Panduan
    Input StreamingMenangani IzinManajemen SesiOutput terstruktur di SDKHosting Agent SDKMemodifikasi prompt sistemMCP di SDKAlat KustomSubagen di SDKPerintah Garis Miring di SDKKeterampilan Agen 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
    Rekayasa prompt
    IkhtisarGenerator promptGunakan template promptPenyempurna promptJadilah jelas dan langsungGunakan contoh (prompting multishot)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
    Alat

    Alat memori

    Alat memori memungkinkan Claude untuk menyimpan dan mengambil informasi di seluruh percakapan melalui direktori file memori.

    Alat memori memungkinkan Claude untuk menyimpan dan mengambil informasi di seluruh percakapan melalui direktori file memori. Claude dapat membuat, membaca, memperbarui, dan menghapus file yang bertahan di antara sesi, memungkinkannya membangun pengetahuan seiring waktu tanpa menyimpan semuanya di jendela konteks.

    Alat memori beroperasi di sisi klien—Anda mengontrol di mana dan bagaimana data disimpan melalui infrastruktur Anda sendiri.

    Alat memori saat ini dalam beta. Untuk mengaktifkannya, gunakan header beta context-management-2025-06-27 dalam permintaan API Anda.

    Silakan hubungi kami melalui formulir umpan balik kami untuk berbagi umpan balik Anda tentang fitur ini.

    Kasus penggunaan

    • Pertahankan konteks proyek di seluruh eksekusi agen yang berbeda
    • Belajar dari interaksi, keputusan, dan umpan balik masa lalu
    • Bangun basis pengetahuan seiring waktu
    • Aktifkan pembelajaran lintas percakapan di mana Claude meningkat dalam alur kerja berulang

    Cara kerjanya

    Ketika diaktifkan, Claude secara otomatis memeriksa direktori memorinya sebelum memulai tugas. Claude dapat membuat, membaca, memperbarui, dan menghapus file di direktori /memories untuk menyimpan apa yang dipelajarinya saat bekerja, kemudian mereferensikan memori tersebut dalam percakapan masa depan untuk menangani tugas serupa dengan lebih efektif atau melanjutkan dari tempat ia berhenti.

    Karena ini adalah alat sisi klien, Claude membuat panggilan alat untuk melakukan operasi memori, dan aplikasi Anda menjalankan operasi tersebut secara lokal. Ini memberi Anda kontrol penuh atas di mana dan bagaimana memori disimpan. Untuk keamanan, Anda harus membatasi semua operasi memori ke direktori /memories.

    Contoh: Cara kerja panggilan alat memori

    Ketika Anda meminta Claude untuk membantu dengan tugas, Claude secara otomatis memeriksa direktori memorinya terlebih dahulu. Berikut adalah apa yang terlihat seperti interaksi khas:

    1. Permintaan pengguna:

    "Bantu saya merespons tiket layanan pelanggan ini."

    2. Claude memeriksa direktori memori:

    "Saya akan membantu Anda merespons tiket layanan pelanggan. Biarkan saya memeriksa memori saya untuk konteks sebelumnya apa pun."

    Claude memanggil alat memori:

    {
      "type": "tool_use",
      "id": "toolu_01C4D5E6F7G8H9I0J1K2L3M4",
      "name": "memory",
      "input": {
        "command": "view",
        "path": "/memories"
      }
    }

    3. Aplikasi Anda mengembalikan isi direktori:

    {
      "type": "tool_result",
      "tool_use_id": "toolu_01C4D5E6F7G8H9I0J1K2L3M4",
      "content": "Directory: /memories\n- customer_service_guidelines.xml\n- refund_policies.xml"
    }

    4. Claude membaca file yang relevan:

    {
      "type": "tool_use",
      "id": "toolu_01D5E6F7G8H9I0J1K2L3M4N5",
      "name": "memory",
      "input": {
        "command": "view",
        "path": "/memories/customer_service_guidelines.xml"
      }
    }

    5. Aplikasi Anda mengembalikan isi file:

    {
      "type": "tool_result",
      "tool_use_id": "toolu_01D5E6F7G8H9I0J1K2L3M4N5",
      "content": "<guidelines>\n<addressing_customers>\n- Always address customers by their first name\n- Use empathetic language\n..."
    }

    6. Claude menggunakan memori untuk membantu:

    "Berdasarkan panduan layanan pelanggan Anda, saya dapat membantu Anda menyusun respons. Silakan bagikan detail tiket..."

    Model yang didukung

    Alat memori tersedia di:

    • Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
    • Claude Sonnet 4 (claude-sonnet-4-20250514)
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)
    • Claude Opus 4.5 (claude-opus-4-5-20251101)
    • Claude Opus 4.1 (claude-opus-4-1-20250805)
    • Claude Opus 4 (claude-opus-4-20250514)

    Memulai

    Untuk menggunakan alat memori:

    1. Sertakan header beta context-management-2025-06-27 dalam permintaan API Anda
    2. Tambahkan alat memori ke permintaan Anda
    3. Implementasikan penangan sisi klien untuk operasi memori

    Untuk menangani operasi alat memori di aplikasi Anda, Anda perlu mengimplementasikan penangan untuk setiap perintah memori. SDK kami menyediakan pembantu alat memori yang menangani antarmuka alat—Anda dapat membuat subkelas BetaAbstractMemoryTool (Python) atau menggunakan betaMemoryTool (TypeScript) untuk mengimplementasikan backend memori Anda sendiri (berbasis file, database, penyimpanan cloud, file terenkripsi, dll.).

    Untuk contoh yang berfungsi, lihat:

    • Python: examples/memory/basic.py
    • TypeScript: examples/tools-helpers-memory.ts

    Penggunaan dasar

    Perintah alat

    Implementasi sisi klien Anda perlu menangani perintah alat memori ini:

    view

    Menampilkan isi direktori atau isi file dengan rentang baris opsional:

    {
      "command": "view",
      "path": "/memories",
      "view_range": [1, 10]  // Opsional: lihat baris tertentu
    }

    create

    Buat atau timpa file:

    {
      "command": "create",
      "path": "/memories/notes.txt",
      "file_text": "Meeting notes:\n- Discussed project timeline\n- Next steps defined\n"
    }

    str_replace

    Ganti teks dalam file:

    {
      "command": "str_replace",
      "path": "/memories/preferences.txt",
      "old_str": "Favorite color: blue",
      "new_str": "Favorite color: green"
    }

    insert

    Sisipkan teks pada baris tertentu:

    {
      "command": "insert",
      "path": "/memories/todo.txt",
      "insert_line": 2,
      "insert_text": "- Review memory tool documentation\n"
    }

    delete

    Hapus file atau direktori:

    {
      "command": "delete",
      "path": "/memories/old_file.txt"
    }

    rename

    Ubah nama atau pindahkan file/direktori:

    {
      "command": "rename",
      "old_path": "/memories/draft.txt",
      "new_path": "/memories/final.txt"
    }

    Panduan prompting

    Kami secara otomatis menyertakan instruksi ini ke prompt sistem ketika alat memori disertakan:

    IMPORTANT: ALWAYS VIEW YOUR MEMORY DIRECTORY BEFORE DOING ANYTHING ELSE.
    MEMORY PROTOCOL:
    1. Use the `view` command of your `memory` tool to check for earlier progress.
    2. ... (work on the task) ...
         - As you make progress, record status / progress / thoughts etc in your memory.
    ASSUME INTERRUPTION: Your context window might be reset at any moment, so you risk losing any progress that is not recorded in your memory directory.

    Jika Anda mengamati Claude membuat file memori yang berantakan, Anda dapat menyertakan instruksi ini:

    Catatan: saat mengedit folder memori Anda, selalu coba simpan kontennya tetap terbaru, koheren, dan terorganisir. Anda dapat mengubah nama atau menghapus file yang tidak lagi relevan. Jangan buat file baru kecuali diperlukan.

    Anda juga dapat memandu apa yang Claude tulis ke memori, misalnya, "Hanya tulis informasi yang relevan dengan <topic> dalam sistem memori Anda."

    Pertimbangan keamanan

    Berikut adalah kekhawatiran keamanan penting saat mengimplementasikan penyimpanan memori Anda:

    Informasi sensitif

    Claude biasanya akan menolak untuk menuliskan informasi sensitif dalam file memori. Namun, Anda mungkin ingin mengimplementasikan validasi yang lebih ketat yang menghilangkan informasi yang berpotensi sensitif.

    Ukuran penyimpanan file

    Pertimbangkan pelacakan ukuran file memori dan mencegah file tumbuh terlalu besar. Pertimbangkan menambahkan jumlah karakter maksimum yang dapat dikembalikan perintah baca memori, dan biarkan Claude membuka halaman konten.

    Kedaluwarsa memori

    Pertimbangkan untuk menghapus file memori secara berkala yang belum diakses dalam waktu yang lama.

    Perlindungan traversal jalur

    Input jalur berbahaya dapat mencoba mengakses file di luar direktori /memories. Implementasi Anda HARUS memvalidasi semua jalur untuk mencegah serangan traversal direktori.

    Pertimbangkan perlindungan ini:

    • Validasi bahwa semua jalur dimulai dengan /memories
    • Selesaikan jalur ke bentuk kanonik mereka dan verifikasi mereka tetap berada dalam direktori memori
    • Tolak jalur yang berisi urutan seperti ../, ..\\, atau pola traversal lainnya
    • Perhatikan urutan traversal yang dikodekan URL (%2e%2e%2f)
    • Gunakan utilitas keamanan jalur bawaan bahasa Anda (misalnya, pathlib.Path.resolve() dan relative_to() Python)

    Penanganan kesalahan

    Alat memori menggunakan pola penanganan kesalahan yang sama dengan alat editor teks. Kesalahan umum termasuk file tidak ditemukan, kesalahan izin, dan jalur tidak valid.

    Menggunakan dengan Context Editing

    Alat memori dapat digabungkan dengan context editing, yang secara otomatis menghapus hasil alat lama ketika konteks percakapan tumbuh melampaui ambang yang dikonfigurasi. Kombinasi ini memungkinkan alur kerja agen jangka panjang yang sebaliknya akan melampaui batas konteks.

    Cara mereka bekerja bersama

    Ketika context editing diaktifkan dan percakapan Anda mendekati ambang pembersihan, Claude secara otomatis menerima notifikasi peringatan. Ini mendorong Claude untuk menyimpan informasi penting dari hasil alat ke file memori sebelum hasil tersebut dihapus dari jendela konteks.

    Setelah hasil alat dihapus, Claude dapat mengambil informasi yang disimpan dari file memori kapan pun diperlukan, secara efektif memperlakukan memori sebagai perpanjangan dari konteks kerjanya. Ini memungkinkan Claude untuk:

    • Melanjutkan alur kerja multi-langkah yang kompleks tanpa kehilangan informasi kritis
    • Mereferensikan pekerjaan dan keputusan masa lalu bahkan setelah hasil alat dihapus
    • Mempertahankan konteks yang koheren di seluruh percakapan yang akan melampaui batas konteks khas
    • Membangun basis pengetahuan seiring waktu sambil menjaga jendela konteks aktif tetap dapat dikelola

    Contoh alur kerja

    Pertimbangkan proyek refaktorisasi kode dengan banyak operasi file:

    1. Claude membuat banyak edit ke file, menghasilkan banyak hasil alat
    2. Ketika konteks tumbuh dan mendekati ambang Anda, Claude menerima peringatan
    3. Claude merangkum perubahan yang dibuat sejauh ini ke file memori (misalnya, /memories/refactoring_progress.xml)
    4. Context editing menghapus hasil alat yang lebih lama secara otomatis
    5. Claude terus bekerja, mereferensikan file memori ketika perlu mengingat perubahan apa yang sudah selesai
    6. Alur kerja dapat berlanjut tanpa batas, dengan Claude mengelola konteks aktif dan memori persisten

    Konfigurasi

    Untuk menggunakan kedua fitur bersama:

    Anda juga dapat mengecualikan panggilan alat memori dari pembersihan untuk memastikan Claude selalu memiliki akses ke operasi memori terbaru:

    context_management={
        "edits": [
            {
                "type": "clear_tool_uses_20250919",
                "exclude_tools": ["memory"]
            }
        ]
    }
    • Kasus penggunaan
    • Cara kerjanya
    • Contoh: Cara kerja panggilan alat memori
    • Model yang didukung
    • Memulai
    • Penggunaan dasar
    • Perintah alat
    • view
    • create
    • str_replace
    • insert
    • delete
    • rename
    • Panduan prompting
    • Pertimbangan keamanan
    • Informasi sensitif
    • Ukuran penyimpanan file
    • Kedaluwarsa memori
    • Perlindungan traversal jalur
    • Penanganan kesalahan
    • Menggunakan dengan Context Editing
    • Cara mereka bekerja bersama
    • Contoh alur kerja
    • Konfigurasi
    curl https://api.anthropic.com/v1/messages \
        --header "x-api-key: $ANTHROPIC_API_KEY" \
        --header "anthropic-version: 2023-06-01" \
        --header "content-type: application/json" \
        --header "anthropic-beta: context-management-2025-06-27" \
        --data '{
            "model": "claude-sonnet-4-5",
            "max_tokens": 2048,
            "messages": [
                {
                    "role": "user",
                    "content": "I'\''m working on a Python web scraper that keeps crashing with a timeout error. Here'\''s the problematic function:\n\n```python\ndef fetch_page(url, retries=3):\n    for i in range(retries):\n        try:\n            response = requests.get(url, timeout=5)\n            return response.text\n        except requests.exceptions.Timeout:\n            if i == retries - 1:\n                raise\n            time.sleep(1)\n```\n\nPlease help me debug this."
                }
            ],
            "tools": [{
                "type": "memory_20250818",
                "name": "memory"
            }]
        }'
    response = client.beta.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=4096,
        messages=[...],
        tools=[
            {
                "type": "memory_20250818",
                "name": "memory"
            },
            # Your other tools
        ],
        betas=["context-management-2025-06-27"],
        context_management={
            "edits": [
                {
                    "type": "clear_tool_uses_20250919",
                    "trigger": {
                        "type": "input_tokens",
                        "value": 100000
                    },
                    "keep": {
                        "type": "tool_uses",
                        "value": 3
                    }
                }
            ]
        }
    )