Concept
An agent responsibility is a contract. It says what the agent owns, what it can do, what it must not do, what information it needs, and when it should stop, hand off, or escalate. Clear responsibilities make routing safer. A supervisor can only route well when every specialist has a distinct job.
Limitations guide the model. For hard enforcement, pair them with tools, constraints, guardrails, permissions, and handoff boundaries.
Decision guide
Responsibility worksheet
Before writing the agent, answer these questions:Minimal working example: account-security specialist project
This example is a project-level set. The responsibility boundary is visible in the account-security agent, and the handoff targets are defined in the same project.agents/account-security-agent.agent.abl
agents/billing-support-agent.agent.abl
agents/live-agent.agent.abl
HANDOFF entry above declares HISTORY, each target now receives the full conversation history by default (the current platform default when HISTORY is omitted). Also, because each WHEN here is a single-field comparison (intent.category == "billing"), an unset field simply makes the comparison evaluate false — no error, and the trace shows your literal source text.
How to write strong goals
Weak goal: “Help customers with account stuff.” Strong goal: “Verify identity and help users recover account access.” A strong goal names the business outcome, the user, and the scope. It should be narrow enough that an owner can say whether the agent succeeded.How to write useful limitations
For regulated or high-risk actions, do not rely on limitations alone. Add hard boundaries through tools, constraints, guardrails, permissions, or human handoff.
When to split an agent
Split an agent when it has more than one business owner, more than one permission model, conflicting limitations, different tools by topic, or different success criteria by request type. Keep one agent when the same owner, policy, tools, data, and success criteria apply across the conversation. UseDELEGATE instead of splitting when the active agent only needs a subtask result and should keep the user conversation.
Verification
- Validate the account-security agent and its handoff targets together.
- Send: “I need to recover my account.” Confirm
account_idandverification_methodare gathered. - Send: “I have a billing question.” Confirm the route goes to
Billing_Support_Agentand passesaccount_id. - Send: “I want to talk to someone.” Confirm the route goes to
Live_Agent. - Inspect trace/debug output for selected handoff target, passed context, and final active agent.
Production readiness checklist
- Each specialist has one primary business owner and one primary outcome.
- Required fields are gathered or otherwise populated before tools, handoffs, or completion need them.
- Sensitive or regulated actions are enforced with tools, constraints, guardrails, permissions, or human handoff.
- Out-of-scope intents have handoff routes.
- Success, out-of-scope, human escalation, and failure paths have test utterances.
- Trace/debug output shows clear ownership transitions.