Loading...
    • Panduan Pengembang
    • Referensi API
    • MCP
    • Sumber Daya
    • Catatan Rilis
    Search...
    ⌘K

    Langkah pertama

    Pengantar ClaudePanduan Cepat

    Model & harga

    Ikhtisar modelMemilih modelApa yang baru di Claude 4.5Migrasi ke Claude 4.5Penghentian modelHarga

    Bangun dengan Claude

    Ikhtisar fiturBekerja dengan Messages APIJendela konteksPraktik terbaik prompting

    Kemampuan

    Penyimpanan cache promptPengeditan konteksPemikiran yang diperluasStreaming MessagesPemrosesan batchKutipanDukungan multibahasaPenghitungan tokenEmbeddingsVisiDukungan PDFFiles APIHasil pencarianAdd-on Google Sheets

    Alat

    Gambaran UmumCara mengimplementasikan penggunaan alatPenggunaan tool yang efisien tokenStreaming tool berbutir halusAlat BashAlat eksekusi kodeAlat penggunaan komputerAlat editor teksAlat web fetchAlat pencarian webAlat memori

    Keterampilan Agen

    IkhtisarMulai dengan Agent Skills di APIPraktik terbaik pembuatan SkillMenggunakan Agent Skills dengan API

    SDK Agen

    Ikhtisar Agent SDKReferensi Agent SDK - TypeScriptReferensi Agent SDK - Python

    Panduan

    Input StreamingMenangani IzinManajemen SesiHosting the Agent SDKMemodifikasi system promptMCP dalam SDKAlat KustomSubagen dalam SDKPerintah Slash dalam SDKAgent Skills dalam SDKMelacak Biaya dan PenggunaanDaftar TodoPlugin dalam SDK

    MCP dalam API

    Konektor MCPServer MCP jarak jauh

    Claude di platform pihak ketiga

    Amazon BedrockVertex AI

    Rekayasa Prompt

    IkhtisarGenerator promptGunakan template promptPerbaikan promptBersikap jelas dan langsungGunakan contoh (multishot prompting)Biarkan Claude berpikir (CoT)Gunakan tag XMLBerikan Claude peran (system prompts)Isi awal respons ClaudeRangkai prompt kompleksTips konteks panjangTips pemikiran diperpanjang

    Uji & evaluasi

    Tentukan kriteria keberhasilanKembangkan kasus ujiMenggunakan Alat EvaluasiMengurangi latensi

    Perkuat perlindungan

    Mengurangi halusinasiMeningkatkan konsistensi outputMitigasi jailbreakhandle-streaming-refusalsMengurangi kebocoran promptMenjaga Claude dalam karakter

    Administrasi dan pemantauan

    Ikhtisar Admin APIAPI Penggunaan dan BiayaClaude Code Analytics API
    Console
    Kemampuan

    Kutipan

    Claude mampu memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber informasi dalam respons.

    Claude mampu memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber informasi dalam respons.

    Semua model aktif mendukung kutipan, kecuali Haiku 3.

    Kutipan dengan Claude Sonnet 3.7

    Claude Sonnet 3.7 mungkin kurang cenderung membuat kutipan dibandingkan dengan model Claude lainnya tanpa instruksi yang lebih eksplisit dari pengguna. Saat menggunakan kutipan dengan Claude Sonnet 3.7, kami merekomendasikan untuk menyertakan instruksi tambahan dalam giliran user, seperti "Gunakan kutipan untuk mendukung jawaban Anda." sebagai contoh.

    Kami juga mengamati bahwa ketika model diminta untuk menyusun responsnya, model tidak mungkin menggunakan kutipan kecuali secara eksplisit diberitahu untuk menggunakan kutipan dalam format tersebut. Misalnya, jika model diminta untuk menggunakan tag <result> dalam responsnya, Anda harus menambahkan sesuatu seperti "Selalu gunakan kutipan dalam jawaban Anda, bahkan dalam tag <result>."

    Silakan bagikan umpan balik dan saran Anda tentang fitur kutipan menggunakan formulir ini.

    Berikut adalah contoh cara menggunakan kutipan dengan Messages API:

    Shell
    curl https://api.anthropic.com/v1/messages \
      -H "content-type: application/json" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 1024,
        "messages": [
          {
            "role": "user",
            "content": [
              {
                "type": "document",
                "source": {
                  "type": "text",
                  "media_type": "text/plain",
                  "data": "The grass is green. The sky is blue."
                },
                "title": "My Document",
                "context": "This is a trustworthy document.",
                "citations": {"enabled": true}
              },
              {
                "type": "text",
                "text": "What color is the grass and sky?"
              }
            ]
          }
        ]
      }'
    Python
    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "document",
                        "source": {
                            "type": "text",
                            "media_type": "text/plain",
                            "data": "The grass is green. The sky is blue."
                        },
                        "title": "My Document",
                        "context": "This is a trustworthy document.",
                        "citations": {"enabled": True}
                    },
                    {
                        "type": "text",
                        "text": "What color is the grass and sky?"
                    }
                ]
            }
        ]
    )
    print(response)
    Java
    import java.util.List;
    
    import com.anthropic.client.AnthropicClient;
    import com.anthropic.client.okhttp.AnthropicOkHttpClient;
    import com.anthropic.models.messages.*;
    
    public class DocumentExample {
    
        public static void main(String[] args) {
            AnthropicClient client = AnthropicOkHttpClient.fromEnv();
    
            PlainTextSource source = PlainTextSource.builder()
                    .data("The grass is green. The sky is blue.")
                    .build();
    
            DocumentBlockParam documentParam = DocumentBlockParam.builder()
                    .source(source)
                    .title("My Document")
                    .context("This is a trustworthy document.")
                    .citations(CitationsConfigParam.builder().enabled(true).build())
                    .build();
            
            TextBlockParam textBlockParam = TextBlockParam.builder()
                    .text("What color is the grass and sky?")
                    .build();
    
            MessageCreateParams params = MessageCreateParams.builder()
                    .model(Model.CLAUDE_SONNET_4_20250514)
                    .maxTokens(1024)
                    .addUserMessageOfBlockParams(List.of(ContentBlockParam.ofDocument(documentParam), ContentBlockParam.ofText(textBlockParam)))
                    .build();
    
            Message message = client.messages().create(params);
            System.out.println(message);
        }
    }

    Perbandingan dengan pendekatan berbasis prompt

    Dibandingkan dengan solusi kutipan berbasis prompt, fitur kutipan memiliki keunggulan sebagai berikut:

    • Penghematan biaya: Jika pendekatan berbasis prompt Anda meminta Claude untuk mengeluarkan kutipan langsung, Anda mungkin melihat penghematan biaya karena fakta bahwa cited_text tidak dihitung terhadap token output Anda.
    • Keandalan kutipan yang lebih baik: Karena kami mengurai kutipan ke dalam format respons masing-masing yang disebutkan di atas dan mengekstrak cited_text, kutipan dijamin berisi penunjuk yang valid ke dokumen yang disediakan.
    • Kualitas kutipan yang lebih baik: Dalam evaluasi kami, kami menemukan fitur kutipan secara signifikan lebih mungkin mengutip kutipan yang paling relevan dari dokumen dibandingkan dengan pendekatan yang murni berbasis prompt.

    Cara kerja kutipan

    Integrasikan kutipan dengan Claude dalam langkah-langkah berikut:

    1. 1

      Berikan dokumen dan aktifkan kutipan

      • Sertakan dokumen dalam format yang didukung: PDF, teks biasa, atau dokumen konten kustom
      • Atur citations.enabled=true pada setiap dokumen Anda. Saat ini, kutipan harus diaktifkan pada semua atau tidak ada dokumen dalam permintaan.
      • Perhatikan bahwa hanya kutipan teks yang saat ini didukung dan kutipan gambar belum dimungkinkan.
    2. 2

      Dokumen diproses

      • Konten dokumen "dipotong" untuk menentukan granularitas minimum dari kutipan yang mungkin. Misalnya, pemotongan kalimat akan memungkinkan Claude untuk mengutip satu kalimat atau merangkai beberapa kalimat berturut-turut untuk mengutip paragraf (atau lebih panjang)!
        • Untuk PDF: Teks diekstrak seperti yang dijelaskan dalam Dukungan PDF dan konten dipotong menjadi kalimat. Mengutip gambar dari PDF saat ini tidak didukung.
        • Untuk dokumen teks biasa: Konten dipotong menjadi kalimat yang dapat dikutip.
        • Untuk dokumen konten kustom: Blok konten yang Anda berikan digunakan apa adanya dan tidak ada pemotongan lebih lanjut yang dilakukan.
    3. 3

      Claude memberikan respons yang dikutip

      • Respons sekarang mungkin menyertakan beberapa blok teks di mana setiap blok teks dapat berisi klaim yang dibuat Claude dan daftar kutipan yang mendukung klaim tersebut.
      • Kutipan merujuk pada lokasi spesifik dalam dokumen sumber. Format kutipan ini bergantung pada jenis dokumen yang dikutip.
        • Untuk PDF: kutipan akan menyertakan rentang nomor halaman (1-indexed).
        • Untuk dokumen teks biasa: Kutipan akan menyertakan rentang indeks karakter (0-indexed).
        • Untuk dokumen konten kustom: Kutipan akan menyertakan rentang indeks blok konten (0-indexed) yang sesuai dengan daftar konten asli yang disediakan.
      • Indeks dokumen disediakan untuk menunjukkan sumber referensi dan 0-indexed sesuai dengan daftar semua dokumen dalam permintaan asli Anda.

    Pemotongan otomatis vs konten kustom

    Secara default, dokumen teks biasa dan PDF secara otomatis dipotong menjadi kalimat. Jika Anda memerlukan kontrol lebih atas granularitas kutipan (misalnya, untuk poin-poin atau transkrip), gunakan dokumen konten kustom sebagai gantinya. Lihat Jenis Dokumen untuk detail lebih lanjut.

    Misalnya, jika Anda ingin Claude dapat mengutip kalimat spesifik dari potongan RAG Anda, Anda harus memasukkan setiap potongan RAG ke dalam dokumen teks biasa. Sebaliknya, jika Anda tidak ingin pemotongan lebih lanjut dilakukan, atau jika Anda ingin menyesuaikan pemotongan tambahan, Anda dapat memasukkan potongan RAG ke dalam dokumen konten kustom.

    Konten yang dapat dikutip vs tidak dapat dikutip

    • Teks yang ditemukan dalam konten source dokumen dapat dikutip.
    • title dan context adalah bidang opsional yang akan diteruskan ke model tetapi tidak digunakan untuk konten yang dikutip.
    • title terbatas panjangnya sehingga Anda mungkin menemukan bidang context berguna untuk menyimpan metadata dokumen apa pun sebagai teks atau json yang distringifikasi.

    Indeks kutipan

    • Indeks dokumen adalah 0-indexed dari daftar semua blok konten dokumen dalam permintaan (mencakup semua pesan).
    • Indeks karakter adalah 0-indexed dengan indeks akhir eksklusif.
    • Nomor halaman adalah 1-indexed dengan nomor halaman akhir eksklusif.
    • Indeks blok konten adalah 0-indexed dengan indeks akhir eksklusif dari daftar content yang disediakan dalam dokumen konten kustom.

    Biaya token

    • Mengaktifkan kutipan menimbulkan sedikit peningkatan token input karena penambahan prompt sistem dan pemotongan dokumen.
    • Namun, fitur kutipan sangat efisien dengan token output. Di balik layar, model mengeluarkan kutipan dalam format standar yang kemudian diurai menjadi teks yang dikutip dan indeks lokasi dokumen. Bidang cited_text disediakan untuk kemudahan dan tidak dihitung terhadap token output.
    • Ketika diteruskan kembali dalam giliran percakapan berikutnya, cited_text juga tidak dihitung terhadap token input.

    Kompatibilitas fitur

    Kutipan bekerja bersama dengan fitur API lainnya termasuk prompt caching, penghitungan token dan pemrosesan batch.

    Menggunakan Prompt Caching dengan Kutipan

    Kutipan dan prompt caching dapat digunakan bersama secara efektif.

    Blok kutipan yang dihasilkan dalam respons tidak dapat di-cache secara langsung, tetapi dokumen sumber yang mereka rujuk dapat di-cache. Untuk mengoptimalkan kinerja, terapkan cache_control pada blok konten dokumen tingkat atas Anda.

    import anthropic
    
    client = anthropic.Anthropic()
    
    # Konten dokumen panjang (misalnya, dokumentasi teknis)
    long_document = "This is a very long document with thousands of words..." + " ... " * 1000  # Panjang minimum yang dapat di-cache
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "document",
                        "source": {
                            "type": "text",
                            "media_type": "text/plain",
                            "data": long_document
                        },
                        "citations": {"enabled": True},
                        "cache_control": {"type": "ephemeral"}  # Cache konten dokumen
                    },
                    {
                        "type": "text",
                        "text": "What does this document say about API features?"
                    }
                ]
            }
        ]
    )

    Dalam contoh ini:

    • Konten dokumen di-cache menggunakan cache_control pada blok dokumen
    • Kutipan diaktifkan pada dokumen
    • Claude dapat menghasilkan respons dengan kutipan sambil mendapat manfaat dari konten dokumen yang di-cache
    • Permintaan berikutnya yang menggunakan dokumen yang sama akan mendapat manfaat dari konten yang di-cache

    Jenis Dokumen

    Memilih jenis dokumen

    Kami mendukung tiga jenis dokumen untuk kutipan. Dokumen dapat disediakan langsung dalam pesan (base64, teks, atau URL) atau diunggah melalui Files API dan dirujuk dengan file_id:

    JenisTerbaik untukPemotonganFormat kutipan
    Teks biasaDokumen teks sederhana, prosaKalimatIndeks karakter (0-indexed)
    PDFFile PDF dengan konten teksKalimatNomor halaman (1-indexed)
    Konten kustomDaftar, transkrip, format khusus, kutipan yang lebih granularTidak ada pemotongan tambahanIndeks blok (0-indexed)

    File .csv, .xlsx, .docx, .md, dan .txt tidak didukung sebagai blok dokumen. Konversi ini ke teks biasa dan sertakan langsung dalam konten pesan. Lihat Bekerja dengan format file lain.

    Dokumen teks biasa

    Dokumen teks biasa secara otomatis dipotong menjadi kalimat. Anda dapat menyediakannya secara inline atau dengan referensi dengan file_id mereka:

    Dokumen PDF

    Dokumen PDF dapat disediakan sebagai data yang dikodekan base64 atau dengan file_id. Teks PDF diekstrak dan dipotong menjadi kalimat. Karena kutipan gambar belum didukung, PDF yang merupakan pemindaian dokumen dan tidak berisi teks yang dapat diekstrak tidak akan dapat dikutip.

    Dokumen konten kustom

    Dokumen konten kustom memberi Anda kontrol atas granularitas kutipan. Tidak ada pemotongan tambahan yang dilakukan dan potongan disediakan ke model sesuai dengan blok konten yang disediakan.

    {
        "type": "document",
        "source": {
            "type": "content",
            "content": [
                {"type": "text", "text": "First chunk"},
                {"type": "text", "text": "Second chunk"}
            ]
        },
        "title": "Document Title", # opsional
        "context": "Context about the document that will not be cited from", # opsional
        "citations": {"enabled": True}
    }


    Struktur Respons

    Ketika kutipan diaktifkan, respons menyertakan beberapa blok teks dengan kutipan:

    {
        "content": [
            {
                "type": "text",
                "text": "According to the document, "
            },
            {
                "type": "text",
                "text": "the grass is green",
                "citations": [{
                    "type": "char_location",
                    "cited_text": "The grass is green.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 0,
                    "end_char_index": 20
                }]
            },
            {
                "type": "text",
                "text": " and "
            },
            {
                "type": "text",
                "text": "the sky is blue",
                "citations": [{
                    "type": "char_location",
                    "cited_text": "The sky is blue.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 20,
                    "end_char_index": 36
                }]
            },
            {
                "type": "text",
                "text": ". Information from page 5 states that ",
            },
            {
                "type": "text",
                "text": "water is essential",
                "citations": [{
                    "type": "page_location",
                    "cited_text": "Water is essential for life.",
                    "document_index": 1,
                    "document_title": "PDF Document",
                    "start_page_number": 5,
                    "end_page_number": 6
                }]
            },
            {
                "type": "text",
                "text": ". The custom document mentions ",
            },
            {
                "type": "text",
                "text": "important findings",
                "citations": [{
                    "type": "content_block_location",
                    "cited_text": "These are important findings.",
                    "document_index": 2,
                    "document_title": "Custom Content Document",
                    "start_block_index": 0,
                    "end_block_index": 1
                }]
            }
        ]
    }

    Dukungan Streaming

    Untuk respons streaming, kami telah menambahkan jenis citations_delta yang berisi satu kutipan untuk ditambahkan ke daftar citations pada blok konten text saat ini.

    • Cara kerja kutipan
    • Konten yang dapat dikutip vs tidak dapat dikutip
    • Indeks kutipan
    • Biaya token
    • Kompatibilitas fitur
    • Jenis Dokumen
    • Memilih jenis dokumen
    • Dokumen teks biasa
    • Dokumen PDF
    • Dokumen konten kustom
    • Struktur Respons
    • Dukungan Streaming
    © 2025 ANTHROPIC PBC

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    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

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    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

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    © 2025 ANTHROPIC PBC