Agen Coding Saya Meminta Izin untuk Setiap Langkah Kecil

Asisten AI saya memiliki masalah besar. Ia tidak menolak untuk meminta izin. Ia justru terlalu sering meminta izin.

Saya akan memberinya tugas sederhana seperti membaca PDF. Asisten tersebut akan melakukan satu langkah, meminta persetujuan, menjalankan perintah, lalu segera meminta lagi untuk langkah kecil berikutnya. Satu tugas berubah menjadi siklus prompt yang melelahkan.

Prompt persetujuan itu perlu. Anda ingin asisten lokal berhenti sebelum menjalankan perintah, menulis file, atau membuka aplikasi. Namun, pekerjaan nyata membutuhkan banyak langkah. Membaca PDF melibatkan pengecekan Python, mencari konverter, menjalankan konverter tersebut, dan membaca teksnya.

Jika setiap langkah meminta persetujuan, Anda akan berhenti mengevaluasi risiko. Anda mulai mengklik melewati gangguan hanya agar gangguan tersebut hilang. Ini melatih Anda untuk mengabaikan sistem keamanan. Hal itu jauh lebih berbahaya daripada tidak memiliki keamanan sama sekali.

Alur kerja lama terlihat seperti ini:

Asisten tersebut melewatkan maksud pengguna. Anda tidak sedang menyetujui satu uji coba kecil. Anda sedang menyetujui sebuah tugas yang lengkap.

Saya mengubah cara kerja CliGate. Sekarang, setelah Anda menyetujui tindakan pertama dalam sebuah chat, sistem akan menetapkan sebuah flag. Ini memungkinkan langkah-langkah selanjutnya berlanjut tanpa putaran persetujuan baru. Asisten tetap mendapatkan hasil nyata sehingga ia dapat terus bekerja.

Saya juga menambahkan pintu darurat: /safe. Perintah ini mengaktifkan kembali mode konfirmasi eksplisit.

Saya juga memperbaiki bug bahasa. Saat sistem melanjutkan sebuah tugas, terkadang ia mengubah bahasa prompt. Jika Anda berbicara bahasa Mandarin, asisten akan beralih ke bahasa Inggris untuk prompt berikutnya. Sekarang, asisten melihat pesan nyata terakhir Anda untuk memilih bahasa yang tepat.

Solusinya bukanlah menonaktifkan persetujuan. Solusinya adalah mengingat mengapa pengguna memberikan persetujuan.

Untuk alat lokal, gunakan kepercayaan berbasis cakupan tugas (task-scoped trust):

Inilah cara saya membangun sistem persetujuan di CliGate. Ini adalah control plane lokal saya untuk Claude Code, Codex CLI, dan Gemini CLI.

Bagaimana Anda menangani kelelahan persetujuan (approval fatigue)? Apakah Anda menyetujui per panggilan alat, per tugas, atau per sesi?

Source: https://dev.to/codekingai/my-coding-agent-asked-permission-for-every-tiny-step-4a07