48 poin oleh spilist2 2 hari lalu | 4 komentar | Bagikan ke WhatsApp

Latar belakang

  • Dalam catatan rilis Claude Opus 4.7, bagian tentang 'peningkatan penggunaan token' adalah yang paling mencolok.
  • Kini kita hidup di era ketika, jika punya cukup token dan waktu, ada semakin banyak hal yang bisa dilakukan, sehingga efisiensi token juga terus menjadi isu
  • Muncul pertanyaan, "adakah cara meningkatkan efisiensi token dengan mengubah nilai pengaturan di Claude Code dan Codex?" Setelah menganalisis dokumentasi resmi Claude Code (pengaturan/variabel lingkungan/IDE), dokumentasi resmi Codex (pengaturan/variabel lingkungan/MCP), serta kode sumber Codex, didapat hasil yang cukup berarti
  • Selain mode interaktif yang biasa dipakai, saya juga jadi tahu banyak cara untuk meningkatkan efisiensi token/kecepatan boot/stabilitas secara terprogram di mode non-interaktif

Prompt untuk menganalisis kondisi saya

Tanpa basa-basi, berikut prompt untuk yang ingin memeriksa seperti apa pengaturan coding agent miliknya:

https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘  

Apa yang sebenarnya memakan token

Jalur kebocoran token pada coding agent umumnya ada tiga

  1. Teks tambahan yang otomatis disisipkan di setiap sesi atau setiap giliran
  2. Output pemanggilan tool yang terlalu panjang dan tertinggal di riwayat percakapan
  3. Pemanggilan tambahan akibat koneksi eksternal seperti pencarian, konektor, dan integrasi IDE

Berikut pengungkit untuk mengurangi tiga hal di atas pada Claude Code dan Codex. (Hal-hal dasar seperti mematikan server/plug-in MCP yang tidak dipakai, menyesuaikan model dan tingkat penalaran, dll. tidak dibahas)

  • Penjelasan tiap pengaturan, trade-off-nya, dan sebagainya ditulis lebih rinci di blog

Claude Code (versi verifikasi terakhir: 2.1.114)

  1. includeGitInstructions: false

  2. autoConnectIde: false

  3. CLAUDE_CODE_GLOB_NO_IGNORE=false

  4. Atur batas atas output (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)

  5. Variabel lingkungan dan flag untuk tugas singkat dan sederhana, atau untuk mode non-interaktif

    • ENABLE_CLAUDEAI_MCP_SERVERS=false: matikan server MCP
    • CLAUDE_CODE_DISABLE_AUTO_MEMORY=1: cegah memori yang tersimpan otomatis agar tidak dimuat
    • CLAUDE_CODE_DISABLE_CLAUDE_MDS=1: abaikan CLAUDE.md global/proyek
    • CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: kecualikan subagent bawaan dan definisi skill dari system prompt
    • --tools: aktifkan tool native secara selektif. Jika --tools "", semuanya dinonaktifkan. Pada worker yang benar-benar hanya memakai kecerdasan model, mematikan semuanya tidak masalah; tetapi saat memberi tugas sederhana secara interaktif, jika semua dimatikan maka ia tak bisa bekerja sama sekali, jadi nyalakan hanya yang diperlukan seperti "Bash,Edit,Glob,Grep,Read,Write"
    • --strict-mcp-config: hanya gunakan konfigurasi MCP yang dinyatakan lewat CLI dan abaikan konfigurasi MCP global. Konektor yang dibutuhkan tiap worker bisa disuntikkan dengan rapi.
    • --disable-slash-commands: definisi slash command seperti /help, /clear dihapus dari system prompt
    • --no-session-persistence: tidak memakai jalur penyimpanan/pemulihan sesi sehingga jejak eksekusi sekali pakai hilang
    • --exclude-dynamic-system-prompt-sections: keluarkan bagian yang berubah menurut mesin/lingkungan agar tingkat penggunaan ulang cache prompt meningkat
    • --system-prompt: bahkan system prompt Claude bisa diganti sepenuhnya
  6. Kosongkan attribution

Codex CLI (versi verifikasi terakhir: 0.121.0 + kode sumber Codex Github untuk versi tersebut)

  1. Matikan MCP (aplikasi/konektor) yang terhubung ke ChatGPT (features.apps = false)
  2. web_search = "disabled"
  3. Atur batas atas output (tool_output_token_limit)
  4. Flag agar berjalan baik di mode non-interaktif
    • --profile: bisa mengelompokkan pengaturan tertentu (web_search = "disabled", tool_output_token_limit = 2000, dll.) lalu menerapkannya secara selektif
    • --json + --output-last-message FILE : memudahkan parsing/ekstraksi dalam pipeline sehingga mengurangi konsumsi ulang token pada tahap pascapemrosesan
    • --sandbox read-only: pada otomatisasi yang hanya butuh membaca, cegah percobaan tulis yang tak disengaja → loop retry → pemborosan token
    • --skip-git-repo-check: bisa dijalankan meski direktori bukan direktori tepercaya
    • --ephemeral: jangan simpan file sesi ke disk
    • --color never: output pipe menjadi lebih bersih
  5. Kosongkan attribution

Penutup

Verifikasi fakta sudah dilakukan dengan saksama, tetapi tentu saja tetap mungkin ada bagian yang keliru. Saya akan berterima kasih jika Anda melaporkannya dengan santai.

4 komentar

 
dzzwe 2 hari lalu

Sepertinya ini akan jadi referensi yang bagus. Jika isi artikelnya adalah pendekatan untuk menutup katup "token yang masuk",
saya justru sering mengalami kasus ketika "yang sudah terdaftar itu sendiri" terlalu banyak hingga jadi masalah, jadi saya membuat alat bernama claude-slim.

Ini adalah CLI yang memindai, mengklasifikasikan, dan merapikan situasi seperti dari 60 skill, separuhnya belum pernah dipakai sama sekali, atau CLAUDE.md membengkak karena plugin. Penghitungan token berbasis js-tiktoken,
bukan dihapus melainkan dipindahkan ke skills.disabled/ sehingga bisa di-restore kapan saja.

https://github.com/iops-leo/claude-slim

Arah dan pengaturannya sangat saling melengkapi dengan yang ada di artikel, jadi sepertinya bagus jika dipakai bersamaan.

 
spilist2 2 hari lalu

Oh, terima kasih sudah berbagi!

 
duse0001 2 hari lalu

Terima kasih telah berbagi informasi yang bagus. Secara mendasar saya merasa penggunaan token itu sendiri sudah jauh berkurang, jadi saya berharap di Claude bisa ditingkatkan. Karena harness berjalan lalu terputus di tengah...

 
spilist2 2 hari lalu

Terima kasih. Konsumsi token Claude juga besar, dan hasil kerjanya dibanding Codex agak kurang memuaskan, jadi belakangan ini saya lebih banyak bekerja dengan Codex.