Saya membuat alat proxy yang bisa mengetahui bagaimana Claude Code mengirim Claude.md ke server, dan bagaimana teks asli skill dikirim ke server.
(github.com/kangraemin)Saat bekerja dengan Claude Code, saya tiba-tiba penasaran: bagaimana server Claude mengenali data seperti file CLAUDE.md, skill, serta rules / memory?
Jadi saya membuat sendiri proxy MITM dan sebuah alat untuk melihat trafiknya.
Prinsipnya adalah mengubah baseURL saat menjalankan Claude Code, lalu menangkap dan menampilkan komunikasi HTTP yang terjadi di dalam Claude Code.
Berikut hal-hal yang bisa diketahui dengan alat ini.
Satu kata hello saja mengirim tambahan 12KB
- Ini adalah kondisi saat mengirim
hellotepat setelah Claude Code dinyalakan. content[0]berisi daftar skill ~2KB,content[1]berisi CLAUDE.md ~10KB, dancontent[2]berisi teks input sebenarnya, yaitu hello.- Artinya, jika CLAUDE.md berisi 500 baris, seluruh isinya akan dikirim ulang pada setiap request, dan inilah alasan CLAUDE.md perlu dijaga tetap ringkas.
Semakin panjang percakapan, setiap request membesar seperti bola salju
- Seluruh
messages[]dikirim ulang pada setiap request. — giliran ke-1 15KB, giliran ke-10 200KB, giliran ke-30 1MB+ - Bahkan jawaban yang diberikan Claude juga ikut masuk sebagai request message.
- Artinya, jika context window tidak dibersihkan secara berkala dengan
/clear, bisa terjadi pemborosan token, dan konteks awal akan terus menempel bersama konteks berikutnya sehingga berpotensi menurunkan performa.
Tool MCP dimuat hanya saat diperlukan
- Awalnya hanya N tool bawaan yang dimuat (berbeda tergantung versi Claude), dan ketika perlu menggunakan tool MCP, server akan memanggil
ToolSearchuntuk mencari tool yang akan dipakai. - Setelah itu, pada setiap pemanggilan, tool yang ditemukan tadi akan ditambahkan dan dipanggil.
- Dengan kata lain, karena MCP Tool dimuat secara dinamis, tool MCP yang belum digunakan ternyata tidak menimbulkan konsumsi token yang besar.
Sub-agent berjalan dalam konteks yang sepenuhnya terisolasi
- Sub-agent seperti membuka sesi baru tanpa riwayat percakapan induk sama sekali.
- Di Inspector, Anda bisa membandingkan langsung dua pemanggilan, induk dan sub-agent, secara berdampingan.
Satu lampiran gambar menambah ratusan KB
- Saat melampirkan tangkapan layar, gambar akan di-encode dalam base64 lalu disisipkan secara inline ke body JSON.
- Anda bisa memeriksa secara real time seberapa besar gambar memperbesar request.
Anda dapat menginstalnya dengan perintah berikut.
brew install --cask kangraemin/tap/claude-inspector && sleep 2 && open -a "Claude Inspector"
GitHub: https://github.com/kangraemin/claude-inspector
Saat ini masih khusus untuk macOS dan karena ini versi awal, saya akan sangat terbuka menerima usulan perbaikan.
Silakan dicoba, semoga bermanfaat untuk belajar. Terima kasih!
4 komentar
Di tulisan suspiciously precise floats, or,
how I got Claude's real limits, ada analisis bahwa berbeda dari biaya API, pada paket langganan tidak ada biaya pembacaan cache. Seiring sesi makin panjang, rasanya selisih antara biaya yang dihitung dan biaya sebenarnya juga bisa menjadi agak besar.
Oh .... ini tulisan yang sama sekali belum pernah saya tahu ... akan saya cek sekali! Terima kasih
https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
Saya memeriksa prompt dan alat apa saja yang digunakan lewat ini, sepertinya saya juga harus mencoba yang Anda buat.
Terima kasih sudah membagikannya. :+1:
Selain itu, setelah permintaan dikirim, Anda bisa melihat jumlah token yang digunakan untuk request tersebut di dalam response!
Model: claude-sonnet-4-6
Ukuran request: 68.9 KB
"usage": {
"input_tokens": 3,
"cache_creation_input_tokens": 12394,
"cache_read_input_tokens": 6499,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 12394
},
"output_tokens": 74,
"service_tier": "standard",
"inference_geo": "not_available"
}
Selain itu, saya juga sudah menghitung biaya per request dengan menerapkan harga per model, jadi semoga banyak yang menggunakannya haha
Baca cache: 6.5K tok × $0.3/MTok = $0.0019
Tulis cache: 12.4K tok × $3.75/MTok = $0.0465
Input non-cache: 3 tok × $3/MTok = $0.0000
Output: 74 tok × $15/MTok = $0.0011
Total: $0.0495
Rasio hit cache: 34%