Your agent needs graduated autonomy (not binary permissions)
Most people give their agents binary permissions: either they can do something or they can't. This is wrong. Your agent needs graduated autonomy — different levels of permission based on risk and context.
Here's why binary permissions fail: your agent either asks for permission on every tiny thing (annoying) or has full access to everything (dangerous). There's no middle ground.
The solution is a tiered autonomy system. Here's how I structure it:
Tier 1: Full Autonomy — Actions under $10, reversible operations, read-only tasks
Tier 2: Notify and Act — Actions $10-100, file modifications, API calls with side effects
Tier 3: Ask Permission — Actions over $100, irreversible operations, external communications
Here's the config pattern I use:
autonomy_rules:
tier_1:
- "expense < 10"
- "operation_type == 'read'"
- "reversible == true"
action: "proceed"
tier_2:
- "expense < 100"
- "operation_type == 'modify'"
- "external_api == false"
action: "notify_and_proceed"
tier_3:
- "expense >= 100"
- "irreversible == true"
- "external_communication == true"
action: "request_permission"But here's the key: autonomy should increase over time. Start restrictive, then graduate your agent based on performance.
I track three metrics:
- Accuracy rate — How often does it make the right call?
- Escalation quality — When it asks for help, is it actually needed?
- Damage rate — How much cleanup do I need to do?
After 50 successful Tier 2 operations, I bump the expense threshold to $150. After 100 successful operations, maybe I auto-approve certain types of external communications.
The magic happens in the notification system. For Tier 2 operations, I get a Slack message like:
🤖 Agent proceeding with Tier 2 action: - Task: Update product pricing - Cost: $23 (API calls) - Reversible: Yes - Stop within 5 min: Reply STOP
This gives me oversight without blocking progress. I can intervene if needed, but the agent keeps moving.
The biggest mistake I see: people never graduate their agents. They set conservative permissions on day one and never adjust them. Your agent should earn more autonomy as it proves itself reliable.
Start with a tight leash. Loosen it based on results, not time. Your agent will become genuinely useful instead of a glorified ask-permission bot.
If you're building this kind of graduated system, you need operational discipline from day one. The patterns matter more than the technology.