Apa itu token Claude dan biaya Claude Code
Satu token Claude setara 3.5 karakter. Pelajari mengapa satu sesi Claude Code menghabiskan 80.000 token dan mengapa biaya bisa naik 5x lipat saat idle.
Apa itu token pada Claude?
Token adalah unit teks yang dibaca dan ditulis oleh Claude: sebuah fragmen kata, kira-kira setara dengan 3.5 karakter bahasa Inggris. Angka tersebut berasal dari glosarium Anthropic sendiri. Jumlah token akan melebihi satu token per kata jika spasi dan tanda baca dihitung, sehingga seribu kata prosa akan menghasilkan lebih dari 1.300 token. Kode memerlukan beban lebih besar per baris: kurung kurawal, operator, garis bawah, dan indentasi memecah karakter menjadi lebih banyak token dibandingkan bahasa Inggris. Sebuah file sumber berisi beberapa ratus baris biasanya mencapai beberapa ribu token. File berisi 2.000 baris yang dibaca oleh agen akan menghabiskan puluhan ribu token sebelum ada baris kode baru yang ditulis.
Ada dua hal mengenai tokenizer yang sering membingungkan pengguna. Pertama, tokenizer bersifat spesifik untuk setiap model. Per Juli 2026, Opus 4.7 dan versi setelahnya, Sonnet 5, dan Fable 5 menggunakan tokenizer baru yang menghasilkan sekitar 30% lebih banyak token untuk teks yang sama dibandingkan model Claude sebelumnya (peningkatan eksak bervariasi tergantung konten). Hal ini mengubah estimasi penggunaan token meskipun harga per token tidak naik. Kedua, tiktoken, pustaka yang sering digunakan dalam setiap postingan blog, adalah tokenizer OpenAI yang menghasilkan hitungan lebih rendah sekitar 15–20% dibandingkan Claude pada teks biasa, dan lebih rendah lagi pada kode. Satu-satunya hitungan yang dapat dipercaya adalah endpoint count_tokens yang dibahas di bawah ini.
Mengapa sesi coding Anda memakan biaya sebesar itu
Setiap tagihan Claude, baik berupa invoice API maupun batas langganan, bergantung pada satu meteran: token masuk (input) dan token keluar (output). Halaman harga membuatnya terlihat sederhana: sekian dolar per satu juta token input, sekian dolar per satu juta token output. Namun, yang tidak dijelaskan adalah dalam sesi coding berbasis agentic, sisi input pada meteran berjalan jauh lebih cepat daripada perkiraan. Hal ini terjadi karena seluruh percakapan dikirim ulang pada setiap giliran. Saya telah menjual infrastruktur berbasis meteran selama lima belas tahun, dan token adalah meteran pertama yang saya temui di mana sebagian besar pelanggan tidak benar-benar tahu apa yang menyebabkan konsumsi melonjak. Ini adalah pelajaran pembacaan meteran: apa yang dihitung sebagai input dan output dalam sesi agentic, mengapa loop pengiriman ulang sangat mahal, mengapa prompt caching mengubah perhitungan, dan tuas mana yang sebenarnya memengaruhi angka tersebut.
Semua adalah input: apa yang sebenarnya dihitung oleh meteran
Orang berasumsi mereka membayar untuk kode yang ditulis Claude. Dalam sesi agen, hal tersebut hanyalah komponen kecil. Token input — dengan tarif lebih murah tetapi volume jauh lebih tinggi — meliputi:
- System prompt. Instruksi harness Claude Code sendiri, ditambah
CLAUDE.mddan file memori Anda, yang dimuat saat awal sesi dan hadir pada setiap permintaan berikutnya. - Definisi tool. Setiap skema tool yang dapat dipanggil oleh agen. Setiap MCP server yang Anda hubungkan menambah overhead tetap ini — meskipun Claude Code sekarang menunda definisi tool MCP secara penuh secara default, sehingga hanya nama tool yang ada dalam konteks hingga tool tersebut digunakan pertama kali, yang mengurangi tetapi tidak menghilangkan biaya.
- Setiap file yang dibaca agen.
Readdari file sumber memasukkan seluruh isi file ke dalam konteks, dan file tersebut tetap ada di sana. - Setiap hasil tool. Hasil eksekusi test, output grep, teks terminal, log build — semuanya kembali sebagai token input. Test suite yang gagal dan mencetak 8.000 baris baru saja menagih Anda seharga sebuah buku kecil.
- Seluruh percakapan sejauh ini, dikirim ulang pada setiap giliran. Bagian ini memerlukan penjelasan tersendiri.
Mengapa biaya pengiriman ulang membengkak
Claude API bersifat stateless. API ini tidak mengingat sesi Anda di antara permintaan — tidak ada yang menyimpannya. Jadi pada giliran ke-2, klien mengirimkan giliran ke-1 ditambah responsnya ditambah pesan baru Anda. Pada giliran ke-50, klien mengirimkan kembali giliran 1 sampai 49 — setiap pembacaan file, setiap hasil tool, setiap diff — ditambah giliran ke-50. Model membaca ulang seluruh transkrip setiap saat, dan setiap token yang dibaca ulang tersebut dikenakan biaya input.
Konsekuensinya: biaya per giliran tumbuh secara linear seiring panjangnya sesi, dan total biaya sesi tumbuh secara kuadratik. Sebuah pesan yang berbiaya setengah sen pada giliran ke-3 dapat berbiaya dua puluh kali lipat pada giliran ke-60 untuk pertanyaan satu baris yang sama, karena pesan tersebut membawa beban enam puluh giliran. Ini adalah fakta utama yang menjelaskan sebagian besar tiket "mengapa tagihan saya sangat tinggi", dan ini bukan keanehan Claude — setiap produk LLM yang terasa stateful sebenarnya adalah API stateless dengan loop pengiriman ulang di dalamnya.
Output: apa yang Anda lihat, ditambah proses berpikir yang tidak terlihat
Token output adalah yang paling mahal — lima kali lipat dari tarif input pada lini produk saat ini ($5/$25 pada Opus 4.8, $3/$15 pada Sonnet 5, $1/$5 pada Haiku 4.5, per Juli 2026). Output mencakup teks dan kode yang dihasilkan Claude, serta thinking tokens: penalaran internal yang dilakukan model sebelum menjawab. Ada dua fakta penting di sini. Thinking ditagih dengan tarif output dan memakan kuota max_tokens — respons API akan berhenti jika mencapai stop_reason: "max_tokens", dan jawaban yang terpotong sering kali berarti proses thinking telah menghabiskan anggaran sebelum jawaban selesai dibuat. Selain itu, pada model saat ini, ringkasan penalaran mungkin tidak ditampilkan sama sekali — Opus 4.8, Sonnet 5, dan Fable 5 menghapus tampilan tersebut secara default — namun proses thinking tetap terjadi dan tetap ditagih. Sesuatu yang tidak terlihat bukan berarti gratis.
Claude Code mengaktifkan extended thinking secara default karena terbukti meningkatkan kualitas pekerjaan multi-langkah, dan anggaran default dapat mencapai puluhan ribu token per permintaan. Pada tugas yang lebih sederhana, Anda dapat menurunkannya: kurangi tingkat upaya dengan /effort atau di /model, atau sesuaikan pengaturan thinking di /config. Ini adalah pengontrol biaya yang nyata, bukan sekadar asumsi.
Prompt caching mengubah perhitungan biaya
Prompt caching adalah alasan mengapa pengulangan pengiriman data tidak menghabiskan biaya besar. API dapat menyimpan cache prefix yang stabil dari prompt Anda — system prompt, definisi tool, riwayat percakapan — dan pada permintaan berikutnya menyajikannya dengan harga jauh lebih murah. Per Juli 2026, pengalinya adalah: cache write berbiaya 1.25× dari tarif input dasar (2× untuk varian 1-jam), dan cache read berbiaya 0.1×. Write adalah layanan premium; read memberikan diskon 90%. Satu kali read sudah lebih dari cukup untuk menutupi biaya tambahan write selama 5 menit.
Claude Code mengelola caching untuk Anda, dan dalam sesi yang stabil, hampir semua pengiriman ulang data besar tersebut diambil dari cache. Namun, cache default bertahan selama lima menit sejak penggunaan terakhir. Jika Anda pergi minum kopi terlalu lama, lalu kembali dan mengirim pesan — cache telah kedaluwarsa, dan seluruh prefix yang terkumpul akan ditulis ulang pada tarif 1.25× alih-alih dibaca pada tarif 0.1×. Pada sesi 150K-token, satu kali proses cold turn tersebut memakan biaya lebih besar daripada belasan warm turns. Ini adalah hasil kontra-intuitif yang perlu dipahami: ritme diam-lalu-lanjut dapat memakan biaya lebih besar daripada kerja terus-menerus, karena setiap celah waktu diam setelah TTL mengubah turn berikutnya dari read yang murah menjadi re-write yang mahal. Bekerjalah dalam sesi; jangan mengirim pesan satu per satu setiap sepuluh menit pada sesi yang besar.
Jika Anda memanggil API dari aplikasi Anda sendiri pada VPS, Anda tidak mendapatkan fitur ini secara gratis — dan kesalahan umum yang sering terjadi adalah memasukkan timestamp atau request ID ke dalam system prompt, yang mengubah byte prefix pada setiap permintaan dan menonaktifkan caching secara diam-diam. Tandanya adalah usage.cache_read_input_tokens tetap berada di angka nol pada panggilan yang terlihat identik.
Rumus, dengan contoh perhitungan
Abaikan pernyataan yang menyebutkan "satu sesi berbiaya $X." Biaya sesi bervariasi hingga dua orde magnitudo. Rumus yang berlaku adalah:
turn cost = (uncached input x base input price)
+ (cache writes x 1.25 x base input price)
+ (cache reads x 0.10 x base input price)
+ (output incl. thinking x output price)
session cost = sum over all turnsContoh perhitungan pada Claude Opus 4.8, yang per Juli 2026 berbiaya $5 per satu juta token input dan $25 per satu juta token output. Satu giliran (turn) di tengah sesi dengan 80.000 token konteks terakumulasi: 75.000 dibaca dari cache, 3.000 ditulis baru, 2.000 input baru tanpa cache, 1.500 token output termasuk proses berpikir (thinking).
- Cache reads: 75.000 × $0.50/M = $0.0375
- Cache writes: 3.000 × $6.25/M = $0.019
- Uncached input: 2.000 × $5/M = $0.010
- Output: 1.500 × $25/M = $0.0375
Sekitar $0.10 per giliran; lima puluh giliran serupa akan memakan biaya sekitar $5. Sekarang bandingkan dengan giliran yang sama setelah cache kedaluwarsa: seluruh 80.000 token ditulis ulang dengan harga $6.25/M menjadi $0.50 sebelum output — kira-kira lima kali lipat dari total biaya giliran saat cache aktif, untuk beban kerja yang identik. Selisih tersebut adalah inti dari fungsi caching dalam satu angka.
Untuk kalibrasi, bukan prediksi: angka resmi Anthropic untuk penerapan Claude Code tingkat enterprise, per Juli 2026, rata-rata sekitar $13 per pengembang per hari aktif — $150–250 per bulan — dengan 90% pengguna tetap di bawah $30 per hari. Biaya Anda bergantung pada pilihan model, kebersihan sesi (session hygiene), dan ukuran codebase, itulah sebabnya variabel di bawah ini sangat penting.
Melihat penggunaan Anda
Di Claude Code, perintahnya adalah /usage (/cost masih berfungsi — itu adalah alias). Blok Session di bagian atas menampilkan statistik token dan estimasi biaya yang dihitung secara lokal untuk sesi saat ini; pada paket langganan, layar yang sama menampilkan bar batas paket Anda dan rincian penggunaan terbaru berdasarkan skill, subagent, plugin, dan server MCP individu. Untuk penagihan resmi pada akun API, halaman penggunaan di Claude Console adalah sumber data utama — angka pada CLI hanyalah sebuah estimasi. /context menampilkan kisi berwarna tentang apa yang mengisi context window — prompt sistem, tools, definisi MCP, file, riwayat — dan merupakan cara tercepat untuk mendeteksi CLAUDE.md yang membengkak atau server MCP yang terlalu banyak mengirim pesan; gunakan all untuk menampilkan rincian lengkap per item.
Melalui API, setiap respons memberitahu Anda secara tepat apa yang terjadi:
response = client.messages.create(model="claude-sonnet-5", max_tokens=2048,
messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
f"read={u.cache_read_input_tokens} output={u.output_tokens}")Perhatikan bahwa input_tokens hanyalah sisa yang tidak tersimpan di cache — ukuran prompt yang sebenarnya adalah jumlah dari ketiga bidang input tersebut. Agent yang berjalan selama satu jam dengan tampilan input_tokens: 4000 tidaklah murah; 200.000 token lainnya diambil dari cache. Untuk melakukan estimasi sebelum mengirim, gunakan endpoint penghitung token — pemanggilan ini gratis, memiliki batas rate limit sendiri, dan menghitung menggunakan tokenizer dari model apa pun yang Anda tentukan (anggap hasilnya sebagai estimasi yang mendekati; penagihan mencerminkan permintaan yang sebenarnya):
count = client.messages.count_tokens(model="claude-sonnet-5",
messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)Jangan pernah tiktoken, karena alasan di atas.
Paket langganan versus pay-as-you-go
Mekanisme dalam panduan ini identik di mana saja; hanya metode pembayarannya yang berbeda. Dengan API key, Anthropic menagih secara pay-as-you-go, per token, sesuai tarif yang dipublikasikan — setiap angka di atas adalah uang sungguhan. Pada langganan Claude (Pro, Max, Team, Enterprise), penggunaan Claude Code menggunakan kuota yang termasuk dalam paket Anda: per Juli 2026, kuota tersebut berupa jendela sesi lima jam yang bergulir ditambah jendela mingguan, yang digunakan bersama untuk berbagai model dan chat claude.ai, dan angka /usage dolar hanyalah informasi, bukan tagihan. Jika kuota jendela habis, Anda akan melihat pesan "You've hit your session limit" atau "You've hit your weekly limit" beserta waktu reset — dan mengganti model dengan /model tidak akan memulihkan akses, karena kuota jendela digunakan bersama di seluruh model. Paket dapat mengaktifkan kredit penggunaan secara opsional, yang dikelola dengan /usage-credits, untuk membeli penggunaan melebihi batas. Saya sengaja tidak mencantumkan kuota paket: angka tersebut adalah yang paling sering berubah dalam topik ini, jadi silakan periksa claude.com/pricing dan bar /usage Anda sendiri. Mekanisme token tetap berlaku pada langganan — sesi yang boros akan menghabiskan kuota jendela Anda sama seperti menghabiskan uang. Untuk sisi langganan, lihat paket Claude mana yang sesuai dengan penggunaan Anda.
Tuas yang benar-benar efektif
- Batasi cakupan pembacaan agen. "Perbaiki bug validasi di
auth.py" hanya membaca satu file; "tingkatkan codebase ini" membaca empat puluh file. JagaCLAUDE.mdtetap ringkas — karena dimuat ke setiap sesi, batasi hanya pada hal esensial — dan pindahkan instruksi spesifik alur kerja ke dalam skills yang dimuat saat dibutuhkan. - Jelas dan ringkas. Gunakan
/clearuntuk tugas yang tidak terkait — konteks usang akan dikirim ulang, dan ditagih ulang, pada setiap pesan berikutnya. Dalam satu tugas panjang,/compact Focus on the failing tests and the diffmeringkas riwayat agar Anda terhindar dari peningkatan biaya eksponensial. - Pilih ukuran model yang tepat. Sonnet menangani sebagian besar pengodean dengan harga $2/$10 per satu juta token pada harga perkenalan per Juli 2026 ($3/$15 harga normal, dibandingkan Opus pada $5/$25), dan Haiku pada $1/$5 adalah alat yang tepat untuk pekerjaan subagent mekanis seperti triase log.
/modeldapat berpindah di tengah sesi. - Filter output yang terlalu panjang. Sebuah hook yang melakukan grep pada hasil uji coba hingga hanya menyisakan kegagalan sebelum Claude melihatnya dapat mengubah 20.000 token hasil tool menjadi 300 token, dan ini dilakukan pada setiap pengiriman ulang giliran tersebut di masa mendatang.
- Gunakan batch untuk tugas non-interaktif. Untuk pipeline API Anda sendiri — klasifikasi, tinjauan massal, pekerjaan rutin malam hari — Batches API menjalankan model yang sama dengan diskon 50% sebagai ganti pengiriman asinkron.
- Perhatikan waktu cache. Bekerjalah dalam rentang waktu yang berkelanjutan. Sesi Claude Code dalam tmux di VPS yang terpisah tidak memakan biaya saat menganggur — token hanya digunakan saat giliran berjalan — tetapi cache yang hangat adalah hal yang hilang saat waktu menganggur, dan giliran berikutnya akan membayar biaya penulisan ulang.
FAQ
Berapa banyak token yang digunakan dalam sesi coding di Claude Code?
Tidak ada angka pasti — satu giliran (turn) di tengah sesi biasanya membawa puluhan ribu token prompt setelah file dan riwayat menumpuk, dan satu sesi kerja bisa mencapai jutaan token, dengan sebagian besar dilayani dari cache pada sepersepuluh tarif dasar. Sebagai kalibrasi, angka perusahaan yang diterbitkan Anthropic per Juli 2026 rata-rata sekitar $13 per pengembang per hari aktif, dengan 90% pengguna di bawah $30. Jalankan /usage pada sesi Anda sendiri; mengamati prosesnya selama lima menit lebih akurat daripada rata-rata yang diterbitkan.
Apakah thinking tokens tetap berbayar meskipun tidak terlihat?
Ya. Thinking tokens ditagih sebagai output tokens — dengan tarif yang lebih mahal — dan memengaruhi max_tokens. Model saat ini tetap menagihnya meskipun antarmuka tidak menampilkan ringkasan penalaran. Jika respons terpotong dengan stop_reason: "max_tokens" sebelum jawaban terlihat selesai, kemungkinan besar thinking telah menghabiskan kuota. Di Claude Code, turunkan tingkat upaya dengan /effort untuk tugas yang tidak memerlukan penalaran mendalam.
Mengapa sesi Claude Code yang panjang menjadi lebih mahal per pesan?
Karena API bersifat stateless: setiap giliran mengirim ulang seluruh percakapan — setiap pembacaan file, hasil tool, dan pertukaran sebelumnya — sebagai input yang ditagih, sehingga giliran ke-50 membawa beban dari giliran 1 hingga 49. Prompt caching melayani prefix yang berulang dengan harga input dasar sekitar sepersepuluh, tetapi prefix tersebut terus bertambah besar, dan celah waktu setelah cache TTL berakhir akan mengubah giliran berikutnya menjadi penulisan ulang dengan harga penuh. /compact memperkecil riwayat; /clear meresetnya.
Bagaimana cara memeriksa penggunaan token dan biaya Claude saya?
Di Claude Code, /usage menampilkan statistik token sesi, estimasi biaya lokal, dan bar batas paket pada langganan (/cost adalah alias); /context menampilkan apa yang mengisi jendela tersebut. Untuk penagihan API yang resmi, gunakan halaman penggunaan di Claude Console. Dalam kode Anda sendiri, baca response.usage — menjumlahkan input_tokens, cache_creation_input_tokens, dan cache_read_input_tokens akan memberikan ukuran prompt yang sebenarnya — dan lakukan estimasi sebelumnya dengan endpoint count_tokens, jangan pernah dengan tiktoken.