Mengapa Claude Code membaca ulang seluruh proyek dan cara mengatasinya
MarkdownClaude Code tidak mengindeks kode dan membaca ulang proyek dari awal, sehingga menghabiskan token. Cara memberinya memori kode persisten melalui MCP dan mengurangi penggunaan.
Baca artikel lengkap
Poin utama
Claude Code tidak menyimpan indeks kode Anda. Di setiap sesi, Claude menelusuri proyek lagi dan membaca berkas dari awal, sehingga token terpakai untuk pengintaian, bukan pekerjaan. Anda dapat mengatasinya dengan memori kode: pasang server indeks melalui MCP, lalu Claude dapat menggunakan peta proyek yang sudah tersedia alih-alih membaca ulang semuanya.
Dokumentasi Ailoot: API, kunci, dan koneksi.
Mengapa Claude Code membaca ulang proyek dari awal setiap kali?
Poin utama
Claude Code tidak memiliki indeks kode bawaan. Claude menelusuri proyek menggunakan tiga alat: menemukan berkas berdasarkan pola, mencari string dalam teks, dan membaca berkas secara utuh. Ini disebut pencarian agentik: model menentukan tempat mencari dan mengulangi proses tersebut untuk setiap tugas baru. Claude tidak mengingat sesi sebelumnya, jadi setiap sesi baru dimulai dari awal.
Banyak orang mengira ini bug. Sebenarnya, begitulah Claude Code dirancang: ia tidak memiliki indeks proyek sendiri. Saat Anda meminta Claude memperbaiki sesuatu, tidak ada peta kode siap pakai yang dapat digunakan—Claude menjelajahi proyek lagi: menemukan berkas yang relevan, mencari string yang diperlukan, dan membaca berkas ke dalam memori.
Pendekatan ini memiliki keunggulan nyata. Kodenya selalu mutakhir—tidak ada indeks yang tertinggal. Tidak ada yang perlu dikonfigurasi. Kode Anda tidak dikirim ke basis data mana pun.
Namun, ada kekurangannya: setiap tugas baru berarti pencarian dan pembacaan berkas dari awal. Token terpakai untuk mencari tahu lagi letak segala sesuatu, meskipun Claude sudah mengetahuinya pada sesi sebelumnya. Semakin besar proyeknya, semakin besar biaya pengintaian ini. Mekanisme inilah yang membuatnya terasa seperti agen sedang “membaca semuanya.”
Berapa banyak token yang benar-benar terpakai?
Poin utama
Bahkan sebelum membaca ulang kode, Claude Code mengirim sekitar 33.000 token data sistem dalam setiap permintaan. Dalam konfigurasi kerja yang nyata, jumlahnya mencapai 75.000–85.000 token sebelum Anda mengetik satu kata pun. Setelah itu, pembacaan ulang berkas menambah lagi, dan menurut dokumentasi resmi, pembacaan berkas menghabiskan konteks paling banyak.
Biayanya mulai muncul bahkan sebelum Anda mengirim permintaan. Sebuah pengukuran independen menunjukkannya dengan sederhana: Claude Code mengirim sekitar 33.000 token prompt sistem dan deskripsi alat sebelum membaca karakter pertama pesan Anda. Sebagai perbandingan, OpenCode memulai dari sekitar 7.000.
Lalu pembacaan ulang mulai berperan. Setiap pencarian berkas dan setiap pembacaan menambah token ke konteks. Dokumentasi resmi Claude Code menyatakannya secara langsung: pembacaan berkas mendominasi penggunaan konteks. Analisis terhadap auth.ts sebanyak 2.400 token berarti hanya Claude yang melihat 2.400 token itu, dan hal yang sama berlaku untuk setiap berkas yang dibuka selama pengintaian.
Bagi pembaca kami, ini berarti uang dan batas penggunaan. Ketakutan nomor satu di antara orang yang mulai mencoba vibe coding adalah “Saya sudah membayar, tetapi batasnya habis sia-sia.” Jika agen memindai proyek dan membaca ulang berkas dari awal untuk setiap tugas, konteks terkuras dua kali lebih cepat: pertama untuk beban sistem, lalu untuk pengintaian. Saya membahas peta lengkap ke mana saja token Claude Code digunakan dalam panduan “Ke mana token Claude Code digunakan”—pembacaan ulang proyek adalah salah satu dari sembilan polanya.
Apa itu memori kode persisten?
Poin utama
Memori kode adalah peta proyek siap pakai yang dapat digunakan agen alih-alih membaca ulang berkas. Alat terpisah memindai kode Anda sekali, menyusun struktur fungsi, berkas, dan hubungan, lalu menyimpannya di disk. Setelah itu, saat Anda bertanya “di mana pembayaran ditangani,” Claude memperoleh jawabannya dari peta dalam satu kueri, alih-alih menelusuri setiap berkas.
Memori kode mengatasi tepat kesenjangan yang membuat Claude membaca ulang proyek. Gagasannya sederhana: minta sesuatu memindai semua kode sekali, menyusun peta darinya, lalu menyimpan peta itu agar selalu siap digunakan. Dengan begitu, agen tidak perlu mencari dari awal setiap kali—agen cukup bertanya kepada peta.
Secara teknis, cara kerjanya seperti ini. Alat terpisah memindai proyek dan menguraikannya menjadi komponen: fungsi dan kelas apa yang ada, siapa memanggil siapa, serta berkas mana yang saling terhubung. Struktur ini disimpan di disk. Saat Claude perlu memahami letak logika pembayaran atau apa yang akan rusak jika sebuah fungsi diedit, Claude membuat satu kueri terarah ke peta, alih-alih membaca puluhan berkas.
Peta ini dihubungkan melalui MCP—cara standar untuk memasang alat eksternal ke Claude Code (saya membahas cara menghubungkan server lain dalam panduan “Server MCP untuk Claude Code”). Alat memori kode menambahkan perintah pencarian petanya sendiri, dan Claude menggunakannya sendiri saat perlu memahami struktur proyek.
Dalam praktiknya, perbedaannya adalah antara “baca seluruh folder untuk menemukan satu fungsi” dan “tanyakan kepada peta di mana fungsi itu berada.” Cara pertama menghabiskan puluhan ribu token; cara kedua, ratusan.
Dua pendekatan untuk memori kode: apa bedanya?
Poin utama
Ada dua alat yang berguna, dan keduanya gratis di bawah lisensi MIT. Serena memberi agen kemampuan navigasi kode seperti lingkungan pengembangan cerdas dan cocok untuk pengeditan yang presisi. claude-context melakukan pencarian berdasarkan makna menggunakan embedding, tetapi memerlukan basis data eksternal dan sebuah kunci. Perbedaannya terletak pada apa yang diingat masing-masing alat.
Alat memori kode berbeda dalam hal apa yang dibangun dari proyek Anda. Cara termudah untuk memahaminya: yang satu memberi Anda kendali layaknya ahli bedah untuk mengedit, dan yang lain mencari berdasarkan makna.
| Yang dibandingkan | Serena | claude-context |
|---|---|---|
| Jenis memori | Navigasi kode melalui mesin lingkungan pengembangan | Pencarian berbasis makna melalui embedding |
| Yang ditemukan | Definisi, lokasi pemanggilan aktual, pengeditan berdasarkan simbol | Kode berdasarkan deskripsi: “di mana logika pembayaran” |
| Ketergantungan eksternal | Pengelola paket uv; untuk TypeScript dan JavaScript juga Node 20+ dan npm | Basis data eksternal + kunci + Node 20+ |
| Instalasi | Satu perintah | Perintah dengan tiga pengaturan |
| Penghematan token | Tidak menerbitkan persentase yang pasti | Sekitar 40% dengan kualitas setara |
| Bintang GitHub | 26,468 | 12,138 |
| Keunggulan | Refaktor yang cermat di seluruh basis kode | Menemukan yang dibutuhkan tanpa mengetahui nama persisnya |
| Kekurangan | Lebih sedikit bahasa, tidak ada pencarian berdasarkan makna | Pengaturan rumit, memerlukan layanan cloud |
Jumlah bintang GitHub adalah per 15 Juli 2026 (menurut GitHub API). Kedua alat ini gratis dan bersumber terbuka, keduanya bekerja dengan Claude Code, dan keduanya terhubung sebagai server MCP.
Ringkasan singkat bagi nonprogrammer. Serena adalah kendali layaknya ahli bedah: gunakan saat Anda mengedit bagian yang sama di berbagai tempat dalam proyek dan presisi sangat penting. claude-context adalah pencarian berbasis makna: alat ini menemukan kode dari deskripsi, tetapi perlu pengaturan basis data cloud dan sebuah kunci.
Kapan sebaiknya memilih Serena atau claude-context?
Poin utama
Serena berguna saat pengeditan yang presisi penting: mengganti nama fungsi di seluruh proyek, mengganti isi fungsinya, atau menemukan semua lokasi pemanggilan aktual. Serena bekerja dengan mesin yang sama seperti lingkungan pengembangan cerdas dan mengedit kode berdasarkan makna, bukan pencocokan teks. Pilih claude-context saat Anda perlu mencari kode berdasarkan deskripsi dan tidak keberatan menyiapkan basis data eksternal serta sebuah kunci.
Kedua alat ini tidak memperebutkan satu posisi juara. Masing-masing mengingat hal yang berbeda, sehingga pilihan bergantung pada tugasnya.
Pilih Serena jika Anda banyak melakukan refaktor. Serena memberi agen kemampuan navigasi kode seperti lingkungan pengembangan cerdas: menemukan definisi fungsi dan semua lokasi pemanggilan aktual, lalu mengganti nama fungsi atau mengganti isi fungsinya dengan cermat di seluruh proyek. Penulis menjelaskan manfaatnya sebagai berikut.
Seperangkat alat kode yang andal melalui MCP: pencarian dan pengeditan semantik—lingkungan pengembangan untuk agen Anda.
Serena tidak menerbitkan persentase penghematan yang pasti, dan saya tidak akan mengaitkan angka rekaan dengannya. Manfaatnya berbeda: ketika pencarian biasa mengembalikan empat puluh hasil beserta komentar dan string, lalu Claude membaca empat berkas secara utuh, Serena menjawab dengan beberapa kueri yang presisi. Artinya lebih sedikit panggilan dan lebih sedikit kecocokan palsu, sehingga risiko agen mengedit hal yang salah pun lebih rendah.
Pilih claude-context jika Anda membutuhkan pencarian berbasis makna dan tidak keberatan dengan pengaturannya. Alat ini mengubah kode menjadi vektor (sidik jari numerik dari makna) dan mencari berdasarkan deskripsi: “temukan lokasi logika pembayaran kami,” meskipun Anda tidak mengetahui nama fungsinya. Biaya pencarian ini adalah pengaturan tambahan.
Rata-rata, claude-context mengurangi penggunaan token sekitar 40% dengan tetap mempertahankan kualitas pencarian yang sama.
claude-context memerlukan basis data vektor eksternal, kunci penyedia embedding, dan versi Node yang lebih baru. Dari kedua alat tersebut, pengaturannya paling rumit, jadi saya menyarankan para pemula untuk memulai dengan alat lain.
Apa yang bisa dilakukan langsung di Claude Code tanpa alat pihak ketiga?
Poin utama
Perintah bawaan mengatasi separuh masalah. /context menunjukkan secara tepat apa yang memakai konteks. /compact memadatkan riwayat, /clear mengatur ulang sebelum tugas baru, dan /doctor menemukan item yang tidak perlu lalu menyarankan pembersihannya. Berkas CLAUDE.md yang singkat alih-alih terlalu panjang menghemat ribuan token di setiap pesan.
Sebelum memasang alat pihak ketiga, manfaatkan sebaik mungkin fitur yang sudah disertakan dalam Claude Code. Perintah ini gratis dan langsung dapat digunakan.
/context—menampilkan perincian langsung tentang apa yang memenuhi jendela konteks: prompt sistem, CLAUDE.md, memori, alat, dan berkas. Perintah/mcpmenampilkan biaya setiap server yang terhubung, sedangkan/memorymenunjukkan apa yang dimuat saat startup./compact—memadatkan riwayat percakapan menjadi ringkasan singkat dan melanjutkan tugas yang sama. Anda dapat mengarahkan fokus dengan menambahkan hal yang perlu dipertahankan ke/compact./clear—membuang seluruh riwayat. Rekomendasi resmi adalah menjalankannya saat beralih ke tugas yang tidak berkaitan, agar percakapan lama tidak memenuhi konteks dan menggeser berkas yang Anda perlukan./doctor(juga dikenal sebagai/checkup, diperkenalkan pada 8 Juli 2026)—mendiagnosis konfigurasi dan menyarankan perbaikan: menghapus duplikat di CLAUDE.md, menemukan alat dan server yang tidak digunakan, serta mendeteksi handler yang lambat.
Catatan terpisah tentang CLAUDE.md. Berkas ini dimuat ke dalam konteks pada awal setiap sesi dan disertakan dalam setiap pesan. Jika ukurannya terlalu besar, Anda terus membayar untuknya. Rekomendasi resmi adalah menjaganya di bawah 200 baris dan memindahkan detail referensi ke skill yang dimuat sesuai kebutuhan. Saya membahas cara menyusun CLAUDE.md dengan benar dalam panduan terpisah “Cara mengonfigurasi CLAUDE.md”.
Satu cara bawaan lainnya adalah subagen. Subagen memiliki konteks terpisah, sehingga Anda dapat mendelegasikan pembacaan berat dan pengintaian kepadanya tanpa membuat jendela utama membengkak. Anthropic menyatakan prinsip umumnya sebagai berikut dalam analisis rekayasanya.
Pengelolaan konteks yang baik berarti menemukan kumpulan token sekecil mungkin yang kaya informasi untuk menghasilkan hasil yang diinginkan.
Apakah server MCP tambahan akan membuat konteks makin besar?
Poin utama
Kekhawatiran itu masuk akal, tetapi tidak. Sejak 2026, Claude Code tidak memuat deskripsi lengkap alat MCP ke dalam konteks secara bawaan—Claude menundanya dan hanya memuat yang benar-benar dibutuhkan. Saat startup, hanya nama yang disertakan dalam konteks. Jadi, indeks kode hanya menambah sedikit sekali beban sistem, sekaligus menghemat ribuan token yang biasanya terpakai untuk membaca ulang berkas.
Logika bahwa “satu server tambahan berarti beban konteks lebih besar” dulu memang benar, tetapi Claude Code telah berubah. Deskripsi alat MCP kini ditunda secara bawaan: hanya nama server yang disertakan dalam konteks saat startup, sedangkan deskripsi lengkap dimuat ketika alat tertentu diperlukan untuk tugas tersebut. Dokumentasi menyatakannya secara langsung.
Pencarian alat menjaga penggunaan konteks MCP tetap rendah dengan menunda deskripsi alat sampai Claude membutuhkannya. Saat sesi dimulai, hanya nama alat yang dimuat, sehingga penambahan server MCP hampir tidak berdampak pada jendela konteks.
Perhitungan memori kode sederhana. Ada beban tetap kecil untuk nama alat, dibandingkan ribuan token yang dihemat karena agen tidak lagi membaca ulang berkas. Keuntungannya jelas berpihak pada indeks.
Ada beberapa catatan jujur agar Anda tidak mengharapkan keajaiban. Indeks sesekali perlu dibuat ulang—peta mencerminkan kode saat pemindaian dilakukan, dan setelah perubahan besar, indeks perlu diperbarui (caranya berbeda-beda menurut alat: ada yang melakukannya secara otomatis, sementara yang lain memerlukan perintah). Klaim besar seperti “120 kali lebih sedikit token” menggambarkan hasil terbaik pada kueri tertentu, bukan hasil yang akan Anda lihat pada setiap tugas. Penghematan sebenarnya lebih sederhana, tetapi tetap terasa. Jika Anda ingin mengetahui lebih dalam cara menghindari batas penggunaan secara umum, saya memiliki analisis terpisah, “Cara menghindari kehabisan batas penggunaan Claude Code”.
Dari mana sebaiknya Anda mulai hari ini?
Poin utama
Mulailah dengan cara yang gratis dan cepat. Jalankan /doctor untuk membersihkan item yang tidak perlu. Pangkas CLAUDE.md menjadi 200 baris. Langkah-langkah ini mengurangi beban yang dibawa Claude ke setiap tugas dan mulai menghemat token serta batas penggunaan Anda.
Jika semua yang tidak perlu disingkirkan, rencana hari ini sederhana:
- Jalankan
/doctordan bersihkan hal yang disarankan: duplikat di CLAUDE.md dan alat yang tidak digunakan. - Pangkas CLAUDE.md menjadi 200 baris, lalu pindahkan bahan referensi ke dalam skill.
Setelah itu, pilih sesuai kebutuhan: jika Anda banyak melakukan refaktor, tambahkan Serena untuk pengeditan yang presisi; jika Anda memerlukan pencarian berbasis makna, siapkan claude-context. Memori kode dan konteks yang rapi sudah mengatasi masalah utama hari ini.
Sumber
Jika Anda membutuhkan akses ke model AI melalui Ailoot, kunjungi Ailoot.
Rincian selengkapnya
Pertanyaan tentang Mengapa Claude Code membaca ulang seluruh proyek dan cara mengatasinya
Kapan sebaiknya memilih navigasi simbol alih-alih pencarian kode berdasarkan makna?
Pilih navigasi simbol seperti Serena untuk definisi, lokasi pemanggilan, dan refaktor presisi. Pencarian berdasarkan makna seperti claude-context membantu ketika Anda mengetahui perilaku yang dibutuhkan tetapi tidak tahu nama simbol; cara ini memerlukan pengaturan basis data dan embedding tambahan.
Bisakah saya tetap mempercayai peta kode setelah membuat perubahan?
Pastikan indeks telah diperbarui. Peta mencerminkan kode yang dipindai, dan perilaku pembaruan berbeda menurut alat. Gunakan peta untuk menemukan kode relevan, lalu verifikasi file saat ini sebelum mengubahnya.