Multi-Agent Orchestration Patterns with Hermes

9 min read Module 8 of 9 Topic 22 of 25

What you'll learn

  • Distinguish contained sub-agents (Module 4) from independent multi-agent coordination
  • Design a supervisor pattern where one Hermes instance delegates to others via MCP
  • Recognize when multiple independent agents earn their added complexity over one agent with more tools
  • Avoid the most common failure modes in multi-agent coordination
Building this at your company? For enterprise and company teams taking this to production: book a 30-minute session with our AI engineers for architecture guidance, code review, and a rollout plan for your use case.
Book a Team Session

Beyond One Agent’s Sub-Agents

Module 4’s contained sub-agents (Lesson 12) solve delegation within one Hermes process: ephemeral, shared terminal backend, torn down after the sub-task. This lesson is about a different problem: coordinating multiple independent Hermes installations, each with its own persistent memory, skills, and lifecycle, working together on a shared goal.

flowchart TB
    SUP["Supervisor agent\n(Hermes instance A)"]
    RES["Research agent\n(Hermes instance B,\nown memory + skills)"]
    WRITE["Writing agent\n(Hermes instance C,\nown memory + skills)"]

    SUP -->|MCP tool call| RES
    SUP -->|MCP tool call| WRITE
    RES -.->|result| SUP
    WRITE -.->|result| SUP

    style SUP fill:#EEF0F7,stroke:#6366F1,color:#0F172A
    style RES fill:#f0fdf9,stroke:#0D9488,color:#0F172A
    style WRITE fill:#f0fdf9,stroke:#0D9488,color:#0F172A

The Supervisor Pattern, via MCP

The cleanest way to wire this up reuses infrastructure you already have: Module 3’s MCP integration. Expose each specialized agent as its own MCP server; the supervisor connects to each one the same way it would connect to a GitHub or Stripe MCP server from Lesson 9.

# supervisor's ~/.hermes/config.yaml
mcp_servers:
  research-agent:
    url: "https://research-agent.internal.corp/mcp"
    headers:
      Authorization: "Bearer ${RESEARCH_AGENT_TOKEN}"
    tools:
      include: [research_topic]

  writing-agent:
    url: "https://writing-agent.internal.corp/mcp"
    headers:
      Authorization: "Bearer ${WRITING_AGENT_TOKEN}"
    tools:
      include: [draft_from_brief]

From the supervisor’s point of view, delegating to the research agent is indistinguishable from any other tool call, it’s a <tool_call> (Lesson 7.2), executed, and the result comes back as a <tool_response>. Everything you learned about tool filtering, reachability checks, and hermes doctor diagnostics in Module 3 applies here directly, with no new mental model required.

Each specialized agent keeps its own memory and skills, a research agent accumulates domain knowledge and search strategies over time (Module 4), independent of whatever the writing agent has learned about tone and formatting. That independence is the actual benefit multi-agent coordination buys you, not available from contained sub-agents, which share everything and persist nothing.

When This Is Worth the Complexity

Coordination overhead is real: more MCP servers to configure and guardrail (Module 7 applies to every agent in the system, not just the supervisor), network calls between agents, more surfaces that can fail independently (Lesson 21’s symptom-to-module map gets correspondingly larger).

Split into separate agents whenKeep as one agent when
Sub-parts genuinely need separate, accumulating memory (a research agent’s domain knowledge shouldn’t bleed into a support agent’s)The task is a single coherent workflow, even if multi-step
Sub-parts should scale or deploy independently (research agent on a beefy GPU box, chat agent on cheap infra)All parts have similar resource and availability needs
Different trust/toolset requirements per part (Lesson 18’s per-surface scoping, generalized)The whole task can share one toolset safely
Sub-parts are developed or maintained by different teamsOne team owns the whole thing

If none of these apply, a single agent with well-scoped tools (Module 3) and contained sub-agents (Lesson 12) for exploratory work usually beats a multi-agent system on simplicity, without giving up capability.

Common Failure Modes

  • Coordination without contracts. If the supervisor’s MCP tool schema for research_topic is vague (violating Lesson 7.1’s advice on tool descriptions), the whole multi-agent system inherits that ambiguity, now across a network boundary where it’s harder to debug.
  • Guardrail drift. Each independent agent needs its own Module 7 treatment, curated toolsets, approval gates for risky actions. It’s easy to guardrail the supervisor carefully and forget that the research agent, reachable via MCP, needs the same discipline.
  • No shared observability. hermes doctor and session traces (Lesson 21) are scoped to one installation. For a multi-agent system, you need a plan for correlating a failure in the supervisor with what actually happened inside the agent it delegated to.

Exercise: sketch a two-agent system for a real task you’d want to automate (a “monitor” agent and an “action” agent is a common, low-risk starting split). For each agent, list its own toolset and guardrail decisions (Module 7) separately, don’t assume the pair shares one policy. Note where you’d need the MCP include filter (Lesson 9) to keep the supervisor from seeing more of the delegated agent’s capability than it needs.

Knowledge Check

3 questions to test your understanding

1 Lesson 12 covered contained sub-agents, short-lived workers spun up within a single Hermes process. How does true multi-agent orchestration in this lesson differ from that?

2 What's the most practical way to let one Hermes agent delegate work to a separate, independently-running Hermes agent?

3 A team is tempted to split a single well-functioning agent into three separate agents (research, drafting, review) purely because 'multi-agent systems are more sophisticated.' What does this lesson suggest checking before doing that?

Go further with expert guidance

Ready to build production AI?
Talk to our R&D team.

These courses give you the foundation. Our embedded AI teams take you from prototype to production in 30–90 days, with your team, your codebase, your goals. Book a free strategy call to see how we can accelerate your AI initiative.

30 minutes · No obligation · Expert AI engineers, not sales reps

AI Architecture Review

Audit your current stack and identify high-impact improvements

Project Review

Get expert feedback on your AI implementation and codebase

Team Mentoring

Upskill your engineers with hands-on AI coaching sessions

AI Strategy

Define your AI roadmap, prioritization, and implementation plan