前几天 OpenAI 官方发布了大家心心念念很久的 GPT-5.6 模型,但是很可惜,受到了美政府限制,我们暂时还用不了,不过 Hermes Agent 同时宣布上线 MoA (Mixture of Agents) 功能:

1782696226358_d

MoA 思路很直接:既然单个最强模型有访问门槛,那就让多个模型一起干,然后由一个最强的来做最终决策。官方基准测试跑下来,这个组合比单独跑 Opus 4.8 还高 8%,比 GPT 5.5 高 11%。


MoA 到底是什么

简单说,MoA 是 Hermes Agent 里的一个“虚拟模型提供商”。你配置好一个预设之后,它会在 Hermes 的模型选择器里以一个普通模型的身份出现——选它就行,跟选 Claude、GPT 一样。

但它背后干的事不一样。每次你发消息的时候,Hermes 会:

  1. 先把你的话丢给配置里的“参考模型”,让它们各自分析一遍
  2. 把参考模型的分析结果汇总,附在你的消息后面
  3. 再交给“聚合模型”做最终回复——这个聚合模型才是真正写回复、调工具的那个

我手持 GPT、MiMo、DeepSeek,而他们又有各自的优势,比如 GPT 模型写代码很强,MiMo 跟 DeepSeek 写文章又比较好,在使用 Hermes 的时候不同场景使用需要频繁的切换,或者通过不同的 profile 来执行不同的任务,还是比较麻烦的,所以之前我就一直在想,能不能有个总调度去分配不同的模型去执行不同的任务,没想到现在终于实现了。


为什么要用

我觉得有两个场景特别适合 MoA:

第一,复杂任务需要多视角的时候。 有些问题你问一个模型,它可能从某个角度切入就停了。MoA 让两三个模型先各自思考一遍,聚合模型拿到的上下文更丰富,输出质量明显提升。

第二,你想“蹭”顶级模型的能力但又不确定单用哪个最好的时候。 MoA 默认预设用的是 gpt-5.5 和 deepseek-v4-pro 做参考,claude-opus-4.8 做聚合。三个顶级模型的能力叠在一起,出来的效果比你单独挑一个要稳。

官方的 HermesBench 测试数据:

模型 得分
MoA(opus-4.8 + gpt-5.5 参考) 0.8202
claude-opus-4.8 单独跑 0.7607
gpt-5.5 单独跑 0.7412

比最强的单模型高了 6 个百分点,不是简单地“两个模型平均一下”,是真有加成。


配置方法

方式一:命令行

hermes moa configure

这条命令会交互式地引导你配置默认预设,但是没有明确的说明,大家在第一次配置的时候容易踩坑,这里跟着我一起来操作:

在输入上方命令后第一次跳出的模型选择列表是 reference_models(参考模型)

Pasted image 20260629094833

我们选择模型后直接回车,然后会询问你是否添加其他的 reference_models(参考模型) ,我们点击 Add another 继续选择,如果你有多个模型就持续这个操作:

1782697920030

当所有的参考模型全部都添加完成后,选择 Done,然后这回选的就是 aggregator(聚合模型)

1782697984984

按照上面步骤设置完成后执行下方命令查看已有预设:

hermes moa list

如果像我这样显示 (多个 Reference Models 一个 Aggregator) 那表示配置正确:

1782698080759_d

方式二:直接编辑 config.yaml

这是最灵活的方式。在你的 ~/.hermes/config.yaml(或者对应 profile 的配置文件)里加上:

moa:
  default_preset: default
  presets:
    default:
      reference_models:
        - provider: openai-codex
          model: gpt-5.5
        - provider: openrouter
          model: deepseek/deepseek-v4-pro
      aggregator:
        provider: openai-codex
        model: openai-codex/gpt-5.5
      reference_temperature: 0.6
      aggregator_temperature: 0.4
      max_tokens: 4096
      enabled: true

参数说明:

  • reference_models:参考模型列表,可以放多个,会并行调用。支持不同 provider 混搭。
  • aggregator:聚合模型,最终写回复的那个。它才是真正带工具调用能力的“主模型”。
  • reference_temperature:参考模型的温度,稍微高一点让它们给更多样的视角。
  • aggregator_temperature:聚合模型的温度,低一点让它输出更确定。
  • enabled:设为 false 可以临时关闭某个预设的参考模型扇出,聚合模型会单独运行。

你可以创建多个预设,比如一个日常用的 default,一个专门做代码审查的 review,各自配不同的模型组合。


使用方式

配置好了之后,使用就很简单了。

切到 MoA 模型:

/model default --provider moa

或者在 TUI / Desktop 的模型选择器里直接选,MoA 预设会出现在一个叫“Mixture of Agents”的分类下。

1782698330299

切完之后,正常使用就行。你发的每条消息都会走 MoA 流程,跟平时聊天没区别。

1782698361863

一次性使用 /moa 命令:

如果你不想切模型,只是想偶尔用一次 MoA,直接:

/moa 帮我分析一下这个项目的架构该怎么重构

这条命令会临时切到默认 MoA 预设跑一次,跑完自动切回你之前的模型。很方便,不会影响你日常的模型选择。


几个值得注意的点

Prompt 缓存不会被破坏。 MoA 设计上保证了主对话的缓存前缀是稳定的。参考模型接收的是精简版对话(去掉了系统提示词和工具调用记录),聚合模型拿到的参考结果是追加在最新一条消息末尾的——跟普通对话每轮新增一条消息的缓存行为完全一样。所以不用担心 MoA 会让 token 费用暴涨。

某个参考模型挂了不影响整体。 如果其中一个参考模型的 API key 失效或者网络超时,Hermes 会把失败信息附在上下文里,继续用其他返回了结果的参考模型跑。不会因为一个模型挂了就整个崩掉。

不支持递归嵌套。 聚合模型不能是另一个 MoA 预设,这个限制是故意的,防止递归调用炸掉。

会多花一些 token。 每轮消息会多出几次参考模型的调用。如果你的 API 预算比较紧,可以在不重要的对话里关掉 MoA,关键任务再开。


我的看法

MoA 这个功能的本质,是用“多花一点 token”换“输出质量的实质性提升”。对大多数日常对话来说,单模型就够了。但如果你经常处理复杂任务——写长文、做架构设计、处理多步骤的自动化流程——MoA 带来的多视角分析确实能帮你少踩坑。

不过确实最大的弊端就是废 token,平时一个模型耗费的 Token 现在多个参考模型都会同时耗费,所以就看怎么做取舍了~

官方文档:https://hermes-agent.nousresearch.com/docs/user-guide/features/mixture-of-agents