โ† Semua pembelajaran / Python untuk AI Engineer
Fase 4 ยท Bicara dengan LLM

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

ModelIDContextInput $/1MOutput $/1M
Claude Fable 5claude-fable-51M$10,00$50,00
Claude Opus 5claude-opus-51M$5,00$25,00
Claude Opus 4.8claude-opus-4-81M$5,00$25,00
Claude Sonnet 5claude-sonnet-51M$3,00$15,00
Claude Sonnet 4.6claude-sonnet-4-61M$3,00$15,00
Claude Haiku 4.5claude-haiku-4-5200K$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:

TugasModelAlasan
Coding agentic, refactor besarOpus 5, effort: xhighPenalaran panjang, tugas berjam-jam
Chatbot RAGOpus 5 atau Sonnet 5Kualitas jawaban terasa langsung oleh pengguna
Klasifikasi tiketHaiku 4.5Sederhana, volume tinggi, sensitif biaya
Ekstraksi terstrukturSonnet 5 atau Haiku 4.5Skema sudah membatasi ruang jawaban
Ringkasan dokumen panjangSonnet 5Context besar, penalaran sedang
Sub-agent di dalam loopHaiku 4.5Banyak panggilan, tugas sempit
Penalaran paling beratFable 5Kemampuan 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
LevelUntuk
lowTugas pendek, sensitif latensi, tidak butuh penalaran
mediumPekerjaan rutin yang perlu hemat token
highDefault; keseimbangan yang baik
xhighCoding dan agentic โ€” biasanya yang terbaik di sana
maxKebenaran 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

  1. Prompt caching โ€” sering memberi penghematan terbesar untuk konteks berulang
  2. Turunkan effort โ€” coba medium sebelum turun tingkat model
  3. Batches API โ€” 50% lebih murah untuk pekerjaan yang tidak sensitif waktu
  4. Pangkas konteks โ€” jangan kirim seluruh dokumen kalau lima chunk sudah cukup
  5. 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.