← AgentAwake
🔧
Chapter 13 · 10 min read
𝕏

The Bottleneck Elimination Framework

Every 'can you help me with this?' is a bug to fix forever

Every time your agent asks you "hey, I need X to continue" — that's a bottleneck. Most people answer the question and move on. Top operators eliminate the question forever. This chapter shows you how — on every platform.

🍕 Real-life analogy
Imagine a factory where a robot arm stops 10 times a day to ask a human "which color paint?" You could answer every time (reactive). Or you could put up a sign that says "always blue for Model A, always red for Model B" and the robot arm never asks again. That's bottleneck elimination.

The 3 Types of Bottlenecks

1. Missing Context — "What is this?"

Agent doesn't know project history, preferences, or credentials.

Fix: Add it to the Knowledge Base or Tacit Knowledge layer.

2. Missing Permission — "Can I do this?"

Agent knows how but isn't authorized (e.g., tweet, deploy, send email).

Fix: Grant appropriate autonomy level (see Progressive Trust chapter) or set specific guardrails.

3. Missing Logic — "How do I decide?"

Agent faces a fork in the road and doesn't have a decision framework.

Fix: Create a Decision Protocol doc with clear if/then rules.

Without Bottleneck Elimination
  • Agent asks 'what's the deploy target?' every single time
  • You answer the same 5 questions before real work starts
  • 10+ interruptions per day for decisions the agent should know
  • Agent productivity plateaus — never gets truly autonomous
With Bottleneck Elimination
  • Agent reads deployment config from knowledge base automatically
  • Zero repeated questions — every answer is captured once, forever
  • 1-2 interruptions per day for genuinely novel decisions only
  • Agent autonomy compounds — handles more each week

The Compound Effect

Week 1
Agent stuck 10x/day
Week 2
5 bottlenecks removed → stuck 5x/day
Month 1
20 removed → stuck 1x/day
Month 2
Agent rarely needs you. You do strategy.

The "Five Whys" Technique

When your agent stops, don't just unblock it. Ask why it stopped — then eliminate that class of problem forever.

Stop:"Should I use Tailwind or CSS Modules for this component?"
Why?Because I didn't specify a preference.
Why?Because it's not in the project README.
Why?Because we never wrote a tech stack standard.
Fix:Create a standards doc: "Always Tailwind + shadcn/ui." Agent never asks again.

Bottleneck Log Template

knowledge/resources/bottleneck-log.md
# Bottleneck Log

## 2026-02-20
- **Stop:** Asked for Stripe API key
- **Type:** Missing Context
- **Fix:** Added key to .env + documented in project.md
- **Status:** ✅ Eliminated

## 2026-02-21
- **Stop:** "Is this tweet tone okay?"
- **Type:** Missing Logic (no decision framework)
- **Fix:** Updated tacit.md with 5 examples of good vs bad voice
- **Status:** ✅ Eliminated

## 2026-02-22
- **Stop:** "Database migration failed, what do I do?"
- **Type:** Missing Context
- **Fix:** Created troubleshooting.md with standard DB reset commands
- **Status:** ✅ Eliminated

Decision Protocols (Advanced)

For complex decisions, give your agent a flowchart in text form:

knowledge/protocols/content-approval.md
# Content Approval Protocol

When evaluating a draft tweet:

1. Is it controversial or political?
   → Yes → STOP. Ask me. Never post.
   → No → Continue.

2. Is it factually accurate?
   → No → Fix it. Cite sources.
   → Yes → Continue.

3. Does it mention a competitor?
   → Yes → Ensure tone is respectful. Never trash-talk.
   → No → Continue.

4. All checks pass?
   → Schedule for 9 AM ET.
   → Do NOT ask for confirmation.

🔌 Platform-Specific Bottleneck Patterns

Each platform has its own common bottlenecks. Here's what to pre-solve:

🐾 OpenClaw
  • Bottleneck: Agent asks "which Discord channel?" → Fix: Add channel IDs to MEMORY.md or knowledge base
  • Bottleneck: "Should I use cron or heartbeat?" → Fix: Create a decision protocol doc
  • Bottleneck: "Context too long" → Fix: Set up auto-compact rules, use isolated sessions for big tasks
🤖 Claude (API / Projects)
  • Bottleneck: Forgets project context every conversation → Fix: Use Projects feature, paste your AGENTS.md + knowledge base as project docs
  • Bottleneck: Asks "what framework are you using?" → Fix: Add tech stack to project instructions
  • Bottleneck: Can't access files → Fix: Upload key files to project, or use Claude Code CLI
💬 ChatGPT (Custom GPTs / API)
  • Bottleneck: Loses memory after conversation → Fix: Use Memory feature or Custom GPT instructions (paste knowledge base)
  • Bottleneck: "I can't access the internet" → Fix: Enable browsing in settings, or use API with function calling
  • Bottleneck: Inconsistent voice → Fix: Paste tacit.md examples in system prompt
🔗 LangChain / CrewAI / AutoGPT
  • Bottleneck: Agent loops endlessly → Fix: Set max iterations, add clear exit conditions
  • Bottleneck: Tool calls fail silently → Fix: Add error handling + fallback logic in chain definition
  • Bottleneck: Agents argue with each other → Fix: Define clear role boundaries, use sequential (not parallel) for dependent tasks
⚡ n8n / Make / Zapier
  • Bottleneck: Workflow breaks on unexpected data → Fix: Add data validation nodes before AI steps
  • Bottleneck: AI node returns wrong format → Fix: Add explicit output format in prompt + JSON schema
  • Bottleneck: Rate limits → Fix: Add delay nodes, batch processing, error retry logic
💻 Cursor / Windsurf / Cline
  • Bottleneck: "Which file should I edit?" → Fix: Add .cursorrules / AGENTS.md with project structure map
  • Bottleneck: Suggests wrong patterns → Fix: Add code examples in .cursorrules showing your preferred patterns
  • Bottleneck: Doesn't know about existing utilities → Fix: Reference your utils/helpers in project docs
🚀 The Transformation
Week 1: you unblock your agent 10 times a day (you're a babysitter).
Month 1: you unblock it once a week (you're a manager).
Month 3: it runs operations while you do strategy (you're the CEO).

The bottleneck log is the single most important practice in this entire playbook. Start one today.

Share this chapter

𝕏

Chapter navigation

14 of 36