Claude Platform Docs
Model & hargaClaude Sonnet 5

Migrasi ke Claude Sonnet 5

Migrasi ke Claude Sonnet 5 dari model Claude sebelumnya: ID model, perubahan yang merusak kompatibilitas, dan daftar periksa migrasi.

Claude Sonnet 5 menawarkan kombinasi terbaik antara kecepatan dan kecerdasan dalam keluarga model Claude. Model ini dibangun di atas Claude Sonnet 4.6.

Claude Sonnet 5 adalah peningkatan langsung (drop-in) untuk Claude Sonnet 4.6, dengan harga $2/$10 USD per juta token input/output; lihat Harga untuk detailnya. Ada dua perubahan API yang merusak kompatibilitas untuk kode yang sudah berjalan di Claude Sonnet 4.6. Pertama, adaptive thinking (pemikiran adaptif) aktif secara default dan "extended thinking" (pemikiran diperpanjang) manual (thinking: {type: "enabled", budget_tokens: N}) mengembalikan error 400, sehingga permintaan yang sebelumnya berjalan tanpa thinking kini dapat mengembalikan blok thinking sebelum blok text pertama, dan kode yang membaca konten berdasarkan posisi harus memilih blok konten berdasarkan type. Kedua, parameter sampling (temperature, top_p, top_k) yang diatur ke nilai non-default mengembalikan error 400. Gunakan adaptive thinking dengan parameter effort untuk mengontrol kedalaman thinking. Claude Sonnet 5 mendukung rangkaian fitur yang sama dengan Claude Sonnet 4.6, termasuk "context window" (jendela konteks) 1M token, adaptive thinking, "prompt caching" (caching prompt), pemrosesan batch, Files API, dukungan PDF, vision, dan rangkaian lengkap alat sisi server dan sisi klien. Di Claude API dan Google Cloud, Claude Sonnet 5 juga mendukung computer use sebagai toolset stabil computer_toolset_20260801 dan alat browser use untuk tugas di dalam halaman web, yang keduanya tidak didukung oleh Claude Sonnet 4.6; integrasi yang sudah ada pada versi computer_20251124 sebelumnya tetap berfungsi tanpa perubahan di kedua model. Untuk meningkatkan integrasi yang sudah ada, lihat Migrasi dari computer_20251124. Priority Tier tidak tersedia di Claude Sonnet 5. Claude Sonnet 5 juga menggunakan tokenizer baru.

Migrasi ke Claude Sonnet 5 dari Claude Sonnet 4.6

Perbarui nama model Anda

# Migrasi Sonnet
model = "claude-sonnet-4-6"  # Before
model = "claude-sonnet-5"  # After

Apa yang berubah

