Choose the least complex architecture that satisfies capability isolation, context isolation, policy boundaries, latency, and ownership. Begin with one agent plus narrow tools. Add deterministic workflow steps for known sequences, routing for distinct intents, and specialists only when they need materially different instructions, context, tools, models, or approval rules.
You will compare common patterns, select a SupportOps baseline, and record the conditions under which the design should evolve.
Start with one triage agent and two read-only tools: get_ticket and search_knowledge. Return a structured decision. A deterministic application layer applies policy and routes high-risk cases to review.
Add a billing specialist only when it needs a separate knowledge source and approval policy. Add a repository specialist only when file/tool context would pollute normal support work. Keep mutation behind a deterministic proposal/approval/commit workflow.
Require at least one measurable reason:
“It feels more agentic” is not a reason.
Run the same task suite against the simpler and proposed designs. Compare task success, unsafe tool calls, handoff accuracy, latency distribution, token/cost proxy, and operational complexity. Include cases that do not require the specialist.
Failure injection: Make two specialists capable of the same task with vague descriptions. Observe routing instability. Fix the capability contracts before tuning the router prompt.
Write two architecture decision records for SupportOps: the single-agent baseline and a proposed specialist design. Define the evaluation threshold required to approve the split.