𝗠𝘆 𝗖𝗼𝗱𝗶𝗻𝗴 𝗔𝗴𝗲𝗻𝘁 𝗔𝘀𝗸𝗲𝗱 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗳𝗼𝗿 𝗘𝘃𝗲𝗿𝘆 𝗧𝗶𝗻𝘆 𝗦𝘁𝗲𝗽

My AI assistant had a major problem. It did not refuse to ask for permission. It asked for permission too often.

I would give it a simple task like reading a PDF. The assistant would make one move, ask for approval, run the command, and then immediately ask again for the next tiny step. One task became a treadmill of prompts.

Approval prompts are necessary. You want a local assistant to stop before it runs commands, writes files, or opens apps. But real work requires many steps. Reading a PDF involves checking for Python, finding a converter, running that converter, and reading the text.

If every single step asks for approval, you stop evaluating risk. You start clicking through interruptions just to make them go away. This trains you to ignore the safety system. That is more dangerous than having no safety at all.

The old workflow looked like this:

The assistant missed the intent of the user. You were not approving one tiny probe. You were approving a complete task.

I changed how CliGate works. Now, once you approve the first action in a chat, the system sets a flag. This lets later steps continue without new approval rounds. The assistant still gets the real results so it can keep working.

I also added an escape hatch: /safe. This command turns explicit confirmation mode back on.

I also fixed a language bug. When the system continued a task, it sometimes changed the language of the prompts. If you spoke Chinese, the assistant would switch to English for the next prompt. Now, the assistant looks at your last real message to choose the right language.

The fix is not to disable approvals. The fix is to remember why the user gave approval.

For local tools, use task-scoped trust:

This is how I build approvals in CliGate. It is my local control plane for Claude Code, Codex CLI, and Gemini CLI.

How do you handle approval fatigue? Do you approve per tool call, per task, or per session?

माझा कोडिंग एजंट प्रत्येक लहान पावलासाठी परवानगी मागत होता

मी काही काळापासून AI कोडिंग एजंट वापरत आहे आणि ते अत्यंत शक्तिशाली असले तरी, ते अत्यंत त्रासदायक देखील असू शकतात.

मी अनुभवलेली मुख्य समस्या म्हणजे, त्यापैकी अनेक एजंट्स अतिशय सावध राहण्यासाठी प्रोग्राम केलेले असतात. ते घेत असलेल्या प्रत्येक कृतीसाठी परवानगी मागत असतात.

'मी ही फाईल वाचू शकतो का?' 'मी ही कमांड रन करू शकतो का?' 'मी ही डिरेक्टरी तयार करू शकतो का?'

हा सततचा संवाद उत्पादकता (productivity) मोठ्या प्रमाणात कमी करतो. यामुळे माझा कामाचा प्रवाह (flow) खंडित होतो आणि मला सतत माझे कोडिंग आणि एजंटच्या विनंत्या यांच्यामध्ये स्विच करावे लागते.

मला समजले की समस्या एजंटची नव्हती, तर तो कसा कॉन्फिगर केला आहे याची होती. मी त्याला अधिक स्वायत्तता (autonomy) देण्यासाठी सिस्टम प्रॉम्प्टसोबत प्रयोग करण्याचा निर्णय घेतला.

मी एजंटला सांगितले: 'तू एक स्वायत्त कोडिंग असिस्टंट आहेस. तुला फाईल्स वाचण्याची, कमांड्स रन करण्याची आणि दिलेल्या कामाच्या व्याप्तीमध्ये बदल (edits) करण्याची परवानगी आहे. जर तुला एखादी गंभीर त्रुटी (critical error) आढळली किंवा जर तू एखादी डिरेक्टरी डिलीट करण्यासारखी विनाशकारी कृती (destructive action) करणार असशील, तरच परवानगी मागा.'

याचे परिणाम त्वरित आणि प्रभावी होते. एजंट अधिक कार्यक्षम झाला आणि प्रत्येक लहान गोष्टीसाठी परवानगी मागाणे थांबवले. माझ्याकडून खूप कमी हस्तक्षेपामुळे तो कामे पूर्ण करण्यास सक्षम झाला.

महत्त्वाचा धडा म्हणजे, AI एजंटसोबत काम करताना, तुम्हाला स्वायत्तता (autonomy) आणि नियंत्रण (control) यांच्यात योग्य संतुलन शोधणे आवश्यक आहे. जर तुम्ही त्यांना खूप जास्त स्वायत्तता दिली, तर ते चुका करू शकतात. जर तुम्ही त्यांना खूप कमी स्वायत्तता दिली, तर ते त्रासदायक ठरतात.

AI कोडिंग एजंट्सचा जास्तीत जास्त फायदा घेण्यासाठी हे योग्य संतुलन शोधणे आवश्यक आहे.