Butir 4 dan 5 dalam daftar berikut adalah perubahan yang merusak kompatibilitas. max_tokens tetap menjadi batas keras untuk total output (thinking ditambah teks respons), jadi tinjau kembali nilainya untuk beban kerja yang sebelumnya berjalan tanpa thinking di Claude Sonnet 4.6.

  1. Tokenizer baru: Claude Sonnet 5 menggunakan tokenizer baru. Teks input yang sama menghasilkan sekitar 30% lebih banyak token dibandingkan di Claude Sonnet 4.6. Peningkatan pastinya bergantung pada kontennya. Permintaan, respons, dan event streaming tetap memiliki bentuk yang sama, dan tidak diperlukan perubahan kode, tetapi apa pun yang Anda ukur atau anggarkan dalam token akan bergeser: field usage dan hasil penghitungan token untuk teks yang sama menjadi lebih tinggi, jendela konteks 1M token menampung lebih sedikit teks, dan batas max_tokens yang disesuaikan untuk Claude Sonnet 4.6 mungkin memotong output yang setara. Harga per token lebih rendah ($2/$10 USD dibandingkan $3/$15 USD per juta token input/output pada Claude Sonnet 4.6), tetapi biaya permintaan yang setara tidak turun secara proporsional langsung. Jalankan ulang penghitungan token terhadap Claude Sonnet 5 alih-alih menggunakan kembali hitungan yang diukur terhadap model sebelumnya.

  2. 128k token output maksimum (tidak berubah): Claude Sonnet 5 mendukung hingga 128k token output, sama seperti Claude Sonnet 4.6. Nilai max_tokens yang sudah ada tetap valid. Perhitungkan tokenizer baru saat menentukan ukurannya.

  3. Prefill pesan asisten (tidak berubah): Melakukan prefill pada pesan asisten mengembalikan error 400 di Claude Sonnet 5, sama seperti di Claude Sonnet 4.6. Jika Anda telah menghapus prefill saat bermigrasi ke Claude Sonnet 4.6, tidak diperlukan perubahan lebih lanjut. Gunakan structured outputs, instruksi prompt sistem, atau output_config.format sebagai gantinya.

  4. Adaptive thinking aktif secara default: Di Claude Sonnet 4.6, permintaan tanpa field thinking berjalan tanpa thinking; di Claude Sonnet 5, permintaan yang sama berjalan dengan adaptive thinking. Untuk menonaktifkan thinking, kirimkan thinking: {type: "disabled"}. Extended thinking manual (thinking: {type: "enabled", budget_tokens: N}) tidak didukung dan mengembalikan error 400. Gunakan parameter effort (default high) untuk mengontrol kedalaman thinking.

    Dengan thinking aktif, respons dapat dimulai dengan satu atau lebih blok thinking sebelum blok text pertama, yang dikembalikan dengan field thinking kosong pada default display: "omitted". Kode yang membaca balasan berdasarkan posisi, seperti content[0].text atau handler stream yang memperlakukan blok konten pertama sebagai teks, harus memilih blok konten berdasarkan field type-nya, dan loop penggunaan alat harus mengirimkan kembali blok thinking secara lengkap dan tanpa modifikasi bersama hasil alatnya (lihat Mempertahankan blok thinking). Token thinking ditagih sebagai token output meskipun teks thinking tidak dikembalikan. Jika Anda menggunakan thinking di Claude Sonnet 4.6 dan menampilkan teks thinking yang dikembalikan, perhatikan bahwa thinking.display memiliki default "summarized" di sana dan memiliki default "omitted" di Claude Sonnet 5; atur display: "summarized", seperti pada contoh berikut, untuk tetap menerima ringkasan yang dapat dibaca (lihat Mengontrol tampilan thinking).

    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-5",
        max_tokens=16000,
        thinking={"type": "adaptive", "display": "summarized"},
        output_config={"effort": "high"},
        messages=[
            {
                "role": "user",
                "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
            }
        ],
    )
    
    # Respons berisi blok pemikiran yang diringkas dan blok teks
    for block in response.content:
        match block.type:
            case "thinking":
                print(f"\nThinking summary: {block.thinking}")
            case "text":
                print(f"\nResponse: {block.text}")
  5. Parameter sampling dihapus: Parameter sampling (temperature, top_p, top_k) yang diatur ke nilai non-default tidak diterima dan mengembalikan error 400.

  6. Pengamanan keamanan siber: Claude Sonnet 5 adalah model tingkat Sonnet pertama dengan pengamanan keamanan siber real-time. Permintaan yang melibatkan topik keamanan siber yang dilarang atau berisiko tinggi dapat ditolak. Penolakan dikembalikan sebagai respons HTTP 200 yang berhasil dengan stop_reason: "refusal", bukan sebagai error. Lihat Pengamanan siber real-time pada Claude Opus dan Sonnet untuk mengetahui apa yang diblokir oleh pengamanan tersebut dan bagaimana pekerjaan keamanan yang sah dapat mendaftar ke Cyber Verification Program.

