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" # AfterApa 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.
-
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
usagedan hasil penghitungan token untuk teks yang sama menjadi lebih tinggi, jendela konteks 1M token menampung lebih sedikit teks, dan batasmax_tokensyang 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. -
128k token output maksimum (tidak berubah): Claude Sonnet 5 mendukung hingga 128k token output, sama seperti Claude Sonnet 4.6. Nilai
max_tokensyang sudah ada tetap valid. Perhitungkan tokenizer baru saat menentukan ukurannya. -
Prefill pesan asisten (tidak berubah): Melakukan prefill pada pesan asisten mengembalikan error
400di 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, atauoutput_config.formatsebagai gantinya. -
Adaptive thinking aktif secara default: Di Claude Sonnet 4.6, permintaan tanpa field
thinkingberjalan tanpa thinking; di Claude Sonnet 5, permintaan yang sama berjalan dengan adaptive thinking. Untuk menonaktifkan thinking, kirimkanthinking: {type: "disabled"}. Extended thinking manual (thinking: {type: "enabled", budget_tokens: N}) tidak didukung dan mengembalikan error 400. Gunakan parameter effort (defaulthigh) untuk mengontrol kedalaman thinking.Dengan thinking aktif, respons dapat dimulai dengan satu atau lebih blok
thinkingsebelum bloktextpertama, yang dikembalikan dengan fieldthinkingkosong pada defaultdisplay: "omitted". Kode yang membaca balasan berdasarkan posisi, seperticontent[0].textatau handler stream yang memperlakukan blok konten pertama sebagai teks, harus memilih blok konten berdasarkan fieldtype-nya, dan loop penggunaan alat harus mengirimkan kembali blokthinkingsecara 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 bahwathinking.displaymemiliki default"summarized"di sana dan memiliki default"omitted"di Claude Sonnet 5; aturdisplay: "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}") -
Parameter sampling dihapus: Parameter sampling (
temperature,top_p,top_k) yang diatur ke nilai non-default tidak diterima dan mengembalikan error 400. -
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-6menjadiclaude-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_tokensyang 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, blokthinkingtiba sebelum bloktext. Pilih blok konten berdasarkantype, dan kirimkan kembali blokthinkingtanpa modifikasi dalam loop penggunaan alat; blok yang dimodifikasi mengembalikan error 400. - Verifikasi bahwa kode apa pun yang mem-parsing field
thinkingmemperlakukannya hanya sebagai teks tampilan.thinking.displaymemiliki default"omitted"di Claude Sonnet 5 (sebelumnya memiliki default"summarized"di Claude Sonnet 4.6), sehingga blok thinking tiba dengan fieldthinkingkosong; aturdisplay: "summarized"untuk menerima ringkasan yang dapat dibaca. Lihat Mengontrol tampilan thinking. - Hapus parameter
temperature,top_p, dantop_kyang 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_tokensuntuk 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
-
Prefill pesan asisten tidak lagi didukung
Prefill pesan asisten mengembalikan error
400di Claude Sonnet 4.6 dan model yang lebih baru, termasuk Claude Sonnet 5. Gunakan structured outputs, instruksi prompt sistem, atauoutput_config.formatsebagai 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.
-
-
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
-
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. -
Perbarui versi alat
Perbarui ke versi alat terbaru (
text_editor_20250728,code_execution_20260521). Hapus kode apa pun yang menggunakan perintahundo_edit. -
Tangani stop reason
refusalPerbarui aplikasi Anda untuk menangani stop reason
refusal. -
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" # AfterApa yang berubah
-
Konfigurasi thinking: Claude Haiku 4.5 mendukung extended thinking manual (
thinking: {type: "enabled", budget_tokens: N}) dan menolakthinking: {type: "adaptive"}. Di Claude Sonnet 5, dukungannya terbalik: adaptive thinking aktif secara default, dan extended thinking manual mengembalikan error 400. Hapus konfigurasithinking: {type: "enabled", budget_tokens: N}dan andalkan default, atau kirimkanthinking: {type: "disabled"}untuk menonaktifkan thinking.budget_tokenstidak memiliki pengganti langsung; gunakan parameter effort untuk mengontrol kedalaman thinking. Effort tidak tersedia di Claude Haiku 4.5 dan memiliki defaulthighdi 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
thinkingsebelum bloktextpertama, sehingga kode yang membaca balasan berdasarkan posisi, seperticontent[0].text, harus memilih blok konten berdasarkan fieldtype-nya, dan loop penggunaan alat harus mengirimkan kembali blokthinkingsecara lengkap dan tanpa modifikasi bersama hasil alatnya (lihat Mempertahankan blok thinking). Permintaan yang menggunakan extended thinking tetap menerima blokthinking, tetapithinking.displaymemiliki default"omitted"di Claude Sonnet 5 alih-alih"summarized", sehingga blok tersebut tiba dengan fieldthinkingkosong; aturdisplay: "summarized"untuk tetap menerima ringkasan yang dapat dibaca (lihat Mengontrol tampilan thinking). Token thinking ditagih sebagai token output meskipun teks thinking tidak dikembalikan. -
Parameter sampling dihapus:
temperaturedantop_pberfungsi di Claude Haiku 4.5 (satu per satu, tidak keduanya). Di Claude Sonnet 5, mengaturtemperature,top_p, atautop_kke nilai non-default mengembalikan error 400. Hapus parameter ini dan gunakan prompting untuk memandu perilaku model. -
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.formatsebagai gantinya. -
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.
-
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.
-
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 aliasclaude-haiku-4-5) menjadiclaude-sonnet-5. - Hapus konfigurasi
thinking: {type: "enabled", budget_tokens: N}(mengembalikan error 400). Adaptive thinking aktif secara default; kirimkanthinking: {type: "disabled"}untuk mempertahankan perilaku tanpa thinking, dan tinjau kembalimax_tokensuntuk beban kerja yang sebelumnya berjalan tanpa thinking. - Perbarui parsing respons yang membaca konten berdasarkan posisi, seperti
content[0].text: dengan thinking aktif, blokthinkingtiba sebelum bloktext. Pilih blok konten berdasarkantype, dan kirimkan kembali blokthinkingtanpa modifikasi dalam loop penggunaan alat; blok yang dimodifikasi mengembalikan error 400. - Jika UI Anda menampilkan konten thinking, atur
display: "summarized".thinking.displaymemiliki default"omitted"di Claude Sonnet 5, sehingga jika tidak diatur, blok thinking tiba dengan fieldthinkingkosong. 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
temperaturedantop_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?