Skip to main content
Tips Claude Code · Pelajaran 6 dari 6 · 11 menit

Cara Hemat Token Claude Code: Konteks, Compaction, dan Scope

Cara hemat token Claude Code: baca /context, pakai /compact atau /clear di saat tepat, batasi file yang dibaca, dan pindahkan eksplorasi ke subagent.

Oleh Matthews WongDitinjau pada Dicek dengan Claude Code v2.1.296

Poin utama

Menghemat token di Claude Code berarti menjaga context window tetap kecil, karena setiap request mengirim ulang semua yang sudah ada di dalamnya. Jalankan /context untuk melihat isinya, /clear di antara tugas yang tidak berhubungan, dan /compact dengan fokus saat Anda butuh kesinambungan. Simpan prosedur di skill dan eksplorasi yang berisik di subagent, supaya hanya description dan ringkasan yang masuk ke percakapan Anda.

Setelah pelajaran ini, Anda bisa

  • Membaca /context dan menyebutkan apa saja yang memenuhi context window.
  • Memilih antara /clear, /compact, dan fitur summarize di rewind sesuai tugas yang sedang dikerjakan.
  • Memindahkan prosedur ke skill dan pembacaan file yang berisik ke subagent, supaya keduanya tidak lagi memakan token di setiap giliran.
Lihat cara kerjanya

Ikuti diagramnya langkah demi langkah

Tekan Putar, atau melangkah dengan panah. Setiap langkah juga ditulis di bawah diagram.

Apa yang mengisi context window, dan cara menjaganya tetap kecil

Context window berisi system prompt, CLAUDE.md dan memory, description skill, nama tool MCP, dan percakapan; skill, pembacaan yang terarah, dan subagent menjaganya tetap kecil, sedangkan /compact dan /clear mengaturnya ulang.

Ditinjau pada 13 Oktober 2026 · Claude Code v2.1.296

Langkah 1 dari 7. Semua yang dilihat Claude berbagi satu context window: system prompt, CLAUDE.md dan memory, description skill, nama tool MCP, dan percakapan. Setiap request mengirim semuanya.

Tombol: ← → langkah · Home / End · K putar atau jeda

  1. Semua yang dilihat Claude berbagi satu context window: system prompt, CLAUDE.md dan memory, description skill, nama tool MCP, dan percakapan. Setiap request mengirim semuanya.

  2. Jalankan /context sebelum memangkas apa pun. Perintah ini menggambar pemakaian konteks sebagai grid berwarna dan memberi saran untuk tool yang berat, memory yang membengkak, dan kapasitas.

    /contextTebak langkah berikutnya Sebuah skill sudah terpasang, tetapi belum pernah dipakai. Berapa beban konteksnya? (Hanya description-nya · Seluruh isinya, di setiap request)
  3. CLAUDE.md ikut terkirim di setiap request, sedangkan skill hanya memakan description-nya sampai benar-benar dipakai. Pindahkan prosedur panjang ke skill; body-nya baru dimuat saat dibutuhkan.

    description: The mechanical pipeline for shipping a bilingual blog post in this repository …
  4. Sebutkan file dan fungsi yang Anda maksud. Permintaan yang samar memicu pemindaian luas, dan setiap file yang dibaca Claude tetap tinggal di percakapan sejak saat itu.

    add input validation to the login function in auth.ts
  5. Serahkan test run, penggalian log, dan pencarian luas ke subagent. Output yang panjang memenuhi window miliknya; hanya ringkasan singkat yang sampai ke window Anda.

    Tebak langkah berikutnya Anda menjalankan /compact. Apa yang dibaca ulang dari disk sesudahnya? (Instruksi yang Anda ketik di chat · CLAUDE.md di root proyek)
  6. /compact mengganti percakapan dengan ringkasan, dan auto-compaction melakukan hal yang sama saat mendekati batas. CLAUDE.md di root proyek dibaca ulang dari disk; instruksi yang hanya ada di chat tidak.

    /compact focus on the auth bug fix
  7. Untuk pekerjaan yang tidak berhubungan, /clear memulai percakapan kosong tanpa biaya token, sedangkan /compact harus membaca semua yang diringkasnya. /resume bisa membuka sesi lama lagi.

    /rename auth-fix /clear

Apa saja yang mengisi context window Claude Code?

Semua yang dipakai Claude berada di satu context window: system prompt, file CLAUDE.md dan auto memory, nama tool MCP, description setiap skill, lalu percakapan itu sendiri, termasuk setiap file yang dibaca Claude dan setiap output perintah. Claude Code mengirim seluruh percakapan di setiap request, jadi pertanyaan satu baris di ujung sesi yang panjang tetap membawa semua yang ada sebelumnya. Pemakaian token tumbuh seiring ukuran konteks.