Daftar periksa migrasi

  • Perbarui nama model dari claude-sonnet-4-6 menjadi claude-sonnet-5.
  • Jalankan ulang penghitungan token terhadap Claude Sonnet 5. Tokenizer baru menghasilkan sekitar 30% lebih banyak token untuk teks yang sama, yang dapat mengubah biaya per permintaan meskipun harga per token lebih rendah. Peningkatan pastinya bergantung pada konten dan bentuk beban kerja.
  • Tinjau kembali batas max_tokens yang ukurannya mendekati panjang output yang Anda harapkan, dan naikkan hingga maksimum 128k (tidak berubah dari Claude Sonnet 4.6) jika berguna.
  • Hapus konfigurasi thinking: {type: "enabled", budget_tokens: N} (mengembalikan error 400). Adaptive thinking aktif secara default; kirimkan {type: "disabled"} untuk menonaktifkannya, atau gunakan parameter effort untuk mengontrol kedalaman.
  • Perbarui parsing respons yang membaca konten berdasarkan posisi, seperti content[0].text: dengan thinking aktif, blok thinking tiba sebelum blok text. Pilih blok konten berdasarkan type, dan kirimkan kembali blok thinking tanpa modifikasi dalam loop penggunaan alat; blok yang dimodifikasi mengembalikan error 400.
  • Verifikasi bahwa kode apa pun yang mem-parsing field thinking memperlakukannya hanya sebagai teks tampilan. thinking.display memiliki default "omitted" di Claude Sonnet 5 (sebelumnya memiliki default "summarized" di Claude Sonnet 4.6), sehingga blok thinking tiba dengan field thinking kosong; atur display: "summarized" untuk menerima ringkasan yang dapat dibaca. Lihat Mengontrol tampilan thinking.
  • Hapus parameter temperature, top_p, dan top_k yang diatur ke nilai non-default (parameter tersebut mengembalikan error 400 di Claude Sonnet 5).
  • Tambahkan penanganan untuk stop_reason: "refusal" jika beban kerja Anda mungkin menyentuh topik keamanan siber.
  • Tetapkan ulang baseline biaya pada beban kerja tipikal Anda sebelum deployment produksi.
  • Tinjau max_tokens untuk beban kerja yang sebelumnya berjalan tanpa thinking.

Migrasi ke Claude Sonnet 5 dari Claude Sonnet 4.5 dan model Sonnet sebelumnya

Jika Anda bermigrasi dari Claude Sonnet 4.5 atau model Sonnet sebelumnya langsung ke Claude Sonnet 5, terapkan perubahan Migrasi ke Claude Sonnet 5 dari Claude Sonnet 4.6 ditambah perubahan di bagian ini.

Perubahan yang merusak kompatibilitas

Saat bermigrasi dari Sonnet 4.5

  1. Prefill pesan asisten tidak lagi didukung

    Prefill pesan asisten mengembalikan error 400 di Claude Sonnet 4.6 dan model yang lebih baru, termasuk Claude Sonnet 5. Gunakan structured outputs, instruksi prompt sistem, atau output_config.format sebagai gantinya.

    Kasus penggunaan prefill yang umum dan migrasinya:

    • Mengontrol format output (memaksa output JSON/YAML): Gunakan structured outputs atau alat dengan field enum untuk tugas klasifikasi.

    • Menghilangkan pembukaan (menghapus frasa "Here is..."): Tambahkan instruksi langsung di prompt sistem: "Respond directly without preamble. Do not start with phrases like 'Here is...', 'Based on...', etc."

    • Menghindari penolakan yang tidak tepat: Claude kini jauh lebih baik dalam melakukan penolakan yang tepat. Prompting yang jelas dalam pesan pengguna tanpa prefill seharusnya sudah cukup.

    • Kelanjutan (melanjutkan respons yang terputus): Pindahkan kelanjutan ke pesan pengguna: "Your previous response was interrupted and ended with [previous_response]. Continue from where you left off."

    • Hidrasi konteks / konsistensi peran (menyegarkan konteks dalam percakapan panjang): Sisipkan pengingat yang sebelumnya berupa prefill asisten ke dalam giliran pengguna sebagai gantinya.

  2. Escaping JSON parameter alat mungkin berbeda

    Escaping string JSON dalam parameter alat mungkin berbeda dari model sebelumnya. Parser JSON standar menangani hal ini secara otomatis, tetapi parsing berbasis string kustom mungkin perlu diperbarui.

