模型角色
为一个客户端配置三个模型——主循环、子代理和后台调用——并可自由混用不同提供商。
编程代理不只会发起一种调用。它们会发起三种调用,后续各页面会说明如何为特定客户端设置这些调用。
| 角色 | 在此运行的内容 | 为何重要 |
|---|---|---|
| 主循环 | 你正在对话的模型 | 决定大部分质量 |
| 子代理 | 一项任务并行分派到的工作代理 | 消耗大部分令牌 |
| 后台 | 标题、摘要、文件描述 | 用量小但持续不断,很容易多花钱 |
后台调用几乎会在每次交互时触发,而且不可见。将这一位置留给前沿模型,是代理式编程中代价最高昂的默认设置。
一次设置全部三个模型
npx @webway/connect --key $WEBWAY_API_KEY
此命令会读取你的模型目录,检测已安装的客户端,并输出每个客户端所需的配置。在添加 --write 之前,不会写入任何内容。
npx @webway/connect --main <expensive> --sub <mid> --fast <cheap> --write
npx @webway/connect --models # what your key can reach
现有配置文件会被合并,而不是替换。
各客户端的配置位置
并非所有客户端都会将这三个角色分开。未分开的客户端会让主循环模型处理所有任务。
| 客户端 | 主循环 | 子代理 | 后台 |
|---|---|---|---|
| Claude Code | ANTHROPIC_DEFAULT_OPUS_MODEL |
ANTHROPIC_DEFAULT_SONNET_MODEL,或代理前置元数据中的 model: |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
| Codex CLI | model |
[profiles.*] 块,通过 --profile 选择 |
相同 |
| OpenClaw | agents.defaults.model.primary |
agents 下每个代理的条目 |
agents 下每个代理的条目 |
| Hermes | hermes model |
— | — |
| TRAE SOLO | 选定的自定义模型 | — | — |
| OpenAI 和 Anthropic SDK | model 参数 |
— | — |
Claude Code 是最直观的例子:它的三个 ANTHROPIC_DEFAULT_* 变量恰好对应这三个角色,而 Haiku 位置用于处理后台任务。
混用提供商
这三个模型不必来自同一个提供商。每个端点都能访问所有模型,因此即使客户端只支持一种协议,也仍可让主循环使用一家供应商的模型,而让子代理使用另一家的模型:
npx @webway/connect claude-code \
--main anthropic/claude-opus-5 \
--sub openai/gpt-5.6-terra \
--fast deepseek/deepseek-v4-flash --write
Claude Code 始终使用 Anthropic Messages 协议。Webway 会转换其中两个不发往 Anthropic 的请求。有关转换成本,请参阅协议转换。