Log in to leave a comment
No posts yet
Era di mana editor hanya sekadar membantu menulis kode telah berakhir. Sekarang, agent seperti Claude Code dapat membuka terminal secara langsung, menelusuri sistem file, dan memodifikasi kode. Hal ini sangat memudahkan, namun di sisi lain juga cukup mengerikan. Satu prompt injection saja bisa menyebabkan kebocoran file .env atau SSH key ke pihak luar. Kita membutuhkan metode kontrol konkret yang memberikan otonomi kepada agent tanpa membiarkannya melintasi batas.
Secara default, agent akan mencoba memindai seluruh proyek untuk menjalankan perintah. Jika dibiarkan, ada risiko mereka membaca nilai konfigurasi yang sensitif. Benteng pertahanan yang paling pasti adalah dengan membuat file regulasi khusus agent di direktori root proyek.
CLAUDE.md atau .agent-rules di direktori root.deny agar agent bahkan tidak bisa melirik jalur seperti .env, ~/.ssh, atau ~/.aws/credentials.--allowedTools saat menjalankan agent untuk hanya mengizinkan fungsi yang diperlukan. Ini adalah cara untuk mengaktifkan alat minimal seperti Bash, Read, atau Write saja.Dengan menggunakan Default mode pada Claude Code yang meminta persetujuan pengguna untuk setiap operasi penulisan (write), Anda dapat memblokir risiko kebocoran kode sumber secara fisik. Insiden di mana agent mengirimkan variabel lingkungan ke luar tanpa izin dapat dicegah sepenuhnya hanya dengan satu file konfigurasi.
Alat berbasis agent membuat rencana dan mengeksekusinya sendiri. Masalah muncul ketika mereka terjebak dalam kesalahan logis. Agent yang gagal menemukan solusi mungkin akan melakukan infinite loop dan memanggil API berulang kali, yang dapat membengkakkan tagihan hingga puluhan dolar dalam sekejap. Menurut data penelitian dari Anthropic, menetapkan kriteria keluar (Exit Criteria) yang eksplisit dalam prompt dapat mengurangi waktu eksekusi hingga 62%.
Untuk mencegah lonjakan biaya, Anda harus merancang 'pemutus sirkuit' (circuit breaker) langsung di dalam prompt:
npm test atau unit test tertentu sebagai syarat penyelesaian..cursorrules untuk membatasi agent agar hanya membaca aturan direktori tertentu seperti src/api/**/*, guna mencegah pemborosan token yang tidak perlu.Menetapkan gerbang penyelesaian seperti ini dapat menekan konsumsi token yang disebabkan oleh instruksi ambigu dan menghemat biaya API bulanan rata-rata lebih dari 40%.
Metode di mana agent langsung memodifikasi file lokal memang cepat, tetapi berisiko. Kode yang belum terverifikasi bisa merusak branch utama. Tim engineering Shopify mengoperasikan alat agent internal bernama Sidekick dan menerapkan metode validasi silang (cross-validation) hasilnya dengan model terpisah. Kita juga perlu memisahkan ruang kerja khusus untuk agent.
Cara paling rapi adalah menggunakan git worktree. Buat direktori dan branch independen khusus untuk sesi agent dan serahkan pekerjaan di sana. Setelah selesai, minta agent menjalankan git diff untuk melaporkan ringkasan perubahan, dan jalankan unit test secara otomatis menggunakan alat seperti Playwright atau Vitest. Melalui proses ini, Anda dapat mengurangi waktu peninjauan manual sebesar 70% sambil memastikan hanya kode yang terverifikasi yang digabungkan ke branch utama.
Kecepatan agent dalam menulis kode jauh lebih cepat daripada pengetikan manusia. Pada saat ini, jika fitur editor.formatOnSave di VS Code aktif, format file dapat berubah secara paksa saat agent sedang menulis kode, yang mengakibatkan kesalahan pencocokan teks (text matching error). Ini seperti alat yang tersandung kakinya sendiri.
Selain itu, non-interactive shell yang dijalankan oleh agent sering kali gagal menjalankan alat karena tidak dapat membaca variabel lingkungan yang diatur di .zshrc.
editor.formatOnSave menjadi false di .vscode/settings.json proyek kolaborasi..zshenv, yang dimuat terlepas dari metode eksekusi shell, bukan di .zshrc.Husky untuk mengonfigurasi pre-commit hook agar linter dan formatter hanya berjalan saat agent selesai bekerja dan melakukan commit.Jika Anda tidak ingin melihat agent berdiri mematung karena tidak bisa menemukan variabel lingkungan, periksa kembali pengaturan shell Anda.
| Kategori Pengaturan | Nama File | Konten Pengaturan yang Direkomendasikan | Visibilitas Agent |
|---|---|---|---|
| Variabel Lingkungan Global | .zshenv | Jalur PATH, API_KEY, SDK | Dimuat di semua sesi |
| Pengaturan Interaktif | .zshrc | alias, prompt, theme | Mungkin diabaikan saat eksekusi agent |
| Pengaturan Login | .zprofile | Skrip inisialisasi sistem global | Hanya valid di login shell |