Perubahan extended thinking: Konfigurasi budget_tokens dari Claude Sonnet 4.5 (thinking: {type: "enabled", budget_tokens: N}) tidak didukung di Claude Sonnet 5 dan mengembalikan error 400. Adaptive thinking aktif secara default, sehingga sebagian besar beban kerja tidak memerlukan konfigurasi thinking sama sekali; gunakan parameter effort untuk mengontrol kedalaman thinking. Jika Anda menjalankan Claude Sonnet 4.5 tanpa extended thinking, kirimkan thinking: {type: "disabled"} untuk mempertahankan perilaku tersebut.

Saat bermigrasi dari Claude 3.x

  1. Hapus parameter sampling

    Parameter sampling (temperature, top_p, top_k) yang diatur ke nilai non-default mengembalikan error 400 di Claude Sonnet 5. Hapus parameter tersebut dari permintaan, dan gunakan prompting untuk memandu perilaku model sebagai gantinya.

  2. Perbarui versi alat

    Perbarui ke versi alat terbaru (text_editor_20250728, code_execution_20260521). Hapus kode apa pun yang menggunakan perintah undo_edit.

  3. Tangani stop reason refusal

    Perbarui aplikasi Anda untuk menangani stop reason refusal.

  4. Perbarui prompt Anda untuk perubahan perilaku

    Model Claude 4 memiliki gaya komunikasi yang lebih ringkas dan langsung. Tinjau praktik terbaik prompting untuk panduan optimasi.

Migrasi ke Claude Sonnet 5 dari Claude Haiku 4.5

Claude Haiku 4.5 dan Claude Sonnet 5 lebih berbeda di tingkat API dibandingkan model yang berdekatan dalam satu kelas: Claude Haiku 4.5 menggunakan extended thinking manual (nonaktif secara default), jendela konteks 200k token, dan hingga 64k token output, sedangkan Claude Sonnet 5 berjalan dengan adaptive thinking aktif secara default, menyediakan jendela konteks 1M token secara default, dan mendukung hingga 128k token output.

Perbarui nama model Anda

model = "claude-haiku-4-5-20251001"  # Before
model = "claude-sonnet-5"  # After