Baca selengkapnya (2)

Setiap fitur dimuat dengan cara berbeda. CLAUDE.md dimuat utuh dan ikut terbayar di setiap request. Skill hanya memakan description-nya sampai salah satunya dipakai. Server MCP hanya memakan nama tool-nya, karena tool search menunda skema lengkap sampai tool itu dipanggil. Subagent berjalan di window terpisah, dan hook tidak memakan apa pun kecuali ia mengembalikan konteks.

Ukuran bukan satu-satunya masalah. Dokumentasi menyebut dengan terang bahwa performa menurun saat window makin penuh: Claude mulai kehilangan jejak instruksi awal. Jadi kebiasaannya sama, entah yang Anda pedulikan usage atau kualitas jawaban. Jalankan /context untuk melihat pembagiannya sebagai grid berwarna beserta saran, dan /usage untuk melihat pemakaian token dan aktivitas sesi. /cost dan /stats sekarang hanya alias dari /usage.

Kapan memakai /clear, /compact, atau summarize di rewind?

/clear memulai percakapan baru dengan konteks kosong. Pakai setiap kali tugas berikutnya tidak berhubungan: tidak memakan token, dan menjalankan /rename lebih dulu membuat sesi lama mudah ditemukan lagi lewat /resume. Dokumentasi menambahkan aturan yang lebih tegas: kalau Anda sudah mengoreksi Claude lebih dari dua kali untuk masalah yang sama, konteksnya sudah penuh dengan pendekatan yang gagal, jadi kosongkan dan tulis prompt awal yang lebih baik.

Baca selengkapnya (2)

/compact mengganti percakapan dengan ringkasan saat Anda butuh kesinambungan. Beri fokus, misalnya /compact focus on the auth bug fix, maka ringkasannya menyimpan yang Anda pilih, bukan tebakan proses otomatis. Compaction sendiri adalah request yang besar, karena harus membaca semua yang diringkas. Auto-compaction menjalankan proses yang sama saat konteks mendekati batas, dan /autocompact mengatur seberapa penuh window sebelum itu terjadi. Untuk meringkas sebagian sesi saja, tekan Esc dua kali atau jalankan /rewind, pilih sebuah pesan, lalu pilih Summarize from here atau Summarize up to here.

Pahami apa yang bertahan. CLAUDE.md di root proyek dan auto memory dibaca ulang dari disk. Rule dengan path dan CLAUDE.md di subfolder baru kembali saat Claude menyentuh file yang cocok lagi. Maksimal lima file yang pernah dibaca atau diedit Claude dibaca ulang, mulai dari yang paling baru diubah, dan skill yang sudah dipanggil kembali dengan batas 5.000 token per skill dan 25.000 token total. Instruksi yang hanya Anda ketik di chat hanya hidup di dalam ringkasan, jadi apa pun yang harus bertahan tempatnya di CLAUDE.md.

Bagaimana skill dan pembacaan terarah memangkas token Claude Code?

CLAUDE.md adalah teks termahal yang Anda tulis, karena ikut terbawa di setiap request. Dokumentasi menyarankan menjaganya di bawah 200 baris dan memindahkan detail alur kerja ke skill. Claude melihat description skill sejak awal, dipotong di 1.536 karakter dalam daftar skill, dan baru memuat body-nya saat skill dipakai. Setelah itu body tetap tinggal di percakapan, jadi tulis sebagai instruksi yang berlaku terus, bukan langkah sekali jalan. Di repo ini, sekitar 900 baris prosedur blog tinggal di empat skill dan hanya memakan description-nya sampai dibutuhkan.

Baca selengkapnya (1)

Membatasi cakupan adalah penghematan paling murah. Permintaan samar seperti improve this codebase membuat Claude memindai ke mana-mana, sedangkan add input validation to the login function in auth.ts hanya butuh beberapa kali baca file. Logika yang sama berlaku untuk tool: skema tool MCP ditunda secara default, CLI yang sudah terpasang seperti gh tidak menambah daftar tool sama sekali, dan server yang tidak sedang dipakai bisa dimatikan lewat /mcp.

Bagaimana subagent dan hook melindungi konteks utama?

Subagent membaca di context window-nya sendiri dan mengembalikan ringkasan, jadi test run, penggalian log, dan pengambilan dokumentasi tidak pernah masuk ke percakapan Anda. Request-nya tetap memakai usage Anda, dan banyak subagent yang masing-masing mengembalikan laporan panjang tetap bisa memenuhi konteks. Karena itu blog-post-author di repo ini diakhiri dengan instruksi untuk mengembalikan laporan ringkas, bukan teks artikelnya.

