| Pattern | Value |
|---|---|
| Architecture type | Orchestrator-Workers |
| Agent count | 4 (1 orchestrator + 3 workers) |
| Orchestration style | Sequential fan-out with HITL gate at send |
| State management | External session store (Redis) |
| Dimension | Classification |
|---|---|
| Action reversibility | Correctable |
| Human approval gate | Required before send |
| Failure blast radius | Low — draft only until approved |
| Recommended rollout | Shadow mode → gated (10%) → progressive |
| Overall autonomy level | L2 — Assisted |
| Tool / Integration | Purpose | Scope | Risk |
|---|---|---|---|
classify_ticket |
Assign category and priority to inbound ticket | Read-only | Low |
search_kb |
Retrieve relevant knowledge base articles by category | Read-only | Low |
get_article |
Fetch full text of a specific KB article by ID | Read-only | Low |
draft_response |
Generate candidate reply from KB context and ticket | Read-only | Low |
send_response |
Deliver approved draft to customer via support channel | Write — irreversible | Medium — HITL gate required |
escalate_ticket |
Route ticket to human agent when classifier confidence is low | Write — correctable | Low |
| Decision | Choice made | Alternatives considered | Tradeoff |
|---|---|---|---|
| Architecture pattern | Orchestrator-Workers | Single agent with all tools, parallel fan-out | 3 workers reduce per-agent tool count from 6 to 2; context stays focused. Adds coordination overhead. |
| KB retrieval strategy | Category-first search | Full-text semantic search across all articles | Category filter reduces retrieval noise by 60%; requires accurate classification first. Cascading dependency. |
| Response send gate | HITL approval before send | Automatic send with post-send review, no gate | Prevents sending incorrect responses; adds ~2 min latency. Acceptable for support SLA of 4 hours. |
| State persistence | External Redis session store | In-context state, filesystem state | Enables long-lived sessions across human review gaps; requires Redis ops; in-context state would overflow on complex tickets. |
The Orchestrator-Workers pattern is the correct choice for this workload: 6 tools across 3 functional roles would create context pollution in a single-agent design, and sequential fan-out maps cleanly to the classify → retrieve → draft pipeline. The L2 autonomy tier (HITL gate on send) is appropriate given the irreversibility of sending incorrect support responses to customers. Before proceeding to shadow mode, resolve three gaps: define the tool boundary between classifier and KB worker (currently a shared data dependency without a formal contract), implement the HITL approval interface explicitly rather than as a placeholder, and add the observability spine. These are not blocking redesigns — they are implementation completeness items that can be addressed in the current sprint.