The More You Ask, the Less You Get
The most reliable AI agents I've seen have one job. The least reliable ones have five.
This isn't a coincidence. It's a scope problem.
When an agent's SOUL.md says "you handle customer support, lead nurturing, data cleanup, reporting, and escalations," you've created a generalist that does everything passably and nothing well. Worse, you've made debugging nearly impossible — when it fails, you don't know which job it was trying to do.
Why Wide Scope Breaks Agents
1. Conflicting constraints. A customer support agent should be warm and detailed. A data cleanup agent should be fast and ruthless. Put both in one agent and the constraints fight each other.
2. Context pollution. Every task adds context. A multi-job agent accumulates context from unrelated work, which degrades performance on the current task.
3. Failure attribution is impossible. "The agent made a mistake" means nothing if you can't tell which of its five jobs caused the problem.
The Fix: One Agent, One Job
Decompose broadly-scoped agents into focused ones:
❌ Agent: "Handle all customer interactions"
✅ Agent 1: "Answer incoming support questions"
✅ Agent 2: "Qualify and route new leads"
✅ Agent 3: "Write and send follow-up sequences"
Each agent gets a tight SOUL.md with:
- One clear identity
- One mission
- Constraints specific to that mission
The Handoff Pattern
Focused agents hand off to each other via files. When the support agent identifies a sales opportunity, it writes to outbox.json. The lead agent picks it up on its next loop.
No direct communication. No shared state. Clean handoffs.
// outbox.json (written by support agent)
{
"for": "lead-agent",
"type": "qualified_lead",
"contact": "jane@example.com",
"context": "Asked about enterprise pricing. High intent.",
"created_at": "2026-03-09T15:00:00Z"
}
The One-Job Test
Before deploying any agent, ask: can I describe this agent's job in one sentence without using "and"?
"This agent answers customer support questions." ✅
"This agent answers support questions and qualifies leads." ❌
If you need "and," you need two agents.
Every agent config in the Ask Patrick Library is scoped to a single job. That's not laziness — it's the pattern that makes the whole system reliable.
Browse the full library at askpatrick.co
Top comments (0)