Latar belakang
- Di catatan rilis Claude Opus 4.7, bagian tentang 'peningkatan penggunaan token' adalah yang paling mencolok.
- Kini kita hidup di era ketika, jika memiliki cukup token dan waktu, ada sangat banyak hal yang bisa dilakukan, sehingga efisiensi token juga terus menjadi isu.
- Sekitar bulan Maret, komunitas sempat ramai karena Claude Code diam-diam menurunkan TTL caching dari 1 jam → 5 menit.
- Saat diukur dengan Opus 4.7, ada analisis bahwa konsumsi tokennya hampir 1,5x dibanding 4.6.
- Ada juga repositori riset tentang efisiensi caching Claude Code.
- Saya pun bertanya, "Apakah ada cara meningkatkan efisiensi token di Claude Code dan Codex hanya dengan mengubah nilai pengaturannya?" Setelah menganalisis dokumentasi resmi Claude Code (pengaturan/variabel lingkungan/IDE), dokumentasi resmi Codex (pengaturan/variabel lingkungan/MCP), serta source code Codex, saya mendapatkan hasil yang cukup bermakna.
- Saya juga jadi mengetahui banyak cara untuk meningkatkan efisiensi token/kecepatan booting/stabilitas, bukan hanya di mode interaktif yang biasa dipakai, tetapi juga secara terprogram di mode non-interaktif.
Prompt untuk menganalisis kondisi saya
Singkatnya, berikut prompt untuk mereka yang ingin memeriksa bagaimana konfigurasi coding agent yang dipakai saat ini:
https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘
Apa yang sebenarnya memakan token
Secara umum ada tiga jalur kebocoran token di coding agent:
- Teks tambahan yang otomatis ditempel di setiap sesi atau setiap giliran
- Output pemanggilan tool yang terlalu panjang dan tertinggal di riwayat percakapan
- Pemanggilan tambahan akibat koneksi eksternal seperti pencarian, connector, atau integrasi IDE
Berikut pengaturan di Claude Code dan Codex yang bisa dipakai untuk mengurangi tiga hal di atas. (Hal-hal dasar seperti mematikan server/plugin MCP yang tidak dipakai, memilih model, atau menyesuaikan tingkat reasoning tidak dibahas.)
- Penjelasan tiap pengaturan, trade-off, dan detail lainnya ditulis lebih lengkap di blog.
Claude Code (versi terakhir yang dikonfirmasi: 2.1.114)
-
includeGitInstructions: false
-
autoConnectIde: false
-
CLAUDE_CODE_GLOB_NO_IGNORE=false
-
Atur batas atas output (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)
-
Variabel lingkungan dan flag untuk pekerjaan singkat/sederhana atau mode non-interaktif
ENABLE_CLAUDEAI_MCP_SERVERS=false: matikan server MCPCLAUDE_CODE_DISABLE_AUTO_MEMORY=1: cegah memori yang tersimpan otomatis agar tidak dimuatCLAUDE_CODE_DISABLE_CLAUDE_MDS=1: abaikanCLAUDE.mdglobal/proyekCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: keluarkan subagent bawaan dan definisi skill dari system prompt--tools: aktifkan tool native secara selektif. Jika--tools "", semuanya nonaktif. Untuk worker yang benar-benar hanya memakai kecerdasan model, mematikan semuanya tidak masalah. Namun saat memberi tugas sederhana secara interaktif, jika semua dimatikan agent bisa jadi tidak bisa bekerja sama sekali, jadi nyalakan hanya yang perlu seperti"Bash,Edit,Glob,Grep,Read,Write"--strict-mcp-config: hanya gunakan konfigurasi MCP yang dinyatakan lewat CLI dan abaikan konfigurasi MCP global. Dengan ini, connector yang dibutuhkan bisa disuntikkan dengan rapi per worker.--disable-slash-commands: definisi slash command seperti/help,/cleardihapus 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 untuk meningkatkan tingkat reuse cache prompt--system-prompt: bahkan system prompt Claude bisa diganti sepenuhnya
-
Kosongkan attribution
Codex CLI (versi terakhir yang dikonfirmasi: 0.121.0 + source code Codex GitHub untuk versi tersebut)
- Matikan MCP (app/connector) yang terhubung ke ChatGPT (
features.apps = false) - web_search = "disabled"
- Atur batas atas output (
tool_output_token_limit) - Flag agar mode non-interaktif berjalan lebih baik
--profile: kelompokkan pengaturan tertentu (web_search = "disabled",tool_output_token_limit = 2000, dll.) lalu terapkan sesuai pilihan--json+--output-last-message FILE: memudahkan parsing/ekstraksi di pipeline sehingga mengurangi konsumsi ulang token pada tahap pascapemrosesan--sandbox read-only: pada otomatisasi yang hanya butuh baca, cegah loop percobaan tulis tak disengaja → retry loop → pemborosan token--skip-git-repo-check: tetap bisa berjalan meski direktori bukan direktori tepercaya--ephemeral: jangan simpan file sesi ke disk--color never: output pipe menjadi lebih rapi
- Kosongkan attribution
Penutup
Saya sudah berusaha memverifikasi fakta dengan saksama, tetapi tentu tetap mungkin ada bagian yang keliru. Jika ada yang ingin melaporkan atau mengoreksi, saya akan sangat berterima kasih.
5 komentar
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.mdmembengkak 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.
Oh, terima kasih sudah berbagi!
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...
Terima kasih. Konsumsi token Claude juga besar, dan hasil kerjanya dibanding Codex agak kurang memuaskan, jadi belakangan ini saya lebih banyak bekerja dengan Codex.
Terima kasih.