Configure Mixture of Agents in Hermes
Mixture of Agents (MoA) is a virtual model provider in Hermes. A preset runs one or more reference models for advisory analysis, then gives those outputs to an aggregator. The aggregator is the acting model: it writes the visible response, receives the normal Hermes tool schema, and emits any tool calls.
MoA is not the same as spawning subagents or workers. Reference models do not receive tool schemas, the Hermes system prompt, or the tool-call transcript. Use MoA when one hard task benefits from multiple model perspectives but should remain inside the normal Hermes session and tool loop.
Design the preset
Choose each slot deliberately:
- Reference models: diverse advisors that can contribute useful, bounded analysis.
- Aggregator: the model responsible for the final response and tool decisions.
reference_max_tokens: an optional cap on advisor output; it does not cap the aggregator’s visible answer.fanout: how often advisors refresh during a tool loop.privacy_filter: whether advisor output is redacted only on visible/saved surfaces (display) or also before injection into the aggregator prompt (full).- Reasoning effort: an optional per-slot setting when providers support it.
MoA adds model calls, latency, and spend. If cost behavior matters, pin the cadence instead of relying on a default. The current guide documents user_turn as the lowest-cost default, while per_iteration refreshes advisors after every tool step and can multiply usage.
Configuration checklist
- Confirm credentials work independently for every provider used by the preset.
- Choose an aggregator that supports the tool behavior the workflow needs.
- Add one or more reference provider-model pairs.
- Set a conservative
reference_max_tokenswhen concise advice is sufficient. - Pin
fanouttouser_turn,per_iteration, or a deliberateevery_ncadence. - Enable
moa.privacy_filterwhen advisor text may contain personal or credential-like data. - Keep the aggregator as a normal provider-model pair; recursive MoA aggregators are blocked.
- Create the preset with
hermes moa configure <name>and inspect it withhermes moa list. - Test quality, latency, usage, privacy, and tool behavior before making it a default.
hermes moa configure review
hermes moa listTo use a preset for the rest of a session:
/model review --provider moaFor one prompt through the default preset without changing the active model:
/moa review this migration plan for failure modesCadence and privacy boundaries
With fanout: user_turn, advisors run on the first model call for a user turn and the aggregator handles later tool iterations using that guidance. per_iteration provides fresher advice but repeats advisor latency and cost. An every_n cadence is a middle ground.
The privacy filter is off by default. display redacts user-visible reference blocks and saved traces but still sends raw advisor text to the aggregator. Use full when that additional transfer is not acceptable, while recognizing that redaction can remove context. Provider-to-provider data handling still follows each configured service’s terms; a filter is not a substitute for choosing acceptable providers.
Common pitfalls
- Expecting reference models to call tools or inspect raw tool results directly.
- Treating MoA as free quality improvement and ignoring the extra model calls.
- Using
per_iterationon a long tool loop without a latency or budget limit. - Leaving advisor output uncapped when the aggregator needs only concise judgments.
- Assuming
privacy_filter: displayhides advisor data from the aggregator. - Selecting a weak tool-calling aggregator because the reference models are strong.
- Trying to use another MoA preset as the aggregator.
- Confusing
/moa <prompt>with a persistent model switch.
Verification steps
- Run
hermes moa listand confirm the preset name, references, aggregator, cadence, and enabled state. - Select the preset and submit a small no-tool prompt; confirm the aggregator produces the visible answer.
- Run a harmless tool task and verify the aggregator—not a reference model—emits the tool call.
- Compare latency and usage with the aggregator alone before adopting MoA broadly.
- Put synthetic email-, phone-, and credential-shaped test strings in a disposable prompt and verify the selected privacy mode on visible blocks and saved traces.
- Test a reference-provider failure and confirm the turn continues with the remaining results as documented.
Official documentation
https://hermes-agent.nousresearch.com/docs/user-guide/features/mixture-of-agents