Apa yang berubah

  1. Konfigurasi thinking: Claude Haiku 4.5 mendukung extended thinking manual (thinking: {type: "enabled", budget_tokens: N}) dan menolak thinking: {type: "adaptive"}. Di Claude Sonnet 5, dukungannya terbalik: adaptive thinking aktif secara default, dan extended thinking manual mengembalikan error 400. Hapus konfigurasi thinking: {type: "enabled", budget_tokens: N} dan andalkan default, atau kirimkan thinking: {type: "disabled"} untuk menonaktifkan thinking. budget_tokens tidak memiliki pengganti langsung; gunakan parameter effort untuk mengontrol kedalaman thinking. Effort tidak tersedia di Claude Haiku 4.5 dan memiliki default high di Claude Sonnet 5.

    Bentuk respons berubah untuk kedua jenis permintaan Claude Haiku 4.5. Permintaan yang sebelumnya berjalan tanpa extended thinking kini dapat mengembalikan satu atau lebih blok thinking sebelum blok text pertama, sehingga kode yang membaca balasan berdasarkan posisi, seperti content[0].text, harus memilih blok konten berdasarkan field type-nya, dan loop penggunaan alat harus mengirimkan kembali blok thinking secara lengkap dan tanpa modifikasi bersama hasil alatnya (lihat Mempertahankan blok thinking). Permintaan yang menggunakan extended thinking tetap menerima blok thinking, tetapi thinking.display memiliki default "omitted" di Claude Sonnet 5 alih-alih "summarized", sehingga blok tersebut tiba dengan field thinking kosong; atur display: "summarized" untuk tetap menerima ringkasan yang dapat dibaca (lihat Mengontrol tampilan thinking). Token thinking ditagih sebagai token output meskipun teks thinking tidak dikembalikan.

  2. Parameter sampling dihapus: temperature dan top_p berfungsi di Claude Haiku 4.5 (satu per satu, tidak keduanya). Di Claude Sonnet 5, mengatur temperature, top_p, atau top_k ke nilai non-default mengembalikan error 400. Hapus parameter ini dan gunakan prompting untuk memandu perilaku model.

  3. Prefill asisten dihapus: Melakukan prefill pada pesan asisten berfungsi di Claude Haiku 4.5 tetapi mengembalikan error 400 di Claude Sonnet 5. Gunakan structured outputs, instruksi prompt sistem, atau output_config.format sebagai gantinya.

  4. Jendela konteks dan output yang lebih besar: Claude Sonnet 5 menyediakan jendela konteks 1M token secara default, naik dari 200k token di Claude Haiku 4.5, dan mendukung hingga 128k token output, naik dari 64k. Claude Sonnet 5 juga menggunakan tokenizer yang berbeda, jadi jalankan ulang penghitungan token alih-alih menggunakan kembali hitungan yang diukur terhadap Claude Haiku 4.5.

  5. Harga: Claude Haiku 4.5 dihargai $1/$5 USD per juta token input/output. Claude Sonnet 5 dihargai $2/$10 USD per juta token input/output. Lihat harga Claude.

  6. Pengamanan keamanan siber: Claude Sonnet 5 memiliki pengamanan keamanan siber real-time. Permintaan yang melibatkan topik keamanan siber yang dilarang atau berisiko tinggi dapat ditolak, dikembalikan sebagai respons HTTP 200 yang berhasil dengan stop_reason: "refusal". Lihat Pengamanan siber real-time pada Claude Opus dan Sonnet untuk mengetahui apa yang diblokir oleh pengamanan tersebut dan bagaimana pekerjaan keamanan yang sah dapat mendaftar ke Cyber Verification Program.

Daftar periksa migrasi

  • Perbarui nama model dari claude-haiku-4-5-20251001 (atau alias claude-haiku-4-5) menjadi claude-sonnet-5.
  • Hapus konfigurasi thinking: {type: "enabled", budget_tokens: N} (mengembalikan error 400). Adaptive thinking aktif secara default; kirimkan thinking: {type: "disabled"} untuk mempertahankan perilaku tanpa thinking, dan tinjau kembali max_tokens untuk beban kerja yang sebelumnya berjalan tanpa thinking.
  • Perbarui parsing respons yang membaca konten berdasarkan posisi, seperti content[0].text: dengan thinking aktif, blok thinking tiba sebelum blok text. Pilih blok konten berdasarkan type, dan kirimkan kembali blok thinking tanpa modifikasi dalam loop penggunaan alat; blok yang dimodifikasi mengembalikan error 400.
  • Jika UI Anda menampilkan konten thinking, atur display: "summarized". thinking.display memiliki default "omitted" di Claude Sonnet 5, sehingga jika tidak diatur, blok thinking tiba dengan field thinking kosong. Lihat Mengontrol tampilan thinking.
  • Gunakan parameter effort (default high) untuk mengontrol kedalaman thinking dan pengeluaran token; parameter ini tidak tersedia di Claude Haiku 4.5, sehingga tidak ada pengaturan yang sudah ada yang terbawa.
  • Hapus pengaturan temperature dan top_p (nilai non-default mengembalikan error 400 di Claude Sonnet 5).
  • Hapus prefill pesan asisten apa pun (prefill tersebut mengembalikan error 400 di Claude Sonnet 5).
  • Jalankan ulang penghitungan token terhadap Claude Sonnet 5, dan tinjau kembali batas max_tokens, yang dapat Anda naikkan hingga maksimum 128k.
  • Tambahkan penanganan untuk stop_reason: "refusal" jika beban kerja Anda mungkin menyentuh topik keamanan siber.
  • Tetapkan ulang baseline biaya pada beban kerja tipikal Anda sebelum deployment produksi; harga per token berbeda.

Was this page helpful?