2 poin oleh GN⁺ 19 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • File konfigurasi untuk mengurangi pemborosan token output dengan menghapus pembuka, penutup, dan pengulangan yang tidak perlu pada model Claude
  • Menambahkan CLAUDE.md di root proyek akan langsung berlaku tanpa modifikasi kode, dengan efek penghematan token rata-rata 63%
  • Respons dipadatkan melalui 12 aturan seperti output hanya ASCII, larangan menebak, dan membatasi jawaban hanya dalam cakupan permintaan
  • Penghematan biaya sangat besar di lingkungan dengan output tinggi seperti pipeline otomatisasi, pembuatan kode, dan agent loop, tetapi bisa tidak efisien untuk kueri tunggal
  • Dirilis dengan lisensi MIT, sehingga memungkinkan pengelolaan aturan berbasis profil per tim atau per tugas serta kontribusi komunitas

Gambaran masalah

  • Di Claude Code, setiap kata yang dihasilkan menimbulkan biaya token, dan dalam pengaturan default pengguna sulit mengendalikan format respons
  • Secara default sering disertakan pembuka sopan seperti "Sure!", "Great question!", penutup formal seperti "I hope this helps!", pengulangan pertanyaan, dan saran yang tidak perlu
  • Selain itu, model juga menggunakan karakter yang bisa merusak parser seperti em dash, smart quotes, dan karakter Unicode, serta mencakup abstraksi kode berlebihan atau ungkapan persetujuan yang keliru
  • Akibatnya terjadi pemborosan token dengan nilai informasi nyata yang nyaris tidak ada

Solusi

  • Tambahkan file CLAUDE.md di root proyek, dan Claude Code akan membacanya secara otomatis untuk langsung mengubah perilaku output
  • Bekerja tanpa modifikasi kode atau konfigurasi tambahan, dan mengurangi penggunaan token output sekitar 63%
  • Contoh struktur
    your-project/
    └── CLAUDE.md
    

Kapan menguntungkan dan kapan tidak

  • Menguntungkan

    • Pipeline otomatisasi, agent loop, dan pembuatan kode untuk pekerjaan dengan volume output tinggi

      • Saat tugas yang berulang dan terstruktur membuat respons default Claude yang bertele-tele menumpuk
      • Lingkungan tim yang membutuhkan format output konsisten antar sesi
  • Tidak menguntungkan

    • Untuk kueri pendek tunggal atau penggunaan sekali saja, CLAUDE.md justru menambah biaya karena selalu memakan token input
    • Tidak efektif untuk pemecahan masalah mendalam seperti perbaikan halusinasi atau koreksi kesalahan arsitektural
    • Dalam pipeline yang membuka sesi baru untuk setiap tugas, manfaat penghematan berbasis sesi persisten hilang
    • Untuk keandalan parser skala besar, mode JSON atau tool berbasis skema lebih cocok
    • Pada pekerjaan eksploratif atau berfokus pada diskusi, pendekatan ini bisa terasa membatasi
  • Titik kompromi nyata

    • Karena CLAUDE.md sendiri mengonsumsi token input, keuntungan bersih hanya muncul jika volume output cukup besar
    • Pada penggunaan berkapasitas rendah, biaya bisa lebih besar daripada penghematannya

Hasil benchmark

  • Diuji dengan 5 prompt yang sama
    Tes Default Optimal Tingkat pengurangan
    Penjelasan async/await 180 kata 65 kata 64%
    Code review 120 kata 30 kata 75%
    Penjelasan REST API 110 kata 55 kata 50%
    Perbaikan halusinasi 55 kata 20 kata 64%
    Total 465 kata 170 kata 63%
  • Sekitar 295 kata dihemat, tanpa kehilangan informasi
  • Namun ini hanya indikator arah, tanpa kontrol statistik atau eksperimen berulang
  • Efek penghematan bersih hanya muncul saat output besar
  • Contoh penghematan pada penggunaan skala besar

    Penggunaan Token yang dihemat per hari Penghematan per bulan (berdasarkan Sonnet)
    100 kali/hari sekitar 9,600 sekitar $0.86
    1,000 kali/hari sekitar 96,000 sekitar $8.64
    3 proyek sekitar 288,000 sekitar $25.92