Baca selengkapnya (1)

Hook berjalan di luar model dan tidak memakan apa pun kecuali mengembalikan konteks. Kalau dipakai dengan benar, hook justru mengecilkan konteks: contoh di dokumentasi menyaring hasil test sampai tinggal yang gagal sebelum Claude melihat output-nya. Kalau ceroboh, hook yang menyuntikkan satu file utuh setelah setiap edit menjadi beban di setiap giliran. Hook pemeriksa gambar di repo ini membatasi dirinya di dua belas temuan dan menunjuk ke script lengkap untuk sisanya.

Cara situs ini melakukannya

Konfigurasi nyata di balik pelajaran ini

Kutipan dari repositori yang membangun dan men-deploy situs ini, apa adanya.

.claude/skills/drawing-blog-diagrams/SKILL.md:1-4
---
name: drawing-blog-diagrams
description: Draw in-article explanatory diagrams for blog posts in this site's visual language instead of sourcing them. Use when adding a diagram, figure, illustration or in-article image to a blog post; when a borrowed diagram has foreign-language labels or is unreadable on the dark page; when working with scripts/generate-blog-diagram.mjs, BLOG_FIGURES, lib/blog-figures.ts, BlogFigure, the stack or columns layout, scripts/audit-blog-figures.mjs or scripts/review-blog-figures.mjs; and when the figure-fitness hook reports subject-absent, subject-distant, own-work-preferred, caption-restates-alt, alt-prefix, overused-figure or portrait-figure. Covers the palette, layout primitives, label writing rules, wiring a figure into a post bilingually, the audit gate and the fitness review.
---

Frontmatter inilah satu-satunya yang duduk di konteks sampai skill dipakai; body yang lebih dari 300 baris baru dimuat saat ada permintaan yang cocok. Description-nya berisi daftar kata yang akan muncul di permintaan, termasuk kode temuan yang dicetak hook gambar, dan dengan sekitar 780 karakter masih jauh di bawah batas daftar 1.536 karakter.

.claude/agents/blog-post-author.md:89-99
# Report back

Return a compact report, not the article text:

- Slug, translationKey, component filename, category, read time
- The title with its character count, and the description with its count
- One line per section heading, so the argument is reviewable at a glance
- The 4–5 source URLs with the HTTP status you observed for each
- The validator's final line
- Anything you deliberately left out, and why — a claim you could not source, a
  figure you would want, an angle that duplicated an existing post

Laporan subagent adalah satu-satunya bagian kerjanya yang masuk ke konteks Anda, jadi repo ini menetapkan bentuknya. Sesi utama menerima hitungan karakter, satu baris per heading, status setiap sumber, dan baris terakhir validator, cukup untuk meninjau hasilnya tanpa menarik satu artikel utuh ke percakapan.

scripts/review-blog-figures.mjs:76-77
/** Findings a hook may inject before it costs more context than it saves. */
const HOOK_MAX_FINDINGS = 12;

Hook PostToolUse yang memeriksa gambar setelah setiap edit membatasi output-nya sendiri. Lewat dari dua belas temuan, hook ini hanya menambah satu baris berisi jumlah sisanya dan script mana yang menampilkan semuanya, dan kalau tidak ada temuan ia tidak mencetak apa-apa.

Yang sering rusak

Kesalahan yang benar-benar membuang waktu

  • Compact karena kebiasaan

    /compact membaca seluruh percakapan untuk meringkasnya, jadi compact pada sesi yang sangat besar justru menjadi request yang besar. Kalau tugas berikutnya tidak berhubungan, /clear tidak memakan token dan /resume bisa membuka sesi lama lagi.

  • Aturan yang hanya ada di chat

    Setelah compaction, instruksi yang hanya Anda ketik di percakapan paling banter bertahan sebagai satu baris di ringkasan. CLAUDE.md di root proyek dibaca ulang dari disk. Kalau sebuah aturan terus menghilang, tempatnya di CLAUDE.md, bukan di pesan chat.

  • Sesi gado-gado

    Satu tugas, lalu pertanyaan yang tidak nyambung, lalu kembali lagi: konteks terisi bahan yang tidak membantu keduanya. Solusi dari dokumentasi adalah /clear di antara tugas yang tidak berhubungan, dan prompt baru setelah dua kali koreksi gagal.

  • Hook yang membanjiri konteks

    Konteks yang dikembalikan hook ditambahkan setiap kali hook itu berjalan. Kembalikan hanya baris yang penting, batasi jumlahnya seperti hook gambar repo ini yang berhenti di dua belas temuan, dan diam saja kalau tidak ada yang perlu dilaporkan.

  • Yang akan saya ubah di sini: CLAUDE.md di root

    CLAUDE.md repo ini sudah lebih dari 500 baris, jauh melewati dua kali target 200 baris di dokumentasi, dan setiap barisnya ikut terkirim di setiap request. Prosedur panjang soal cover dan gambar di dalamnya sudah ada di skill, jadi pembersihan berikutnya memindahkan bagian itu dan menyisakan fakta serta aturan keras saja.

