4 poin oleh GN⁺ 2 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2 jam lalu
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

    • Ini persis sama dengan cara saya bekerja
      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”
    • Jawabannya ada di pembukaan tulisan itu
      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 doc sebelum melakukan grep
    • Pada codebase yang benar-benar besar, grep dan find mengalami timeout
      Begitu Anda bekerja di skala seperti itu, Anda cepat sadar bahwa Claude tidak memakai alat yang dibuat agar pencarian tetap memungkinkan
    • Ada banyak ungkapan yang terdengar meyakinkan dalam paragraf pendek itu, tetapi pada praktiknya terasa seperti klaim penuh harapan
      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”
    • Bahkan jika Anda menjelajahi sebagian codebase dari nol, ada juga bagian yang sama sekali tidak berubah, jadi menjelajahinya setiap kali adalah pemborosan token besar
      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

    • Sepertinya ia dilatih untuk mengintip source code lewat celah sempit demi menjaga konteks
      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

    • Tulisan yang ditautkan menjelaskan cara menghindari ini
      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 ceritakan
    Misalnya, 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

    • Ini sudah menjadi titik sakit selama bertahun-tahun dan sama sekali belum terpecahkan
      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
    • Saya berhenti memakai /init dan berhenti menyimpan file CLAUDE.md atau AGENTS.md yang menjelaskan codebase
      Yang saya sisakan hanya cara menavigasi codebase dan anjuran untuk memakai git log saat menyelidiki, meski ini pun kemungkinan besar redundan
      Saya 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
    • Dalam beberapa kasus, hooks dengan skrip tampaknya efektif untuk memasukkan informasi ke context window
      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

    • Indeks PHPStorm luar biasa
      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
    • Claude Code bisa memakai MCP JetBrains untuk menggunakan indeks itu
    • Klaim yang aneh
      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?

    • Kalau database produksi sampai terhapus karena alat AI, saya terus ingin menekankan bahwa itu adalah kegagalan Anda dan organisasi Anda yang memberi developer hak akses produksi untuk menghapus resource operasional
      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 itu

    • Ikan: bisa dibaca di sini https://code.claude.com/docs/en/best-practices#write-an-effe...
      Cara memancing: 1) pasang skill-creator resmi 2) pakai tautan di atas untuk membuat claude-md-improver 3) suruh ia meneliti topik progressive-disclosure dari dokumentasi resmi agar skill-nya membaik 4) terapkan skill baru itu ke file CLAUDE.md dan terima perubahannya