Everyone starts with one agent. It screens candidates, and then it also confirms interviews, and then it also chases documents — because editing the prompt is easier than creating something new.
Eventually the prompt is a page of conditionals and every call is slightly worse than it should be.
The signs you have outgrown one
- The prompt contains "if". "If they are calling about X do this, otherwise do that." Each branch is a separate agent trying to escape.
- The rating template does not fit. One rubric cannot score a screening call and a confirmation call. If half your ratings are meaningless, you have two jobs in one agent.
- You are paying conversation rates for confirmations. A yes/no should not cost what an interview costs.
- Editing for one job breaks another. The clearest signal, and the most annoying to live with.
Split by conversation, not by audience
The instinct is to split by who you are calling — one agent for engineers, one for designers. That is usually wrong: the conversation is identical and the difference belongs in variables, not in a second agent.
Split by what the call is:
- Screening — two-way conversation, full rating template, knowledge base attached.
- Confirmation — keypad menu. One press, no speech recognition, a fraction of the cost.
- Notification — announcement. Plays the message and hangs up, dials in parallel.
Three agents, three modes, each doing one thing properly. The cost difference alone usually justifies the split within a month.
What to share
Splitting agents does not mean duplicating everything. The knowledge base attaches to more than one agent, so the answers about salary and process are written once. Phone numbers are workspace-level. Only the prompt, the mode and the rating template are genuinely per-agent, and those are exactly the things that should differ.
Where to stop
Three or four agents doing distinct jobs is healthy. Twenty is a filing problem — at that point you are making an agent per campaign, and the variation almost certainly belongs in variables instead.
The test: if two agents differ only in a name or a role that could be filled in from the list, they are one agent.
