TuBrief
Subscribed Channels
Videos
Community

Aturan Isolasi untuk Menghemat 80% Token Sesi Saat Memperbaiki Kode Lama dengan Claude Code

TuBrief Editorial
September 12, 2026
0
Computing/Software

Written with AI assistance from the source video. The video is the authority.

Bahasa Indonesia한국어EnglishEspañol中文العربيةDeutschFrançaisPortuguêsहिन्दीРусский日本語

Related Video

Beri Saya 50 Menit, Saya Beri Anda Pengetahuan Claude Code 1000+ Jam (Panduan 2026)51:29

Beri Saya 50 Menit, Saya Beri Anda Pengetahuan Claude Code 1000+ Jam (Panduan 2026)

Chase AI

More from the community

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

September 13, 2026

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

September 13, 2026

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

September 13, 2026

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

September 13, 2026

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

September 12, 2026

Apple Won the AI Race

September 12, 2026

Comments (0)

Log in to leave a comment

No posts yet

© 2026 . All rights reserved.

TuBrief
Subscribed Channels
Videos
Community
Log in

Aturan Isolasi untuk Menghemat 80% Token Sesi Saat Memperbaiki Kode Lama dengan Claude Code

Ketika seorang pengembang pemula (kurang dari 1 tahun pengalaman) yang membuat produk sendiri menerapkan Claude Code ke basis kode warisan (legacy) yang besar, anggaran token mereka akan habis dalam waktu kurang dari satu jam. Tanpa senior di kantor yang bisa ditanyai dan hanya berbekal perintah CLI dasar, membuka terminal hanya akan terus mendatangkannotifikasi pembayaran kartu kredit.

Claude Code tidak meninggalkan status percakapan di server. Prompt sistem, file pengaturan proyek CLAUDE.md, riwayat percakapan kumulatif, dan hasil pemanggilan alat digabungkan menjadi satu payload tunggal pada setiap putaran (turn) dan dikirim kembali ke API Anthropic. Pada 12 putaran pertama tepat setelah sesi dimulai, jumlahnya berkisar di sekitar 15.000 token, namun begitu agen mulai melakukan eksplorasi dan membaca hasil build atau log berisi puluhan ribu baris, payload tersebut langsung membengkak hingga 80.000 token. Jika melewati 610 putaran, setiap putaran akan menghabiskan antara 120.000 hingga 200.000 token. Struktur biaya ini dikenakan secara majemuk di setiap putaran.

Melihat unit harga caching prompt resmi dari Anthropic membuat penyebabnya semakin jelas. Jika prefiks konteks yang sama dipertahankan, Anda hanya perlu membayar 10% dari biaya token input dasar. Sebaliknya, jika agen membaca kode puluhan ribu baris secara tidak teratur sehingga prefiks cache rusak, biaya pembuatan cache baru sebesar 1,25 kali lipat berdasarkan TTL 5 menit akan dibebankan. Inilah alasan mengapa hanya dengan melakukan beberapa kali pencarian saja, tagihan yang muncul akan sulit ditanggung sendiri.

.claudeignore Tidak Berfungsi

Banyak pengembang merasa tenang setelah membuat file .claudeignore di direktori root. Kesimpulannya terlebih dahulu: file pengaturan semacam itu tidak ada di mesin CLI resmi Claude Code. Cara menuliskan "Jangan baca folder log" di CLAUDE.md juga akan diabaikan begitu model menilai hal tersebut diperlukan.

Untuk memutus akses file agen secara fisik dari sisi mesin, Anda harus menggunakan pengaturan permissions.deny di dalam file .claude/settings.json.

Kumpulkan terlebih dahulu hasil build dan file keamanan di dalam .claude/settings.json pada root proyek.

json { "permissions": { "deny": [ "Read(./.env*)", "Read(./secrets/**)", "Read(**/node_modules/**)", "Read(**/dist/**)", "Read(**/build/**)", "Read(**/coverage/**)", "Read(**/target/**)", "Read(**/*.log)", "Read(**/*.map)", "Read(legacy-backups/**)", "Edit(**/dist/**)", "Write(**/dist/**)" ], "ask": [ "Bash(git push *)", "Bash(npm publish)", "Bash(rm -rf *)" ], "allow": [ "Read", "Edit", "Bash(npm test)", "Bash(npm run lint)", "Bash(git status)", "Bash(git diff *)" ] } }

