01
One agent, many skills
Chose One agent that loads a Markdown skill per task over an orchestrator handing off to 12 domain agents.
Every handoff was a cold start that lost the conversation. One agent keeps the context across billing, support and orders.
Trade-off: All 47 tool schemas share one context window, and access checks run when a skill loads, not on every tool call.
02
One brain, two mouths
Chose A voice worker with no model of its own over a separate voice agent running its own LLM.
Voice turns reach the same agent, session and checkpoint as chat, so a customer can switch between typing and talking mid-conversation.
Trade-off: Every spoken turn crosses the message bus twice, so latency adds up stage by stage.
03
Memory that can’t invent IDs
Chose A knowledge graph built from tool results over one model extracting every memory from the transcript.
The single-model version hallucinated account IDs and drifted its schema. Now IDs come only from tool results; a small model reads behaviour.
Trade-off: The graph runs alongside the older Markdown memory, so there are two memory systems to keep in step.