Contoh perbandingan sebelum dan sesudah

  • Respons code review default (120 kata)

    • Berisi pujian, penjelasan, dan saran yang bertele-tele
  • Setelah menerapkan CLAUDE.md (30 kata)

    • Bentuk seperti "Bug: <= causes an off-by-one error..." yang hanya menyampaikan inti, dengan penghematan token 75%

Hal yang diubah

Nomor Masalah Cara perbaikan
1 Pembuka yang menjilat Dilarang - mulai menjawab dari baris pertama
2 Penutup kosong Dilarang - hapus "I hope this helps!"
3 Pengulangan pertanyaan Dilarang - langsung eksekusi
4 em dash, smart quotes, Unicode Paksa output hanya ASCII
5 Frasa "As an AI..." Dilarang
6 Disclaimer yang tidak perlu Hanya diizinkan bila ada risiko keamanan nyata
7 Saran di luar permintaan Dilarang - kerjakan hanya dalam cakupan permintaan
8 Abstraksi kode berlebihan Hanya kode kerja paling sederhana yang diizinkan
9 Halusinasi atas fakta yang tidak pasti Nyatakan "tidak tahu", dilarang menebak
10 Mengabaikan koreksi pengguna Perubahan pengguna ditetapkan sebagai fakta acuan sesi
11 Membaca file berulang Dilarang membaca ulang file yang sama
12 Perluasan cakupan Dilarang mengubah kode di luar permintaan

Tips komunitas

  • Aturan yang ditulis berdasarkan pola kegagalan nyata adalah yang paling efektif
    • Contoh: jika Claude menelan error pipeline -> tambahkan aturan "jika suatu tahap gagal, hentikan segera dan laporkan seluruh error beserta traceback"
  • File CLAUDE.md dapat digabung secara hierarkis

    • Global (~/.claude/CLAUDE.md): aturan umum (tone, ASCII, dll.)
    • Root proyek: batasan khusus proyek (mis. dilarang mengubah /config)
    • Direktori bawah: aturan detail per tugas
    • Dengan ini, aturan bisa dikelola terpisah dan file tidak membengkak

Konfigurasi profil

  • Tingkat kompresi yang berbeda dapat dipilih menurut jenis proyek
    Profil Cocok untuk
    CLAUDE.md Umum
    profiles/CLAUDE.coding.md Pengembangan, code review, debugging
    profiles/CLAUDE.agents.md Otomatisasi, sistem multi-agent
    profiles/CLAUDE.analysis.md Analisis data, riset, pelaporan

Cara penggunaan

Aturan override

  • Perintah pengguna selalu diprioritaskan

    • Jika pengguna secara eksplisit meminta hal seperti "jelaskan secara rinci", Claude akan tetap mengikutinya
    • CLAUDE.md tidak menekan maksud pengguna

Cara berkontribusi

  • Jika menemukan perilaku yang bisa diperbaiki, buat Issue
    1. Perilaku default yang bermasalah
    2. Prompt yang memicunya
    3. Aturan perbaikan yang diusulkan
  • Saran komunitas akan diterapkan pada versi berikutnya dan kontributor akan mendapat credit

Verifikasi dan referensi

  • Hasil benchmark lengkap tersedia di BENCHMARK.md
  • Proyek ini dibuat berdasarkan kasus keluhan nyata dari komunitas Claude
  • Termasuk banyak sumber referensi terkait (GitHub Issues, The Register, DEV Community, Medium, Anthropic Docs, dll.)

Lisensi

  • Lisensi MIT, bebas digunakan, dimodifikasi, dan didistribusikan