Untuk mencegah tindakan pengambilan kode frontend saat Anda sedang memperbaiki logika backend, pisahkan pengaturan khusus lokal di .claude/settings.local.json.

json { "permissions": { "deny": [ "Read(apps/web/**)", "Read(frontend/**)", "Read(public/**)", "Edit(apps/web/**)", "Write(apps/web/**)" ] } }

Anda juga harus mencegah agen mencetak log berukuran besar secara keseluruhan ke terminal menggunakan perintah shell seperti cat atau head. Pasang hook PreToolUse di .claude/settings.json untuk mencegat perintah tersebut sebelumnya.

json { "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "bash", "args": ["${CLAUDE_PROJECT_DIR}/.claude/hooks/block-large-reads.sh"] } ] } ] } }

Buat file .claude/hooks/block-large-reads.sh dan berikan izin eksekusi dengan chmod +x.

`bash
#!/usr/bin/env bash
PAYLOAD=(cat)COMMAND=(cat) COMMAND=(cat)COMMAND=(echo "$PAYLOAD" | jq -r '.tool_input.command // empty')

if echo "$COMMAND" | grep -Eq '(cat|head|tail|less)\s+.*(.log|.map|.lock|dist/|build/)'; then
echo "Output langsung dari file berukuran besar terdeteksi, eksekusi dihentikan." >&2
exit 2
fi

exit 0
`

Jika mengembalikan Exit code 2 pada level proses OS, output file agen akan langsung berhenti. Ini akan memblokir pemindaian file yang tidak perlu dan memangkas konsumsi token pada putaran awal hingga di bawah setengahnya.

Melarang Penulisan Ulang File Secara Penuh dan Mengirimkannya Berdasarkan Unit Fungsi

Jika Anda membiarkan agen menulis ulang seluruh file hanya untuk mengubah satu variabel dalam file warisan yang melebihi 1.000 baris, bug akan muncul dan token keluaran akan terbuang sia-sia. Di dalam Claude Code, terdapat pemisahan antara alat Write yang menimpa file dan alat Edit yang hanya mengganti blok string tertentu.

Aturan modifikasi harus dicantumkan di dalam CLAUDE.md pada root proyek.

`markdown

Code Modification Constraints

  • Jangan pernah menulis ulang seluruh file secara penuh (Write).
  • Hanya ubah unit minimum yang memerlukan perubahan menggunakan alat Edit (old_string -> new_string).
  • Saat memperbaiki bug, jangan mengubah format atau spasi kode di sekitarnya secara sembarangan.
  • Sebelum menyelesaikan pekerjaan, periksa git diff untuk memastikan hanya perubahan yang dimaksudkan yang masuk.
    `

Alih-alih menyerahkan seluruh file besar kepada agen, lebih baik mengekstrak fungsi target saja. Berikut adalah skrip shell (extract-func.sh) yang menggunakan alat parser AST ast-grep.

`bash
#!/usr/bin/env bash
TARGET_FILE=1FUNCNAME=1 FUNC_NAME=1FUNCN​AME=2

if [ -z "TARGETFILE"]∣∣[−z"TARGET_FILE" ] || [ -z "TARGETF​ILE"]∣∣[−z"FUNC_NAME" ]; then
echo "Penggunaan: ./extract-func.sh " >&2
exit 1
fi

if command -v sg &> /dev/null; then
sg run --pattern "function FUNCNAME($$$ARGS)$$$BODY""FUNC_NAME(\$\$\$ARGS) { \$\$\$BODY }" "FUNCN​AME($$$ARGS)$$$BODY""TARGET_FILE"
else
LINE_START=(ctags−x−−c−kinds=f"(ctags -x --c-kinds=f "(ctags−x−−c−kinds=f"TARGET_FILE" 2>/dev/null | grep -w "$FUNC_NAME" | awk '{print 3}') if [ -n "LINE_START" ]; then
sed -n "LINESTART,{LINE_START},LINES​TART,((LINE_START + 100))p" "$TARGET_FILE"
else
grep -n -A 60 "function FUNCNAME""FUNC_NAME" "FUNCN​AME""TARGET_FILE"
fi
fi
`

Hanya masukkan fungsi yang diekstrak atau git diff yang telah di-staging ke mode headless (claude -p) untuk meminta modifikasi.

`bash

Suntikkan hanya fungsi tertentu untuk mengekstrak kode modifikasi

./extract-func.sh src/billing.js processRefund | claude -p "Cetak hanya blok kode pengganti (new_string) untuk alat Edit guna memperbaiki kesalahan perhitungan pada fungsi di atas."

Verifikasi hanya perubahan yang di-staging

git diff --staged src/services/OrderService.js | claude -p "Tunjukkan hanya potensi cacat konkurensi atau referensi null yang mungkin terjadi dari diff ini."
`

Dengan memasukkan irisan (slice) sepanjang 50 hingga 100 baris sebagai input alih-alih seluruh kode sumber, Anda dapat mengurangi konsumsi token per putaran hingga hampir 90%.

Menyimpan dan Mengosongkan Status Sesi dengan HANDOFF.md

Tidak ada alasan untuk memperpanjang pekerjaan dalam satu sesi yang panjang. Semakin banyak riwayat percakapan yang menumpuk, semakin besar pula biaya dasar yang harus dibayarkan di setiap putaran. Model Claude mendukung /autocompact yang merangkum riwayat percakapan secara mandiri ketika mencapai sekitar 967.000 token, tetapi seringkali proses sistem dalam memangkas kode menghilangkan parameter penting atau konteks edge case. Anda harus mengosongkan konteks secara manual.

Periksa status saat ini menggunakan tiga perintah bawaan di terminal:

  • /context: Melihat rasio memori yang digunakan oleh prompt sistem dan riwayat percakapan.
  • /usage: Memeriksa penggunaan token sesi dan tingkat konsumsi batas paket.
  • /cost: Memeriksa akumulasi biaya dolar aktual hingga sesi saat ini.

Jika token melebihi 100.000 atau unit tugas tertentu telah selesai, instruksikan Claude Code untuk menulis HANDOFF.md sebelum menutup sesi.

text Catat status pekerjaan sesi saat ini ke HANDOFF.md di root proyek dengan format berikut: Goal: Tujuan pekerjaan dan modul target Current Progress: File yang dimodifikasi dan baris spesifik What Worked: Logika yang telah diverifikasi dan tes yang lulus What Failed: Pendekatan yang gagal dan hal-hal yang perlu diperhatikan Immediate Next Step: Tugas tunggal yang harus segera dieksekusi saat sesi berikutnya dimulai

Setelah pencatatan selesai, kosongkan jendela konteks dengan perintah /clear. Buka sesi baru dan hanya teruskan ringkasan dari sesi sebelumnya.

text Baca file HANDOFF.md dan lanjutkan pekerjaan mulai dari item Immediate Next Step. Jangan mencoba metode yang gagal sebelumnya.

Jika Anda mulai berputar-putar tanpa hasil sebanyak 3 kali atau lebih dengan error yang sama, Anda harus segera menekan tombol Escape untuk berhenti. Jika situasinya terlalu ambigu untuk mengosongkan seluruh sesi, kembalilah ke putaran sebelumnya yang berfungsi normal menggunakan /rewind. Karena /rewind mempertahankan cache prompt prefiks sistem yang mapan, Anda dapat kembali ke cabang normal tanpa harus membayar biaya penulisan cache tambahan.

Tingkat Kontrol Berdasarkan Lapisan Pertahanan

Lapisan Pertahanan Lokasi Pengaturan Tingkat Kontrol Efek Penghematan Token Aktual
Penyaringan File Harness .claude/settings.json (permissions.deny) Paksaan Mesin CLI Memblokir 50%~80% token pemindaian awal per sesi
Firewall Perintah Shell Hook PreToolUse (block-large-reads.sh) Pemblokiran Proses OS (Exit 2) Perlindungan 100% terhadap output massal file log dan bundle
Pemotongan Konteks (Slicing) Pipa ast-grep, git diff Pembatasan Rentang Input Pengurangan 90% token per putaran analisis dan modifikasi file
Manajemen Masa Sesi /context, /clear, HANDOFF.md Persistensi Status Manual Penghematan 60% atau lebih dari tagihan token majemuk kumulatif di paruh akhir sesi

Anda harus memblokir jalur yang tidak perlu dengan .claude/settings.json dan mematuhi aturan untuk hanya meneruskan kode yang telah diiris alih-alih file besar agar dapat menjalankan Claude Code sebagai alat pengembangan praktis di lingkungan pengembangan satu orang.