> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/gong-neng/model-routing.md).

# 自动模型路由

一个订阅，多个模型。任务通过提示前缀选择其模型：推理走强模型，快速路径走快模型，视觉走视觉模型。

代理的不同部分想要不同的模型。长链路推理需要前沿模型。快速“修复这个拼写错误”的调用需要又快又便宜的模型。视觉任务需要视觉模型。OpenHuman 通过内置的 **路由提供方** 因此你完全不用费心。

## 请求如何被路由

任何聊天调用中的 model 参数可以采用以下两种形态之一：

* **具体模型名称**。例如 `anthropic/claude-sonnet-4`。使用该精确模型路由到默认提供方。
* **提示前缀**。例如 `hint:reasoning`。在路由表中查找该提示，并解析为一个 `(provider, model)` 配对。

```rust
// crates/openhuman-core/src/providers/router.rs
fn resolve(&self, model: &str) -> (usize, String) {
    if let Some(hint) = model.strip_prefix("hint:") {
        if let Some((idx, resolved_model)) = self.routes.get(hint) {
            return (*idx, resolved_model.clone());
        }
    }
    (self.default_index, model.to_string())
}
```

路由器会封装多个预先创建的提供方（Anthropic、OpenAI、Google、Groq 等），并按请求选择合适的一个。提示可以在运行时重新映射，而无需重启核心。

## 常见提示

| 提示               | 典型目标         | 使用场景                 |
| ---------------- | ------------ | -------------------- |
| `hint:reasoning` | 一个强大的推理模型    | 多步骤规划、数学、代码密集型对话     |
| `hint:fast`      | 一个快速/便宜的模型   | UI 辅助、自动补全、小型分类调用    |
| `hint:vision`    | 一个具备视觉能力的模型  | 截图、图片附件、OCR          |
| `hint:summarize` | 一个擅长压缩的模型    | 记忆树摘要构建              |
| `hint:code`      | 一个针对代码优化的模型  | 原生编码对话               |
| `hint:burst`     | 一个高吞吐、低成本的模型 | 面向高扇出代理的低成本、可容忍延迟的工作 |

具体映射可配置；默认会随各提供方附带合理的路由。

## 一个订阅，或你自己的

默认情况下，路由通过单个 OpenHuman 订阅在幕后完成。你不需要分别持有 Anthropic、OpenAI、Google 等的 API 密钥，后端会代为协调访问，路由器再按任务选择合适的提供方。这就是 README 中“一个订阅，多个提供方”的承诺的具体体现。

订阅是默认选项，不是硬性要求。同一个路由器也可以对接 **你自己的提供方密钥** 或者 **在你自己运行的运行时上的本地模型** （Ollama、LM Studio、MLX，或任何兼容 OpenAI 的服务器），可按工作负载选择，而且三者可以混用。参见 [本地模型与自带密钥](/openhuman/zh/gong-neng/model-routing/local-and-byok-models.md) 了解设置方式，以及每条路由对聊天、视觉和嵌入各支持什么。

## 覆盖路由

* **全局**。config TOML（`Config` 结构体，位于 `crates/openhuman-core/src/config/schema/types.rs`）可在启动时提供自定义路由表。
* **按次调用**。传入具体模型名称（不要 `hint:` 前缀），路由器就会直接使用该精确模型回退到默认提供方。
* **对于一个技能**。技能可以在其清单中固定一个提示或模型。

## 默认模型

设置 → 连接 → LLM → 路由 中有一个 **默认模型** 行：来自托管目录的一个模型，所有托管聊天轮次都运行在它上面，而不是匿名聊天层级（默认打开为 DeepSeek V4 Flash）。composer 中的模型胶囊仍可在单次会话中覆盖它，而专门的层级（推理、编码、视觉、摘要）保持各自的路由。其下方的各行则把每种工作负载路由到 Managed、自带密钥提供方、本地运行时或 Claude Code。

## 按代理固定模型

子代理也可以固定到某个精确模型，而不会影响应用其余部分的自动路由。当编排器或团队负责人需要更强的模型，而高频叶子代理应继续使用更便宜的模型时，就用这个。

对于单次委派，内联调用优先：

```json
{
  "agent_id": "presentation_agent",
  "model": "anthropic/claude-sonnet-4",
  "prompt": "根据第三季度报告制作一份五页幻灯片演示。"
}
```

持久默认值位于 `config.toml`:

```toml
[orchestrator]
model = "anthropic/claude-sonnet-4"

[teams.planner]
lead_model = "openai/gpt-5.1"
agent_model = "groq/llama-3.1-8b-instant"

[teams.image]
agent_model = "openai/gpt-5.1"
```

解析顺序：

1. 内联 `模型` 在 `spawn_subagent` 。或一个 archetype 委派调用。
2. `[orchestrator].model`，或 `[teams.<agent_id>]`，或 `_agent`去除 \_agent 后的别名（`[teams.image]` 用于 `image_agent`).
3. archetype 自身的模型提示和正常路由表。

对于 `[teams.*]`, `lead_model` 适用于可以委派的代理，而 `agent_model` 适用于叶子工作者。如果只设置了其中一个，测试框架会将其回退并同时用于两个角色。

## 为什么这不只是“模型切换器”

路由不是一个 UI 下拉菜单。代理循环本身会根据即将执行的操作发出提示。不是你来选择模型，而是 *任务* 在决定。这就是“多模型”和“智能路由”之间的区别。

## 另请参见

* [智能 Token 压缩](/openhuman/zh/gong-neng/token-compression.md)。这使得大规模推理调用变得可负担。
* [原生工具](/openhuman/zh/gong-neng/native-tools.md)。不同的工具调用会提示不同的路由。
* [本地模型与自带密钥](/openhuman/zh/gong-neng/model-routing/local-and-byok-models.md)。可使用你自己的密钥运行，或完全在设备上运行。
* [本地 AI（可选）](/openhuman/zh/gong-neng/model-routing/local-ai.md)。将你自己的本地运行时添加为提供方；轻量级聊天提示可以在设备上运行。