1 komentar

 
GN⁺ 19 hari lalu
Komentar Hacker News
  • Benchmark di sini menurut saya bias ke tugas penjelasan tunggal, dan kurang cocok untuk agent loop seperti generasi kode
    Saat proyek sedang berjalan, saya penasaran apakah penjelasan Claude yang panjang justru membantu menjaga konsistensi dan fokus sesi
    Aturan “jangan ulangi konteks yang redundan” memang bagus, tapi saya justru merasa memakai lebih banyak token penalaran yang berorientasi tujuan lebih membantu
    Masih belum cukup data apakah pendekatan ini benar-benar efektif untuk coding bergaya agen

    • Saya membuat skill bernama /handoff agar otomatis menghasilkan laporan Markdown sebelum sesi mencapai batas kompresi
      File ini berfungsi sebagai catatan permanen sesi sekaligus “laporan harian”, jadi enak untuk dirujuk lagi atau dibagikan ke manajer
      Untuk menjaga konsistensi jangka panjang, saya rasa pendekatan dokumentasi ringkasan seperti ini lebih baik
      Cara instalasinya saya taruh di sini
    • Berkat aturan “jangan jelaskan apa yang akan dilakukan, langsung lakukan saja”, saya bisa langsung sadar saat Claude mulai mengarah ke jalur yang salah dan memperbaiki prompt-nya
    • Saya tidak paham kenapa orang tidak memasukkan aturan untuk menekan bahasa yang tidak perlu ke dalam CLAUDE.md
      Menurut riset terbaru, jalur penalaran redundan (self-consistency) dan model ensembling membantu meningkatkan performa
    • Scaling waktu penalaran juga penting. Memakai lebih banyak token saat mencari jawaban justru bisa meningkatkan kualitas
      Terlalu terobsesi pada panjang minimum malah bertentangan dengan tujuan pelatihan RL
    • Saya sudah menjalankan tes coding dengan berbagai pengaturan, dan pendekatan ini secara umum menunjukkan performa lebih rendah dalam 30 kali percobaan
      Kode pengujiannya ada di sini
  • Planning mode di Claude Code tidak bekerja dengan baik, jadi saya agak skeptis dengan pendekatan file .md
    Menurut saya planning mode seharusnya cukup menjadi fitur untuk mematikan penulisan file

  • Aturan “jawaban selalu di baris pertama, penalaran setelahnya” mengabaikan sifat autoregresif LLM
    Jika jawaban dipatok lebih dulu, ada risiko penalaran setelahnya jatuh ke bias konfirmasi

    • Idenya menarik, tapi implementasinya terasa keliru
      Pendekatan kompresi penalaran seperti di paper Compressed Chain of Thought (CCoT) tampaknya lebih efisien
      Ada sedikit penurunan kualitas, tapi ada keuntungan dari sisi kecepatan dan biaya (tautan paper)
    • Untuk sesi penting, saya menambahkan prompt tinjauan kedua seperti “sanity check” agar rencana awal diperiksa ulang
    • Reasoning LLM bisa menghasilkan ribuan token penalaran secara internal sebelum menulis jawaban
      Jadi aturan “jawaban dulu” hanya mengubah urutan output, bukan urutan penalaran yang sebenarnya
    • Claude Code tidak punya opsi “no thinking”, dan minimal mode low thinking adalah default
  • Benchmark ini tidak berarti karena hanya membandingkan jumlah token output tanpa mempertimbangkan akurasi
    Dengan prompt seperti “selalu jawab dengan satu kata” pun skor bisa mudah dinaikkan
    Aturan seperti “kalau pengguna menunjukkan kesalahan faktual, selalu terima saja” itu berbahaya

    • Orang bilang “prompt engineering kembali?”, tapi selama 1–2 tahun terakhir meta-prompt hampir tidak memberi peningkatan berarti
    • Aturan seperti “jangan membuat kesalahan” jelas tidak realistis
  • Menurut saya solusi jenis serba guna seperti ini kemungkinan cepat kehilangan daya tarik atau diserap ke CC
    Terlalu melelahkan kalau harus sering mengubah workflow
    Pengaturan default Claude Code saat ini terasa paling stabil

    • Saya juga merasa mirip. Menjaga setelan vanilla tampaknya lebih baik untuk jangka panjang
      Skills bagus, tapi saya hampir tidak pernah memakai MCP atau worktree
    • Anthropic sendiri sudah mengoptimalkan lewat dogfooding internal, jadi kemungkinan besar pengaturan default memang yang paling efisien
      CLAUDE.md sudah bekerja cukup baik kalau diperlakukan seperti memo draf untuk rekan kerja yang pintar
    • Saya setuju dengan pendapat “pada akhirnya akan diintegrasikan ke CC”
      Kalau Anthropic sendiri belum memasukkannya, mungkin karena peningkatan performanya belum terbukti
    • “Lapisan peningkatan Claude” seperti ini pada akhirnya memicu ketidakstabilan workflow
      Walau sempat berguna, biasanya cepat diserap ke fitur bawaan atau menghilang
    • Claude sendiri juga terus menerima pembaruan pada fitur optimasi md
      Jadi sekalipun memakai skrip eksperimental seperti ini, cukup sering memperbarui file md agar tetap mengikuti kondisi terbaru
  • Untuk pertanyaan “kalau file dimuat ke konteks di setiap pesan, bukankah itu pemborosan token?”,
    saya rasa fitur personalization Claude sudah menjalankan peran itu
    Saya menganggap keringkasan hanya bermakna jika memang meningkatkan kualitas
    Alat terkait yang saya lihat di Reddit juga menarik:
    Headroom mengompresi konteks 34%,
    RTK mengompresi output CLI 60–90%,
    MemStack menyediakan memori persisten untuk mencegah pembacaan ulang file yang tidak perlu

  • Saya merasa upaya seperti ini justru lahir dari salah paham terhadap prinsip dasar LLM
    “Jawaban dulu, penalaran belakangan” mengabaikan arsitektur autoregresif transformer
    Karena pelatihan RL sudah menyeimbangkan panjang optimal dan kualitas, modifikasi berlebihan bisa berujung pada penurunan performa

    • Jika panjang respons dipaksa terlalu pendek, kualitas dan konsistensi penalaran akan turun, dan kemungkinan halusinasi meningkat
      Model dilatih untuk melakukan penalaran multi-langkah berbasis bahasa Inggris
    • Aturan “jawaban dulu” tidak mengubah urutan penalaran yang sebenarnya. Model sudah menyelesaikan proses berpikir internal sebelum mengeluarkan jawaban
    • Penulisnya tampaknya bukan tidak paham transformer, melainkan hanya mencoba hack untuk menghemat biaya token
      Ini pendekatan eksperimental yang lebih mengejar efisiensi daripada kualitas
    • Sebagian besar API sudah menyediakan opsi kontrol panjang COT. Menurut saya lebih baik memakai pengaturan API daripada trik semacam ini
    • Pada akhirnya saya paling percaya pada alat buatan Anthropic.
      Karena itu saya hanya memakai tool 1st-party, bukan pihak ketiga seperti OpenCode
  • Seperti yang saya lihat di video Karpathy, ada kecenderungan akurasi meningkat saat model memakai lebih banyak token
    Pendekatan ini justru bisa membuat model jadi lebih buruk

    • Namun kalau tujuannya hanya mengurangi output bernilai rendah seperti kalimat menjilat atau noise format, mungkin masih masuk akal
      Tapi kalau model dipaksa langsung menjawab tanpa penalaran, ada risiko bias penetapan dini
    • “Output redundan” juga berfungsi memperkuat arah, jadi jika dihilangkan ambiguitas bisa meningkat
  • Saya tidak paham kenapa proyek tanpa makna seperti ini bisa jadi tren di HN
    Alat yang benar-benar mengurangi penggunaan token adalah claude-mem dan lumen

    • Alasannya sederhana. Algoritme tren HN dioptimalkan untuk keterlibatan, bukan akurasi
  • Dulu orang meneliti hash, enkripsi, dan algoritme kompresi baru
    Sekarang ironisnya kita malah meneliti cara menyuruh AI diam saja