跳到正文

模型角色

为一个客户端配置三个模型——主循环、子代理和后台调用——并可自由混用不同提供商。

编程代理不只会发起一种调用。它们会发起三种调用,后续各页面会说明如何为特定客户端设置这些调用。

角色 在此运行的内容 为何重要
主循环 你正在对话的模型 决定大部分质量
子代理 一项任务并行分派到的工作代理 消耗大部分令牌
后台 标题、摘要、文件描述 用量小但持续不断,很容易多花钱

后台调用几乎会在每次交互时触发,而且不可见。将这一位置留给前沿模型,是代理式编程中代价最高昂的默认设置。

一次设置全部三个模型

bash
npx @webway/connect --key $WEBWAY_API_KEY

此命令会读取你的模型目录,检测已安装的客户端,并输出每个客户端所需的配置。在添加 --write 之前,不会写入任何内容。

bash
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 位置用于处理后台任务。

混用提供商

这三个模型不必来自同一个提供商。每个端点都能访问所有模型,因此即使客户端只支持一种协议,也仍可让主循环使用一家供应商的模型,而让子代理使用另一家的模型:

bash
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 的请求。有关转换成本,请参阅协议转换