/clear, /compact, atau Summarize from here: mana yang dipakai
FungsinyaMemulai percakapan baru dengan konteks kosongMengganti percakapan dengan ringkasanMeringkas pesan setelah titik yang dipilih
Pakai saatTugas berikutnya tidak berhubunganAnda perlu melanjutkan tugas yang samaSatu bagian sesi membengkak, misalnya membaca log besar
Yang tersisaCLAUDE.md dan memory; chat lama lewat /resumeRingkasan, CLAUDE.md di root, file terbaruPesan sebelumnya utuh, sisanya sebagai ringkasan
Coba sendiri

Lakukan di komputer Anda sendiri

Anda butuh Claude Code di repositori git mana saja. Buat dulu file log yang berisik, lalu perhatikan efek setiap kebiasaan pada /context.

  1. Buat log besar dengan dua error sungguhan yang terselip di dalamnya.

    mkdir -p logs
    seq 1 20000 | sed 's/^/INFO request ok id=/' > logs/app.log
    echo "ERROR payment timeout id=777" >> logs/app.log
    echo "ERROR db connection reset id=901" >> logs/app.log
  2. Mulai sesi dan jalankan /context sebelum mengetik apa pun. Catat seberapa besar porsi file memory dan description skill sejak awal.

    /context
  3. Minta Claude membaca seluruh log, lalu jalankan /context lagi dan bandingkan.

    Read logs/app.log and list every error
    /context
  4. Buka menu rewind, pilih pesan tadi, lalu pilih Summarize from here. Cek /context sekali lagi.

    /rewind
    /context
  5. Ajukan pertanyaan yang sama lewat subagent dan bandingkan seberapa besar konteks Anda bertambah.

    Use a subagent to find the errors in logs/app.log and report only the matching lines
    /context
  6. Ajukan pertanyaan sampingan yang tidak masuk riwayat, cek usage sesi, lalu tutup dengan rapi sebelum tugas berikutnya.

    /btw which log file did we search?
    /usage
    /rename log-hunt
    /clear
Kuis singkat

Tiga pertanyaan sebelum lanjut

Pilih jawaban untuk melihat kenapa benar atau salah. Tidak ada yang disimpan atau dinilai, jadi tebak saja dengan bebas.

  1. 1.Anda baru selesai memperbaiki bug auth dan ingin mulai menulis README untuk tool lain yang tidak berhubungan. Langkah berikutnya yang paling hemat apa?
  2. 2.Di awal sesi Anda mengetik: selalu jalankan linter sebelum commit. Setelah auto-compaction, Claude berhenti melakukannya. Apa perbaikannya?
  3. 3.Anda perlu menemukan dua error yang terselip di log 20.000 baris, tanpa membuat log itu masuk ke percakapan Anda. Apa yang Anda lakukan?
Pikirkan dulu

Jawab dalam hati, lalu cek

  1. 1.Kapan sebaiknya memakai /clear, bukan /compact?Lihat jawabannya

    Jawaban:Saat tugas berikutnya tidak berhubungan. /clear tidak memakan token dan /resume bisa membuka sesi lama lagi, sedangkan /compact harus membaca seluruh percakapan untuk meringkasnya.

  2. 2.Anda memuat rule dengan path, memanggil sebuah skill, dan ada CLAUDE.md di root proyek. Apa yang kembali setelah compaction?Lihat jawabannya

    Jawaban:CLAUDE.md di root proyek dibaca ulang dari disk. Body skill dipasang kembali dengan batas 5.000 token per skill dan 25.000 token total. Rule dengan path baru kembali saat Claude menyentuh file yang cocok lagi.

  3. 3.Anda memindahkan prosedur deploy yang panjang dari CLAUDE.md ke skill. Apa yang masih memakan token di setiap request?Lihat jawabannya

    Jawaban:Hanya description skill-nya, yang dipotong di 1.536 karakter dalam daftar skill. Body-nya dimuat saat skill dipakai, dan sejak itu tetap tinggal di percakapan.

  4. 4.Panduan lama menyuruh Anda menjalankan /cost. Perintah apa yang sebaiknya dipakai?Lihat jawabannya

    Jawaban:/usage. /cost dan /stats masih bisa dipakai, tetapi keduanya hanya alias yang membuka /usage.

Pelajari lebih dalam

Bahasan mendalam terkait di situs ini