16. 模型

模型是驱动智能体回复的那个 LLM。OpenHermit 与 provider 无关 —— Anthropic Claude、OpenAI、OpenRouter、你自己自托管的端点,只要它说一种受支持的 API,都可以。任何时候都能换,不丢记忆、不丢会话、不丢技能。


16.1 选模型会影响什么

  • 回复质量 —— 更大 / 更新的模型推理更强。
  • 延迟 —— 小模型更快。
  • 每轮成本 —— 差距很大;工具密集型智能体会放大这个差距。
  • 工具使用可靠性 —— 有些模型对工具 schema 的遵守更严格。如果智能体常挑错参数,模型很可能是原因。
  • 上下文窗口 —— 窗口更大,一轮里能玩转更多文件。

其它一切(记忆、指令、技能、MCP、工作区)与模型无关。


16.2 hermit config 命令

模型选择放在智能体的 config 树里,不是 hermit agents 的 flag。两个 key 重要:

  • model.provider —— 网关路由到哪个 provider(anthropicopenaiopenrouter …)。
  • model.model —— provider 期望的模型标识。
hermit config --agent main show                     # 看所有当前配置,包括 model.*
hermit config --agent main get model.model          # 单个 key
hermit config --agent main set model.provider anthropic
hermit config --agent main set model.model claude-opus-4-7

# 其它有用的模型旋钮:
hermit config --agent main set model.max_tokens 16384

模型标识就是 provider 期望的字符串。网关原样转发。


16.3 Provider 与凭证

网关按模型 ID 推断的 provider 路由调用。Provider 凭证以网关级密钥存储 —— ANTHROPIC_API_KEYOPENAI_API_KEY 等。见 第 18 章 · 密钥

如果你切到一个未设置凭证的 provider,智能体下一轮会以清晰的错误失败。修好密钥再重试。


16.4 会话进行中切换

你可以在活跃会话中间改模型。下一轮就会用新模型,会话历史不变。这对几件事有用:

  • 任务变难时,从便宜模型升到强模型。
  • 日常的后续追问,降回便宜模型。

注意上下文窗口的不匹配:会话中途从 200K 窗口切到 32K 窗口,可能截断历史。


16.5 Web 管理界面

Manage → Basic 有模型选择器 —— 一个下拉,列出网关被告知过的模型。


16.6 角色差异

OwnerUserGuest
看当前模型
改模型

16.7 How-to 配方

16.7.1 用更强的模型处理一项硬任务

hermit config --agent main set model.provider anthropic
hermit config --agent main set model.model claude-opus-4-7

问问题。如果答案好且延迟可以接受,就留着。如果只是一次性需要这种强度,做完再切回去。


16.7.2 让日常使用便宜些

为日常聊天挑一个更快、更小的模型:

hermit config --agent main set model.model claude-haiku-4-5

前几轮注意工具使用的可靠性;小模型偶尔会挑错工具。看到漂移就回到中档模型。


16.7.3 用自托管或备用端点

如果你的网关配置里加了自定义 provider(例如本地 llama.cpp 实例、Azure OpenAI 部署),把 model.provider 设为该 provider 名,model.model 设为它接受的 ID 之一。如果 provider 需要自定义端点,运维侧在网关上配。


16.8 FAQ

改模型会清掉记忆或会话历史吗? 不会。两者都在存储侧,与 provider 无关。

同一网关上不同智能体能用不同模型吗? 可以 —— 按智能体。

同一智能体下不同会话能用不同模型吗? 不能 —— 模型是智能体级设置。要按会话路由,跑多个智能体。

temperature、top-p、max-tokens 呢? model.max_tokens 可按智能体设。Temperature 和 top-p 用网关级默认,除非你的构建把它们暴露为额外的 model.* key —— 用 hermit config --agent <id> show 看。


16.9 指引