Alur Kerja Praktis untuk Mencegah Kontaminasi Kode Warisan (Legacy Code) Saat Mengadopsi Agen AI
Sebagai insinyur senior, hambatan terbesar saat mengadopsi agen AI seperti Claude Code adalah hilangnya kendali. Begitu AI mengubah logika kompleks di lingkungan produksi secara sembarangan atau menyentuh file yang tidak terduga, biaya pemulihan akan meningkat secara eksponensial. Berikut ini adalah sistem pertahanan konkret untuk menjaga integritas basis kode sembari tetap menikmati efisiensi AI.
Isolasi Proyek dan Kontrol Hak Akses
Anda harus mencegah agen AI mengacak-acak seluruh kode. Tetapkan batasan hak akses di akar proyek (root) untuk secara paksa mengurung ruang lingkup akses AI di dalam area isolasi fisik.
- Buat file .clinerules di akar proyek. Di dalam file ini, cantumkan secara eksplisit jalur sensitif yang tidak boleh diubah oleh AI (seperti config/database.yml, .env*, src/core/auth/) untuk memblokir hak edit.
- Batasi akses shell di dalam pipeline CI/CD tim agar perintah paksa seperti --no-verify tidak dapat digunakan saat menjalankan agen AI.
Metode pemblokiran proaktif ini mengurangi bug regresi yang disebabkan oleh AI yang secara tidak sengaja menyentuh logika bisnis inti, dan sebagai hasilnya, menurunkan beban kerja modifikasi kode tahunan sekitar 20%.
Manajemen Riwayat Kode Berbasis Metadata
Jika kode yang ditulis manusia dan kode yang dibuat oleh AI tercampur, pemeliharaan di masa depan akan menjadi mustahil. Memisahkan penulis dengan memanfaatkan catatan Git (Git notes) akan meningkatkan efisiensi peninjauan secara drastis.
- Tanamkan skrip yang mendeteksi CLAUDE_SESSION_ID di dalam .git/hooks/commit-msg. Jika itu adalah commit yang dibuat oleh AI, maka [AI-GENERATED] akan disisipkan secara otomatis ke header pesan.
- Atur tugas cron yang berjalan setiap jam 2 pagi. Skrip ini akan memindai git log untuk mencari commit dengan kontribusi AI lebih dari 40% dan mengirimkan notifikasi ke messenger tim.
Dengan melacak hasil kerja AI secara real-time menggunakan cara ini, Anda dapat memfilter area yang dibuat AI terlebih dahulu saat meninjau kode, sehingga dapat mempersingkat waktu peninjauan hingga 30%.
Optimasi Biaya Token dan Pengaturan .claudeignore
Jika Anda menunjukkan semua file kepada AI, biaya hanya akan membengkak. Anda dapat mencegah konsumsi token yang tidak perlu dengan membagi dan mengirimkan konteks berdasarkan unit logika domain.
- Seperti mengelola .gitignore, buatlah file .claudeignore secara mendetail untuk setiap direktori proyek. Kecualikan area yang tidak perlu dilihat oleh AI, seperti hasil build atau data terstruktur.
- Tempatkan file CLAUDE.md lokal di setiap direktori modul utama untuk mengarahkan AI agar hanya merujuk pada konteks minimal yang diperlukan untuk pengerjaan modul tersebut.
Pendekatan terstruktur seperti ini mengurangi biaya token yang diperlukan AI untuk memahami konteks hingga maksimal 40%.
Loop Validasi Keamanan Offline
Anda harus memeriksa secara real-time apakah kode yang diusulkan oleh AI melanggar kebijakan keamanan. Buat struktur yang melewati loop validasi di sandbox lokal sebelum dikirim ke luar.
- Sambungkan skrip pemindaian lokal ke hook PreToolUse di dalam pengaturan agen.
- Minta skrip tersebut memindai kebocoran kunci API dengan Gitleaks dan kerentanan SQL Injection dengan Semgrep. Jika terjadi pelanggaran aturan keamanan, kembalikan kode keluar 2 (exit code 2) untuk segera menghentikan tugas agen.
Lebih aman untuk memblokir kode yang belum melewati gateway otomatis agar tidak bisa di-commit sama sekali.