- Claude Code membaca codebase aktif secara langsung melalui penelusuran file system di mesin pengembang serta
grep dan pelacakan referensi, tanpa mengunggah indeks
- Kinerja sangat dipengaruhi bukan hanya oleh model, tetapi juga oleh harness yang terdiri dari
CLAUDE.md, hooks, skills, plugins, dan server MCP, serta urutan pembangunannya
- Di repositori besar,
CLAUDE.md yang tipis dan berlapis, memulai dari subdirektori, test·lint yang dibatasi cakupan, serta aturan pengecualian meningkatkan efisiensi penelusuran
- Integrasi LSP menyediakan pelacakan definisi·referensi berbasis simbol alih-alih pencarian string, sehingga mengurangi penelusuran yang keliru di codebase multibahasa dan skala besar
- Untuk adopsi yang sukses, konfigurasi perlu ditinjau setiap 3–6 bulan, dan dibutuhkan DRI atau agent manager untuk mengelola plugin·izin·aturan
Cara Claude Code Menelusuri di Codebase Skala Besar
- Claude Code menelusuri file system seperti software engineer, membaca file, mencari hal yang dibutuhkan dengan
grep, dan mengikuti referensi di seluruh codebase
- Berjalan secara lokal di mesin pengembang, tanpa perlu membangun, memelihara, atau mengunggah indeks codebase ke server
- Alat AI coding berbasis RAG melakukan embedding terhadap seluruh codebase lalu mengambil chunk yang relevan saat kueri, tetapi di lingkungan besar, pipeline embedding bisa gagal mengikuti kecepatan pengembangan yang aktif
- Jika indeks mencerminkan kondisi beberapa minggu, hari, atau jam yang lalu, indeks itu bisa mengembalikan fungsi yang namanya sudah diubah atau modul yang sudah dihapus pada sprint sebelumnya, tanpa ada sinyal bahwa informasi tersebut sudah usang
- Pencarian agentic Claude Code memungkinkan setiap instance pengembang bekerja berdasarkan codebase yang hidup, tanpa pipeline embedding atau indeks terpusat
- Ada juga kekurangannya: Claude bekerja paling baik ketika memiliki konteks awal yang cukup untuk mengetahui di mana harus melihat
- Jika diminta mencari semua instance dari pola ambigu di codebase berukuran miliaran baris, batas context window bisa tercapai bahkan sebelum pekerjaan benar-benar dimulai
- Tim yang menata codebase dengan baik dan melapiskan konteks melalui file
CLAUDE.md dan skills akan mendapatkan hasil yang lebih baik
Harness yang Sama Pentingnya dengan Model
- Kinerja Claude Code sangat dipengaruhi bukan oleh model itu sendiri, melainkan oleh harness yang dibangun di sekeliling model
- Harness terdiri dari lima titik ekstensi: CLAUDE.md, hooks, skills, plugins, dan server MCP
- Karena setiap lapisan dibangun di atas lapisan sebelumnya, urutan yang dipilih tim saat membangunnya juga penting
- Integrasi LSP dan subagents berfungsi sebagai kemampuan tambahan yang melengkapi pengaturan ini
-
File CLAUDE.md
- CLAUDE.md adalah file konteks yang secara otomatis dibaca Claude saat memulai setiap sesi
- File root memuat gambaran besar, sementara file subdirektori memuat aturan lokal
- Karena dimuat di semua sesi, isinya perlu difokuskan pada hal-hal yang berlaku luas agar tidak menurunkan kinerja
-
Hooks
- Hooks bukan sekadar skrip untuk mencegah perilaku salah Claude, tetapi lebih bernilai untuk terus menyempurnakan konfigurasi
- Stop hook dapat meninjau kembali apa yang terjadi selama sesi dan menyarankan pembaruan
CLAUDE.md saat konteks masih segar
- Start hook dapat memuat konteks per tim secara dinamis, sehingga pengembang mendapatkan konfigurasi yang sesuai untuk modulnya tanpa perlu setup manual
- Pemeriksaan otomatis seperti linting dan formatting memberi hasil yang lebih konsisten ketika aturan ditegakkan secara deterministik lewat hook daripada mengandalkan Claude mengingat instruksi
-
Skills
- Skills memungkinkan keahlian yang dibutuhkan tersedia on-demand tanpa membuat semua sesi menjadi bengkak
- Codebase besar bisa memiliki puluhan jenis pekerjaan, tetapi tidak semua keahlian perlu hadir di setiap sesi
- Melalui progressive disclosure, Skills menempatkan workflow khusus dan pengetahuan domain di luar ruang konteks, lalu memuatnya hanya saat diperlukan
- Skill security review dimuat saat Claude menilai kerentanan, sedangkan skill pemrosesan dokumentasi dimuat saat dokumentasi perlu diperbarui setelah perubahan kode
- Skills dapat dibatasi ke path tertentu, sehingga skill deployment milik tim layanan pembayaran hanya terikat pada direktori tersebut dan tidak dimuat otomatis saat bekerja di area lain dalam monorepo
-
Plugins
- Plugins adalah cara mendistribusikan konfigurasi yang efektif agar tidak tetap menjadi pengetahuan tersembunyi
- Plugin menggabungkan skills, hooks, dan konfigurasi MCP menjadi satu paket yang dapat dipasang
- Jika engineer baru memasang plugin pada hari pertama, mereka langsung mendapatkan konteks dan kemampuan yang sama seperti orang-orang yang sudah lebih dulu memakai Claude
- Pembaruan plugin dapat didistribusikan ke seluruh organisasi melalui managed marketplaces
- Satu organisasi retail besar membuat skill yang menghubungkan Claude ke platform analitik internal agar analis bisnis dapat mengambil data kinerja tanpa meninggalkan workflow mereka, lalu mendistribusikannya sebagai plugin sebelum rollout ke seluruh bisnis
-
Integrasi Language Server Protocol
- Integrasi Language Server Protocol (LSP) memberi Claude kemampuan penelusuran kode seperti yang dimiliki IDE pengembang
- Sebagian besar IDE untuk codebase besar sudah menjalankan LSP yang mendukung “go to definition” dan “find all references”
- Dengan mengeksposnya ke Claude, Claude memperoleh presisi tingkat simbol untuk mengikuti pemanggilan fungsi ke definisinya, melacak referensi di berbagai file, dan membedakan fungsi bernama sama di bahasa yang berbeda
- Tanpa LSP, Claude harus mengandalkan pencocokan pola teks dan bisa berakhir pada simbol yang salah
- Sebuah perusahaan software enterprise mendistribusikan integrasi LSP ke seluruh organisasi sebelum rollout Claude Code untuk menstabilkan penelusuran C dan C++ di lingkungan skala besar
- Dalam codebase multibahasa, ini adalah salah satu investasi dengan nilai tertinggi
-
Server MCP
- Server MCP adalah cara Claude terhubung ke alat internal, sumber data, dan API yang tidak dapat dijangkaunya secara langsung
- Tim yang paling matang membangun server MCP yang mengekspos pencarian terstruktur sebagai alat yang dapat dipanggil langsung oleh Claude
- Tim lain menghubungkan Claude ke dokumentasi internal, sistem tiket, dan platform analitik
-
Subagents
- Subagents memisahkan penelusuran dari pengeditan
- Subagent adalah instance Claude terisolasi dengan context window sendiri, yang menerima tugas, menjalankannya, lalu hanya mengembalikan hasil akhir ke parent
- Setelah harness siap, beberapa tim menjalankan subagent read-only untuk memetakan subsistem dan menulis hasilnya ke file, lalu membiarkan agent utama mengedit berdasarkan gambaran keseluruhan
-
Peran tiap komponen dan kebingungan yang umum
CLAUDE.md: file konteks yang dibaca otomatis oleh Claude dan dimuat di semua sesi. Cocok untuk aturan per proyek dan pengetahuan tentang codebase, tetapi mudah keliru memasukkan keahlian reusable yang seharusnya masuk ke skill
- Hooks: skrip yang berjalan di momen penting dan dipicu oleh event. Cocok untuk otomatisasi perilaku yang konsisten dan menangkap pembelajaran dari sesi, tetapi mudah keliru menangani lewat prompt hal-hal yang seharusnya berjalan otomatis
- Skills: instruksi terkemas untuk jenis tugas tertentu dan dimuat on-demand saat relevan. Cocok untuk keahlian reusable lintas sesi dan proyek, tetapi mudah keliru menaruh semuanya ke
CLAUDE.md
- Plugins: bundel skills, hooks, dan konfigurasi MCP yang selalu tersedia setelah dikonfigurasi. Cocok untuk mendistribusikan konfigurasi yang bekerja di seluruh organisasi, tetapi mudah membiarkan konfigurasi bagus tetap menjadi pengetahuan tersembunyi
- LSP: code intelligence real-time melalui server khusus bahasa dan selalu tersedia setelah dikonfigurasi. Cocok untuk penelusuran tingkat simbol di bahasa bertipe dan deteksi error otomatis, tetapi mudah diasumsikan berjalan otomatis
- Server MCP: koneksi ke alat dan data eksternal yang selalu tersedia setelah dikonfigurasi. Cocok untuk akses ke alat internal yang tidak dapat diakses langsung oleh Claude, tetapi mudah tergoda membangun koneksi MCP sebelum fondasinya berjalan
- Subagents: instance Claude terpisah untuk tugas tertentu dan berjalan saat dipanggil. Cocok untuk memisahkan penelusuran dan pengeditan serta pekerjaan paralel, tetapi mudah menangani penelusuran dan pengeditan dalam sesi yang sama
- LSP diakses melalui lapisan plugin, sedangkan subagents bukan titik ekstensi yang dikonfigurasi melainkan kemampuan delegasi
Tiga Pola Konfigurasi yang Berulang dalam Deployment Sukses
-
Membuat codebase tetap dapat ditelusuri meski berskala besar
- Sejauh mana Claude dapat membantu di codebase besar dibatasi oleh kemampuannya menemukan konteks yang tepat
- Jika terlalu banyak konteks dimuat ke semua sesi, kinerja turun; jika terlalu sedikit, Claude harus menelusuri secara buta
- Deployment yang efektif berinvestasi sejak awal untuk membuat codebase mudah dibaca oleh Claude
-
Jaga file CLAUDE.md tetap tipis dan berlapis
- Claude memuat file
CLAUDE.md secara akumulatif saat bergerak di dalam codebase
- File root menangani gambaran besar, sedangkan file subdirektori menangani aturan lokal
- File root seharusnya hanya memuat pointer dan peringatan yang kritis; selain itu cenderung menjadi noise
-
Mulai dari subdirektori, bukan root repositori
- Claude bekerja paling baik ketika cakupannya dibatasi pada bagian codebase yang benar-benar relevan dengan tugas
- Di monorepo, ini bisa terasa berlawanan dengan intuisi karena banyak alat mengasumsikan akses dari root
- Claude otomatis bergerak naik melalui pohon direktori dan memuat semua file
CLAUDE.md yang ditemukannya, sehingga konteks tingkat root tidak hilang
-
Batasi perintah test dan lint per subdirektori
- Jika Claude hanya mengubah satu layanan tetapi menjalankan seluruh test suite, akan terjadi timeout dan konteks terbuang untuk output yang tidak relevan
- File
CLAUDE.md di subdirektori harus menjelaskan perintah yang berlaku untuk bagian codebase tersebut
- Ini bekerja baik pada codebase berorientasi layanan, di mana setiap direktori memiliki perintah test dan build sendiri
- Pada monorepo bahasa terkompilasi dengan dependensi lintas direktori yang dalam, pembatasan per subdirektori lebih sulit dan mungkin memerlukan konfigurasi build per proyek
-
Gunakan file .ignore untuk mengecualikan file hasil generate, output build, dan kode pihak ketiga
- Dengan meng-commit aturan
permissions.deny di .claude/settings.json, aturan pengecualian menjadi terkendali versi
- Semua pengembang di tim mendapatkan pengurangan noise yang sama tanpa konfigurasi tambahan
- Di beberapa codebase, file hasil generate itu sendiri bisa menjadi target pengembangan
- Pengembang yang menangani code generator dapat mengganti aturan pengecualian tingkat proyek di konfigurasi lokal tanpa memengaruhi anggota tim lain
-
Bangun peta codebase jika struktur direktori tidak cukup
- Di organisasi yang kodenya tidak tersusun menurut struktur direktori umum, file Markdown ringan di root dapat membantu
- Menuliskan deskripsi satu baris untuk setiap folder tingkat atas dan isinya menjadi daftar isi yang bisa dipindai Claude sebelum membuka file
- Jika folder tingkat atas berjumlah ratusan, pendekatan berlapis paling efektif: file root menjelaskan struktur tertinggi saja, lalu
CLAUDE.md subdirektori memberikan detail tingkat berikutnya secara on-demand
- Untuk kasus yang lebih sederhana, fungsi yang sama bisa dicapai dengan me-mention file atau direktori tertentu menggunakan
@ agar dirujuk Claude
-
Cari berdasarkan simbol, bukan string, dengan server LSP
- Jika nama fungsi umum di-
grep dalam codebase besar, hasilnya bisa ribuan kecocokan, dan Claude akan menghabiskan konteks untuk membuka file demi memutuskan mana yang penting
- LSP hanya mengembalikan referensi yang menunjuk ke simbol yang sama, sehingga penyaringan terjadi bahkan sebelum Claude membaca apa pun
- Untuk menyiapkannya, Anda perlu memasang code intelligence plugin untuk bahasa terkait dan binary language server yang sesuai
- Dokumentasi Claude Code mencakup plugin yang tersedia dan cara troubleshooting
-
Pengecualian
- Bahkan pendekatan
CLAUDE.md yang berlapis pun memiliki edge case yang bisa membuatnya gagal
- Contohnya adalah codebase dengan ratusan ribu folder dan jutaan file, atau sistem legacy yang menggunakan version control selain Git
-
Memelihara file CLAUDE.md sesuai perubahan kecerdasan model
- Ketika model berkembang, instruksi yang ditulis untuk model saat ini bisa justru menghambat model masa depan
- Aturan
CLAUDE.md yang dulu membimbing Claude melalui pola yang sebelumnya sulit bisa menjadi tidak perlu atau malah menjadi kendala pada model baru
- Misalnya, aturan untuk memecah semua refactor menjadi perubahan satu file mungkin membantu model lama menjaga alur, tetapi dapat menghambat multi-file edit terkoordinasi yang justru bisa ditangani model baru dengan baik
- Skills dan hooks yang dibuat untuk menutupi keterbatasan tertentu pada penalaran model atau alat Claude Code akan menjadi overhead ketika keterbatasan itu hilang
- Hook yang mencegat penulisan file untuk memaksa
p4 edit di codebase Perforce menjadi redundan setelah Claude Code menambahkan mode Perforce native
- Tim perlu mengharapkan tinjauan konfigurasi yang bermakna setiap 3–6 bulan
- Meninjau konfigurasi juga layak dilakukan ketika setelah rilis model besar kinerja terasa stagnan
-
Menetapkan kepemilikan untuk pengelolaan dan adopsi Claude Code
- Konfigurasi teknis saja tidak akan menghasilkan adopsi
- Rollout yang menyebar paling cepat melakukan investasi infrastruktur sebelum akses diperluas
- Tim kecil, kadang hanya satu orang, menghubungkan alat-alat tersebut agar saat pengembang pertama kali mencoba Claude, alat itu sudah bekerja sesuai workflow mereka
- Di satu perusahaan, beberapa engineer membangun bundel plugin dan MCP yang bisa langsung dipakai sejak hari pertama
- Di perusahaan lain, tim khusus yang mengelola alat AI coding menyiapkan infrastrukturnya sebelum rollout
- Pekerjaan ini biasanya berada di bawah organisasi developer experience atau developer productivity yang juga menangani onboarding engineer baru dan pembangunan developer tools
- Di sejumlah organisasi, mulai muncul peran agent manager sebagai peran hybrid PM/engineer yang mengelola ekosistem Claude Code
- Jika tidak ada tim khusus, bentuk minimum yang layak adalah satu DRI
- DRI ini harus memiliki kepemilikan atas konfigurasi Claude Code, keputusan nilai konfigurasi, kebijakan izin, plugin marketplace, serta aturan
CLAUDE.md dan tanggung jawab untuk menjaganya tetap mutakhir
- Adopsi bottom-up memang membangun antusiasme, tetapi bisa terfragmentasi jika tidak ada orang yang memusatkan hal-hal yang terbukti efektif
- Diperlukan individu atau tim yang mengumpulkan dan menyebarkan aturan Claude Code seperti hierarki
CLAUDE.md yang distandardisasi atau skills dan plugins yang telah dikurasi
- Tanpa pekerjaan ini, pengetahuan akan tetap menjadi pengetahuan tersembunyi dan adopsi akan mandek
Tata Kelola dan Rollout
- Di organisasi besar, terutama industri yang teregulasi, pertanyaan tata kelola muncul sejak awal
- Isu utamanya mencakup siapa yang mengontrol skills dan plugins yang boleh digunakan, cara mencegah ribuan engineer membuat ulang hal yang sama secara terpisah, dan cara memastikan kode hasil AI melalui prosedur review yang sama seperti kode buatan manusia
- Pada tahap awal, pendekatan yang disarankan adalah memulai dengan kumpulan skills yang telah disetujui, prosedur code review wajib, dan akses awal yang dibatasi, lalu memperluasnya saat kepercayaan sudah terbentuk
- Deployment yang paling mulus datang dari organisasi yang sejak awal membentuk working group lintas fungsi dengan perwakilan engineering, keamanan informasi, dan tata kelola untuk bersama-sama mendefinisikan kebutuhan dan roadmap rollout
Asumsi dan Batasan saat Diterapkan ke Organisasi
- Claude Code dirancang dengan fokus pada lingkungan software engineering tradisional, di mana engineer adalah kontributor utama codebase, repositori menggunakan Git, dan kode mengikuti struktur direktori standar
- Sebagian besar codebase besar memang sesuai dengan kerangka ini, tetapi game engine dengan aset biner besar, lingkungan version control nontradisional, atau lingkungan tempat non-engineer berkontribusi pada codebase memerlukan pekerjaan konfigurasi tambahan
- Pola yang disajikan mengasumsikan pengaturan tradisional dan telah bekerja di berbagai lingkungan pelanggan
- Kompleksitas yang tersisa perlu dipertimbangkan sesuai codebase, alat, dan struktur organisasi masing-masing
- Tim Applied AI Anthropic bekerja langsung dengan tim engineering untuk menerjemahkan pola-pola ini ke kebutuhan spesifik organisasi
1 komentar
Komentar Hacker News
Ungkapan bahwa ia menjelajahi codebase “seperti software engineer” dan kesimpulannya tampak saling bertentangan
Autocomplete atau LSP selalu dipakai dan berguna, bukankah itu juga semacam indeks? Saya juga heran kenapa Claude tidak bisa memakainya
Software engineer juga mengingat codebase, yang pada dasarnya mirip RAG, dan banyak juga yang punya muscle memory untuk mencari file yang dibutuhkan lewat CMD+P dengan autocomplete
Untuk seluruh codebase yang diubah ribuan engineer secara bersamaan, tidak harus real-time; cukup lihat branch yang sedang saya kerjakan dengan baik
Jarang sekali orang menjelajahi codebase dengan menelusuri file system dari awal, biasanya hanya saat codebase itu benar-benar baru, dan bahkan saat itu pun sulit menyebutnya pengalaman yang optimal
Saya belajar menavigasi codebase besar sejak sebelum ada LSP, dan lama memakai vim sambil mencari file terkait dengan grep
Saat pertama kali mencoba Claude Code tahun lalu, rasanya seperti, “loh, ini persis melakukan apa yang ingin saya lakukan”
Premisnya adalah Claude Code dipakai di monorepo berjuta-juta baris, sistem legacy berumur puluhan tahun, dan arsitektur terdistribusi yang tersebar di puluhan repositori
Jadi ia dioptimalkan untuk kasus umum memakai alat yang tangguh dan bisa bekerja di mana saja, terutama pada codebase yang besar dan berantakan
Tapi benar juga bahwa untuk repositori kecil yang rapi, Anda bisa dan seharusnya memakai alat yang lebih baik
Setidaknya Codex bekerja seperti itu, misalnya memakai
go docsebelum melakukan grepBegitu Anda bekerja di skala seperti itu, Anda cepat sadar bahwa Claude tidak memakai alat yang dibuat agar pencarian tetap memungkinkan
Kalimat “seperti software engineer” hanya benar sebagian
Manusia juga memakai pencarian simbol, tetapi mereka mencari simbol yang sudah mereka ingat dalam konteks tugas tertentu
Cara Claude Code sekarang menjelajahi simbol secara membabi buta berbeda dari cara engineer bekerja
Satu typo saja bisa membuat agen memutuskan bahwa ia harus mengimplementasikan ulang sesuatu, dan bahkan jika beruntung membaca file yang tepat, ia tetap mudah berhalusinasi
Itu juga bukan cara bekerja di codebase besar
Bagian “menemukan dengan tepat apa yang dibutuhkan lewat grep” terasa paling mengganggu
Untuk melakukan grep, Anda harus tahu apa yang ingin di-grep, dan kalau hasilnya ribuan, semuanya harus diperiksa
Saat hasil seperti itu muncul, manusia akan memikirkan cara mempersempit output alih-alih menyapu hasil secara brute force
Pendekatan tulisan itu terasa lebih seperti pembenaran atas cara kerja saat ini daripada rekomendasi yang kokoh
Pernyataan “tidak perlu indeks codebase” memang bisa benar, tetapi hanya berarti Anda pada akhirnya akan menemukan jawaban lewat siklus grep-read-grep sambil terus memperluas konteks
Ini terdengar mirip dengan mengatakan “karena developer bisa mengimplementasikannya sendiri tanpa Claude Code, maka Claude Code tidak diperlukan”
Menurut saya pesan “tidak diperlukan” ini keliru karena menyampaikan keputusan itu ke komunitas seolah-olah sebagai kebenaran mutlak
Secara keseluruhan, mereka jujur soal biaya organisasi
Di berbagai organisasi, mulai muncul peran “agent manager”, campuran PM dan engineer, untuk mengelola ekosistem Claude Code, dan mereka mengatakan tim perlu meninjau konfigurasi yang bermakna setiap 3–6 bulan
Ini menunjukkan dengan akurat realitas memakai Claude Code skala besar tanpa lapisan code intelligence yang dibangun lebih dulu
Arah yang diambil memang benar, tetapi setelah membaca tulisannya, kesan akhirnya adalah “kami belum memecahkan masalahnya dan inilah batas kami”
Salah satu hal yang paling sering saya perdebatkan dengan Claude adalah membuatnya jauh lebih sedikit menjelajah
Untuk hal-hal yang nyaris tidak pernah berubah, saya lebih paham dan lebih cepat daripada harus membiarkannya memindai dengan cara yang lambat dan mahal
Tapi ia terus masuk ke lubang kelinci yang sama setiap kali
Sebagai anekdot, saya sedang merancang proyek untuk onboarding dan orkestrasi LLM, dan Claude memilih hanya membaca 40 baris pertama dari tiap file
Di sesi lain, ketika Claude mencari penyebab kualitas yang rendah, ia menemukan cacat itu dan mengubah kodenya agar melakukan analisis AST dengan memakai baris dokumentasi serta input/output dari signature fungsi sebagai masukan
Pendekatan awal Claude memang sangat buruk
Ini membuat saya bertanya-tanya seberapa banyak Claude Code harus diperbaiki dan direview agar bisa menjadi bagus, atau apakah ia sejak awal memang bisa menghasilkan kode yang bagus
Jika digeneralisasi, Claude bisa memperbaiki keputusan buruk yang lokal dan mudah diidentifikasi seperti “hanya baca 40 baris pertama”
Itu karena cacatnya terisolasi dan bisa ditelusuri ke satu potong kode
Tetapi masalah kualitas software di dunia nyata sering kali muncul ketika banyak keputusan kecil yang masing-masing tampak masuk akal berkumpul dan menghasilkan hasil buruk
Dalam situasi seperti itu, tidak ada satu pun yang jelas-jelas merupakan “cacat”, jadi alat yang menghasilkan komponen berkualitas rendah sepotong demi sepotong bisa gagal berkonvergensi ke kode yang baik karena tiap potongan tampak baik-baik saja jika dilihat terpisah
Untuk kasus seperti ini, logika bawahan atau sub-agen yang utuh mungkin lebih cocok
Misalnya, sub-agen bisa diberi tugas, “tolong telusuri file ini dan buat ringkasan, tandai bagian yang terkait dengan X dan Y. Nanti saya lihat dari konteks utama”
Sub-agen itu juga bisa dibiarkan mengamati alur kerja utama secara berkala, lalu menyela jika ia menilai ada sesuatu dalam file yang sedang dipikirkannya relevan dengan tugas saat ini atau bisa mengubah arah
Bagaimana Claude Code bekerja di codebase besar? Sederhana
Bahkan di proyek kecil pun, prompt pertama bisa memakan 35% dari batas pemakaian 5 jam, dan jika tidak menjawab cepat dalam 5 menit, cache hilang sehingga prompt berikutnya membuat saya membayar 12–15% lagi
Jika dilepas begitu saja secara naif ke codebase besar, memang benar ia akan membakar banyak token saat mencari
Tidak bisakah Claude Code memeriksa codebase lalu otomatis membuat harness yang efektif?
Saya sudah mendefinisikan
CLAUDE.md,AGENTS.md, skills, dan plugin, tetapi tidak mendapatkan efek sebesar yang orang lain ceritakanMisalnya, meski ada plugin LSP, Claude Code tidak memakai rename simbol dari LSP dan malah mengubah file satu per satu dengan lambat, atau meski prompt sudah menyebutkan bahwa jika ada petunjuk tertentu maka panggil skill, ia tetap tidak memanggilnya
Apakah saya memakainya dengan salah? Saya penasaran apakah ada contoh harness yang kokoh dan bisa langsung disalin
Bahkan jika Anda berkata, “kalau A maka lakukan X. lakukan B, C, D. lakukan A”, ia tetap saja tidak memakai X
Alasannya karena ia “lupa”
Sulit percaya bahwa waktu yang dihabiskan untuk membuat aturan benar-benar akan terbayar, sementara sangat mudah percaya bahwa pada akhirnya ia akan gagal
RAG, harness, dan skills semuanya mengklaim akan memperbaiki hal ini, tetapi dalam praktiknya tidak berhasil
/initdan berhenti menyimpan fileCLAUDE.mdatauAGENTS.mdyang menjelaskan codebaseYang saya sisakan hanya cara menavigasi codebase dan anjuran untuk memakai
git logsaat menyelidiki, meski ini pun kemungkinan besar redundanSaya juga tidak tahu jawabannya
Codebase yang saya kerjakan kira-kira sekitar 100 ribu baris, jadi saya tidak yakin apakah itu tergolong besar, tetapi secara pribadi itu repositori terbesar yang pernah saya kerjakan
Untuk membatasi konteks, saya harus menghapus sebagian pesan linter yang tidak perlu
Linter atau pemeriksa spesifik bahasa yang dipasang dari repositori paket sistem operasi dan bisa dipanggil dari skrip juga membantu
Kombinasi model dan konteks skill juga bisa membuat perbedaan
Skill yang “berfungsi” di 4.6 bisa tidak begitu cocok di 4.7; 4.7 memerlukan instruksi yang lebih eksplisit tetapi relatif lebih stabil daripada 4.6
Memperbarui skill juga bisa membantu, dan Anda perlu membandingkan pengujian serta eksekusi sebelum dan sesudahnya
Claude Code juga memasukkan pemanggilan alat yang tidak perlu ke dalam konteks, jadi misalnya jika Anda suka beads, Anda mungkin perlu menahan pekerjaan itu
Saya tidak setuju dengan klaim tentang indeks codebase
Di PHPStorm atau IDE JetBrains lain, indeks bekerja sangat baik
Sangat jarang rusak, dan kalau pun rusak mudah diperbaiki; saya juga tidak pernah mendapat hasil yang usang
Jika Anda pernah memakai alat pencarian Claude, Anda tidak akan heran bahwa tim itu tampaknya tidak tahu apa-apa soal indeks
Sulit dimengerti bagaimana perusahaan yang produk utamanya chat berbasis teks malah membuat pengguna sulit melakukan pencarian teks dengan mudah di chat tersebut
Ini tulisan AI sampah? GitHub Copilot juga punya indeks lokal yang cukup bagus
Memasukkan kode ke vector database bukan masalah yang sulit-sulit amat
Tulisan ini jelas ditulis oleh Claude
Banyak basa-basi dan sedikit sekali isi yang substansial
Aneh ada ungkapan yang memasukkan bahasa seperti C, C++, C#, Java, PHP sebagai bahasa yang tidak selalu diasosiasikan tim dengan alat coding AI
Kenapa orang harus mengira Claude Code tidak akan bekerja baik di bahasa-bahasa itu? Bahasa apa yang dimaksud, Python dan JavaScript?
Di industri yang berubah total bukan dalam hitungan minggu melainkan bulan, menarik bahwa katanya sudah cukup waktu berlalu sampai pola yang jelas terlihat, dan pola itu berhasil pada codebase besar
Apa kriteria keberhasilannya? Apakah berarti tidak menghapus database produksi, tim jadi lebih cepat, umur codebase lebih panjang, atau tim operasional jadi lebih bahagia?
Saya belum pernah bekerja di perusahaan yang memberi hak akses tanpa batas pada level seperti itu
Belakangan ini semua stres saya datang dari Claude Code yang tidak mengikuti instruksi, dan makin besar codebase makin buruk jadinya
Jangan salah paham, Claude itu hebat dan saya menyukainya
Tapi sama sekali tidak bisa mempekerjakan Claude Code saja untuk memelihara codebase atau menambahkan fitur
Saya terus menambahkan entri memori tentang kesalahan masa lalu, tetapi masalah mengabaikan instruksi penting masih terjadi dengan probabilitas sekitar 90%
Satu-satunya cara menghindarinya adalah mengawasi semua pekerjaan dari samping dan meninjau hasilnya secara besar-besaran
Claude Code sangat bagus untuk dokumentasi atau memahami codebase besar, tetapi lemah untuk pekerjaan perubahan yang menuntut pemahaman menyeluruh
Misalnya, ada sekitar 10 pola registry di seluruh codebase yang dipakai untuk berbagai entitas, dan meski sudah ada aturan eksplisit untuk “gunakan pola registry yang satu ini”, Claude Code malah mengimplementasikan 4 registry terpisah untuk tiap entitas
Saya sampai seperti berteriak pada Claude Code selama setengah hari agar tugas sederhana ini benar, lalu akhirnya saya memperbaikinya sendiri demi menghemat stres dan waktu
Mereka bahkan tidak menjelaskan dengan istilah yang konkret apa tepatnya yang harus dimasukkan ke tiap file
CLAUDE.md, jadi saya tidak tahu seberapa penting file-file ituCara memancing: 1) pasang
skill-creatorresmi 2) pakai tautan di atas untuk membuatclaude-md-improver3) suruh ia meneliti topikprogressive-disclosuredari dokumentasi resmi agar skill-nya membaik 4) terapkan skill baru itu ke fileCLAUDE.mddan terima perubahannya