Hermes config 里的模型思考强度该怎么设置

Question(问题)

Hermes 的 config 里,如果想调模型的“思考强度”,到底该写到哪里?这项配置是 model 层还是 agent 层?当前这台机器上有没有已经设好?

Short Answer(简答)

写到 agent.reasoning_effort,不要写到 model 下面。

当前这台机器已经设了:

  • agent.reasoning_effort: high

如果还要单独控制子代理,再看:

  • delegation.reasoning_effort

当前它是空字符串,表示继承主代理。

Facts(事实)

  • 本机 ~/.hermes/config.yaml 里已经存在:agent.reasoning_effort: high
  • 同一个配置文件里还存在:delegation.reasoning_effort: ''
  • hermes_constants.py 里的 parse_reasoning_effort() 接受的合法值是:noneminimallowmediumhighxhigh
  • CLI /reasoning 命令保存配置时,写入的是 agent.reasoning_effort
  • Gateway 读取 reasoning 配置时,读的也是 agent.reasoning_effort
  • run_agent.py 会把 reasoning 配置转成运行时请求参数;如果没显式传值,常见默认会落到 medium
  • hermes_cli/config.py 里对 delegation.reasoning_effort 的注释写明:空值表示继承父代理。

Interpretation(解释)

这项配置虽然会影响模型请求时的 reasoning 行为,但 Hermes 把它归在 agent 层,而不是 model 层。

换句话说,model 负责“用哪个模型、哪个 provider、哪个 base_url”;agent.reasoning_effort 负责“这个代理调用模型时,思考强度怎么发”。

所以你看到的“模型思考强度”这个说法,实际在 Hermes 里更接近“代理发请求时的 reasoning 配置”。

Open Questions(待解问题)

  • 不同 provider 对 xhighminimal 这些值的实际支持是不是完全一致?
  • 在 custom endpoint 下,是否所有 OpenAI-compatible 路径都会同样接受 Hermes 发出的 reasoning 配置?
  • 某些模型如果不支持 reasoning,Hermes 当前是静默降级,还是会直接报错?

Next Checks(后续核查)

  • 以后如果怀疑没生效,先查 ~/.hermes/config.yaml 里的 agent.reasoning_effort,再看实际 provider 是否支持该值。
  • 如果要单独调子代理,再检查或设置 delegation.reasoning_effort
  • 如果想少动 YAML,优先用 Hermes CLI:hermes config set agent.reasoning_effort <level>