Pelacakan Biaya SDK
Claude Agent SDK menyediakan informasi penggunaan token yang detail untuk setiap interaksi dengan Claude. Panduan ini menjelaskan cara melacak biaya dengan benar dan memahami pelaporan penggunaan, terutama ketika menangani penggunaan tool paralel dan percakapan multi-langkah. Untuk dokumentasi API lengkap, lihat referensi TypeScript SDK.Memahami Penggunaan Token
Ketika Claude memproses permintaan, ia melaporkan penggunaan token pada tingkat pesan. Data penggunaan ini penting untuk melacak biaya dan menagih pengguna dengan tepat.Konsep Kunci
- Langkah: Langkah adalah pasangan permintaan/respons tunggal antara aplikasi Anda dan Claude
- Pesan: Pesan individual dalam langkah (teks, penggunaan tool, hasil tool)
- Penggunaan: Data konsumsi token yang dilampirkan pada pesan asisten
Struktur Pelaporan Penggunaan
Penggunaan Tool Tunggal vs Paralel
Ketika Claude mengeksekusi tool, pelaporan penggunaan berbeda berdasarkan apakah tool dieksekusi secara berurutan atau paralel:Contoh Alur Pesan
Berikut cara pesan dan penggunaan dilaporkan dalam percakapan multi-langkah yang khas:Aturan Penggunaan Penting
1. ID Sama = Penggunaan Sama
Semua pesan dengan fieldid
yang sama melaporkan penggunaan yang identik. Ketika Claude mengirim beberapa pesan dalam giliran yang sama (misalnya, teks + penggunaan tool), mereka berbagi ID pesan dan data penggunaan yang sama.
2. Tagih Sekali Per Langkah
Anda hanya boleh menagih pengguna sekali per langkah, bukan untuk setiap pesan individual. Ketika Anda melihat beberapa pesan asisten dengan ID yang sama, gunakan penggunaan dari salah satu dari mereka.3. Pesan Hasil Berisi Penggunaan Kumulatif
Pesanresult
akhir berisi total penggunaan kumulatif dari semua langkah dalam percakapan:
Implementasi: Sistem Pelacakan Biaya
Berikut contoh lengkap implementasi sistem pelacakan biaya:Menangani Kasus Tepi
Perbedaan Token Output
Dalam kasus langka, Anda mungkin mengamati nilaioutput_tokens
yang berbeda untuk pesan dengan ID yang sama. Ketika ini terjadi:
- Gunakan nilai tertinggi - Pesan terakhir dalam grup biasanya berisi total yang akurat
- Verifikasi terhadap total biaya -
total_cost_usd
dalam pesan hasil adalah otoritatif - Laporkan inkonsistensi - Ajukan masalah di repositori GitHub Claude Code
Pelacakan Token Cache
Ketika menggunakan prompt caching, lacak jenis token ini secara terpisah:Praktik Terbaik
- Gunakan ID Pesan untuk Deduplikasi: Selalu lacak ID pesan yang diproses untuk menghindari penagihan ganda
- Pantau Pesan Hasil: Hasil akhir berisi penggunaan kumulatif yang otoritatif
- Implementasikan Logging: Catat semua data penggunaan untuk audit dan debugging
- Tangani Kegagalan dengan Baik: Lacak penggunaan parsial bahkan jika percakapan gagal
- Pertimbangkan Streaming: Untuk respons streaming, akumulasi penggunaan saat pesan tiba
Referensi Field Penggunaan
Setiap objek penggunaan berisi:input_tokens
: Token input dasar yang diprosesoutput_tokens
: Token yang dihasilkan dalam responscache_creation_input_tokens
: Token yang digunakan untuk membuat entri cachecache_read_input_tokens
: Token yang dibaca dari cacheservice_tier
: Tingkat layanan yang digunakan (misalnya, “standard”)total_cost_usd
: Total biaya dalam USD (hanya dalam pesan hasil)
Contoh: Membangun Dashboard Penagihan
Berikut cara mengagregasi data penggunaan untuk dashboard penagihan:Dokumentasi Terkait
- Referensi TypeScript SDK - Dokumentasi API lengkap
- Ikhtisar SDK - Memulai dengan SDK
- Izin SDK - Mengelola izin tool