Mengurangi Pemborosan Token dan 'Whiffing' Agen Claude dengan Pengaturan Fallow
2026年5月1日
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
Saat menggunakan agen AI dalam monorepo skala besar, Anda akan segera menyadari sesuatu. Mereka membaca puluhan ribu file tanpa pandang bulu dan menguras dompet Anda, padahal kode yang dihasilkan sering kali berupa sampah yang kehilangan konteks. Sebelum menyalahkan kecerdasan agen, kita harus melihat apa yang kita berikan padanya. Berikut adalah metode spesifik untuk membuat agen hanya membaca 'kode yang benar-benar berbahaya' dengan memanfaatkan Fallow, alat analisis kode berbasis Rust.
Memberikan seluruh codebase kepada agen adalah tindakan yang tidak bertanggung jawab. Jika ada terlalu banyak informasi, model akan mengalami fenomena 'Lost in the Middle' di mana ia melupakan konten bagian tengah. Anda harus membatasi cakupan eksplorasi agen secara fisik menggunakan fitur pengindeksan Fallow.
.fallow.json di root proyek. Masukkan **/dist/**, **/tests/**, dan paket legacy ke dalam array exclude. Mengurangi kebisingan adalah prioritas utama.rules, tetapkan ambang batas high-complexity di angka sekitar 15. Ini adalah mekanisme untuk memaksa agen memindai modul dengan kompleksitas kognitif tinggi terlebih dahulu.strictBoundaries. Ini mencegah bencana di mana agen mengabaikan batasan paket dan mengacak-acak dependensi.Hanya dengan pengaturan ini, jumlah file yang dibaca agen akan berkurang drastis. Faktanya, memblokir pembacaan file yang tidak perlu dapat menghemat biaya API lebih dari 40%.
Jangan biarkan agen mencari masalah dengan membaca kode baris demi baris secara langsung. Itu membuang-buang uang. Jauh lebih cepat dan akurat untuk memberikan ringkasan data struktural yang telah dihitung sebelumnya oleh Fallow.
Jalankan fallow audit --format json > audit_report.json di terminal untuk mengekstrak pelanggaran arsitektur dan laporan kompleksitas. Masukkan data JSON ini langsung ke jendela konteks Claude atau referensikan dalam file CLAUDE.md. Cukup tulis di system prompt: "Sebelum melakukan perbaikan, pastikan untuk memeriksa skor verdict dan complexity dalam laporan, dan mulailah bekerja dari modul dengan skor terendah."
Pengembang tidak perlu menjelaskan panjang lebar. Agen akan mulai mengoperasi kode yang paling 'busuk' berdasarkan prioritas yang telah disusun oleh data.
Analisis statis saja tidak bisa memberi tahu apakah kode tersebut benar-benar berjalan. 'Kode zombie' yang referensinya masih ada tetapi tidak pernah dipanggil adalah penyebab utama masalah di monorepo. Seperti yang dibuktikan oleh framework SCARF milik Meta, penghapusan yang aman hanya mungkin terjadi jika analisis statis digabungkan dengan cakupan dinamis (dynamic coverage).
Setelah mengumpulkan data coverage V8 (NODE_V8_COVERAGE), jalankan fitur runtime-sync milik Fallow. Anda akan mendapatkan daftar "fungsi yang referensi statisnya ada tetapi tidak pernah dieksekusi selama sebulan terakhir". Berikan daftar ini kepada agen dan minta persetujuan penghapusan. Anda akan mendengar alasan seperti, "Fungsi ini tidak memiliki catatan pemanggilan selama 6 bulan, jadi aman untuk dihapus," langsung dari mulut agen.
Meskipun kode yang ditulis agen langsung berjalan, jangan langsung melakukan merge tanpa pikir panjang. Anda harus memeriksa apakah hal itu merusak keterbacaan dalam jangka panjang. Fallow menghitung Indeks Maintenanceability (MI) dengan menggabungkan kompleksitas Halstead dan jumlah jalur logika.
Tambahkan langkah fallow audit --base main --format json ke GitHub Actions. Cukup buat build gagal jika health_score turun di bawah 70 poin.
Satu gerbang ini menghemat waktu review pengembang senior lebih dari 2 jam setiap minggu. Alih-alih membereskan 'kotoran' yang ditinggalkan agen, Anda hanya perlu meninjau desain kode berkualitas tinggi yang sudah diverifikasi oleh mesin. Perbedaan produktivitas dalam kolaborasi dengan AI ditentukan oleh seberapa dingin Anda menggunakan alat deterministik seperti ini.