Models Overview
Cara memilih model: bukan satu model untuk semua, tapi model yang berbeda untuk rute yang berbeda.
Intisari
- Tiga tingkat: Opus (paling mampu), Sonnet (seimbang), Haiku (paling cepat dan murah).
- Pilih per-rute, bukan satu untuk seluruh aplikasi. Klasifikasi tidak butuh model termahal.
- Pakai ID model persis dari dokumentasi โ jangan menambahkan akhiran tanggal sendiri.
- Untuk data terkini (context window, dukungan fitur), query Models API alih-alih menyalin tabel.
- Berganti model membatalkan prompt cache โ cache bersifat per-model.
Model yang tersedia
| Model | ID | Context | Input $/1M | Output $/1M |
|---|---|---|---|---|
| Claude Fable 5 | claude-fable-5 | 1M | $10,00 | $50,00 |
| Claude Opus 5 | claude-opus-5 | 1M | $5,00 | $25,00 |
| Claude Opus 4.8 | claude-opus-4-8 | 1M | $5,00 | $25,00 |
| Claude Sonnet 5 | claude-sonnet-5 | 1M | $3,00 | $15,00 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | 1M | $3,00 | $15,00 |
| Claude Haiku 4.5 | claude-haiku-4-5 | 200K | $1,00 | $5,00 |
Harga dan daftar model berubah. Tabel di atas adalah cuplikan saat halaman ini dibuat. Untuk keputusan yang bergantung pada angka pasti, buka sumber aslinya atau query Models API.
Memilih per-rute
Kesalahan paling umum adalah memakai satu model untuk semuanya. Petakan berdasarkan sifat tugasnya:
| Tugas | Model | Alasan |
|---|---|---|
| Coding agentic, refactor besar | Opus 5, effort: xhigh | Penalaran panjang, tugas berjam-jam |
| Chatbot RAG | Opus 5 atau Sonnet 5 | Kualitas jawaban terasa langsung oleh pengguna |
| Klasifikasi tiket | Haiku 4.5 | Sederhana, volume tinggi, sensitif biaya |
| Ekstraksi terstruktur | Sonnet 5 atau Haiku 4.5 | Skema sudah membatasi ruang jawaban |
| Ringkasan dokumen panjang | Sonnet 5 | Context besar, penalaran sedang |
| Sub-agent di dalam loop | Haiku 4.5 | Banyak panggilan, tugas sempit |
| Penalaran paling berat | Fable 5 | Kemampuan tertinggi; harganya di atas Opus |
MODEL = {
"chat": "claude-opus-5",
"klasifikasi": "claude-haiku-4-5",
"ekstraksi": "claude-sonnet-5",
"ringkas": "claude-sonnet-5",
}
def panggil(rute: str, **kw):
return client.messages.create(model=MODEL[rute], **kw)
Menyimpan pemetaan model di satu tempat membuatnya mudah diukur dan diubah. Kamu bisa menurunkan satu rute ke model yang lebih murah, menjalankan eval-nya, dan mengembalikan kalau kualitasnya turun โ tanpa menyentuh kode di seluruh aplikasi.
effort โ dimensi kedua
Selain memilih model, kamu bisa mengatur seberapa dalam model berpikir. Ini sering lebih efektif daripada langsung turun tingkat model:
output_config={"effort": "low"} # low | medium | high | xhigh | max
| Level | Untuk |
|---|---|
low | Tugas pendek, sensitif latensi, tidak butuh penalaran |
medium | Pekerjaan rutin yang perlu hemat token |
high | Default; keseimbangan yang baik |
xhigh | Coding dan agentic โ biasanya yang terbaik di sana |
max | Kebenaran lebih penting daripada biaya |
Pada Claude Opus 5, low dan medium jauh lebih kuat dari dugaan.
Lakukan sapuan (sweep) pada eval-mu sendiri sebelum memutuskan default.
Aturan penulisan ID model
model="claude-opus-5" # โ
ID lengkap apa adanya
model="claude-opus-5-20260101" # โ jangan menambahkan tanggal sendiri
model="claude-sonnet-4.6" # โ pakai tanda hubung, bukan titik
Salin persis dari dokumentasi. ID yang salah menghasilkan error 404.
Menanyakan kemampuan model secara langsung
m = client.models.retrieve("claude-opus-5")
m.display_name
m.max_input_tokens # ukuran context window
m.max_tokens # batas output
caps = m.capabilities
caps["image_input"]["supported"]
caps["thinking"]["types"]["adaptive"]["supported"]
caps["effort"]["max"]["supported"]
caps["structured_outputs"]["supported"]
# Cari model yang memenuhi syarat tertentu
[m.id for m in client.models.list()
if m.capabilities["image_input"]["supported"] and m.max_input_tokens >= 200_000]
Ini lebih baik daripada menyalin tabel ke kodemu. Daftar model berubah; Models API selalu memberi data terkini. Berguna untuk aplikasi yang membiarkan pengguna memilih model, atau untuk pemeriksaan otomatis saat startup.
Menghemat biaya tanpa mengganti model
- Prompt caching โ sering memberi penghematan terbesar untuk konteks berulang
- Turunkan
effortโ cobamediumsebelum turun tingkat model - Batches API โ 50% lebih murah untuk pekerjaan yang tidak sensitif waktu
- Pangkas konteks โ jangan kirim seluruh dokumen kalau lima chunk sudah cukup
- Batasi
max_tokensโ mencegah jawaban bertele-tele yang tidak diminta
Berganti model membatalkan cache
Cache bersifat per-model. Merutekan percakapan yang sama ke model berbeda di tengah jalan akan membuang seluruh cache-nya. Kalau kamu ingin memakai model murah untuk sub-tugas, jalankan sebagai sub-agent dengan percakapan terpisah โ jangan mengganti model di tengah percakapan utama.
Model yang sudah pensiun
Model lama akhirnya dihentikan dan mengembalikan 404. Kalau kamu menemukan
claude-3-5-sonnet, claude-3-opus, atau claude-2 di kode
atau tutorial, itu sudah tidak berlaku. Ganti ke model terkini yang setara tingkatnya.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.