三级模型路由——Haiku/Sonnet/Opus 成本优化
学习目标
- 理解三级模型路由的成本优化原理
- 掌握 Agent-模型默认映射的设计方法
- 设计自己的动态模型覆盖配置
- 识别模型降级策略缺失的风险
前置知识
多模型适配的统一抽象与故障转移已在通用知识中介绍:
下文假设你已理解模型抽象层和回退机制的基础概念,直接聚焦 OMC 的 三级成本优化路由 的具体实现。
项目实践
三级模型分层
OMC 使用三个模型层级,根据任务复杂度自动选择最优模型:
| 层级 | 模型 | 特点 | 相对成本 | 典型场景 |
|---|---|---|---|---|
| LOW | Haiku | 快速、便宜 | 1× | 代码搜索、文档读取、简单信息提取 |
| MEDIUM | Sonnet | 性能与成本平衡 | ~10× | 代码实现、调试、测试、标准审查 |
| HIGH | Opus | 最高推理质量 | ~50× | 架构设计、战略规划、深度分析、共识规划 |
默认 Agent-模型映射
OMC 为 19 个 Agent 设置了默认模型分配:
| Agent | 默认模型 | 选择理由 |
|---|---|---|
explore | Haiku | 只需要读取和映射代码 |
writer | Haiku | 文档生成属于低复杂度任务 |
executor | Sonnet | 代码实现需要中等推理能力 |
debugger | Sonnet | 根因分析需要理解代码逻辑 |
verifier | Sonnet | 验证需要执行和断言检查 |
test-engineer | Sonnet | 测试策略需要中等推理 |
designer | Sonnet | UI 设计需要中等推理 |
qa-tester | Sonnet | 运行时验证需要中等推理 |
scientist | Sonnet | 数据分析需要中等推理 |
document-specialist | Sonnet | 文档检索需要中等推理 |
git-master | Sonnet | Git 操作需要中等推理 |
analyst | Opus | 需求分析需要发现隐藏约束 |
planner | Opus | 任务排序需要全局视角 |
architect | Opus | 系统设计需要深度推理 |
critic | Opus | 计划审查需要多角度分析 |
code-reviewer | Opus | 全面审查需要高质量判断 |
code-simplifier | Opus | 行为保留简化需要高质量推理 |
成本优化效果
通过三级路由,OMC 声称可节省 30-50% 的 Token 成本:
- 简单任务使用 Haiku:代码搜索成本降低 10×+
- 标准任务使用 Sonnet:代码实现成本降低 3-5×
- 复杂任务才使用 Opus:确保质量但控制比例
动态模型覆盖
OMC 允许通过配置文件覆盖默认映射:
{ "modelRouting": { "executor": { "default": "opus" }, // 提升 executor 到 Opus "explore": { "default": "sonnet" } // 提升 explore 到 Sonnet }}典型使用场景:
- 复杂项目中,代码搜索可能涉及复杂模式匹配——提升 explore 到 Sonnet
- 关键模块的实现需要最高质量——提升 executor 到 Opus
- 预算敏感项目中,审查任务可以降低到 Sonnet
模型兼容性矩阵
OMC 维护了一个 Model × Agent Compatibility Matrix,定义了不同预设下的推荐配对:
| 预设 | 策略 | 典型场景 |
|---|---|---|
| Premium | 尽可能使用 Opus | 高质量要求的任务 |
| Balanced | 默认映射 | 日常使用 |
| Budget | 尽可能降级到 Haiku/Sonnet | 成本敏感场景 |
问题与规避
问题 1:默认映射不适用于所有项目
Haiku 在简单任务中可能表现不佳(如复杂正则分析),导致需要重新执行,反而增加成本。
规避策略:通过 modelRouting 配置覆盖默认映射,针对项目特点调整。
问题 2:Opus 速率限制
当 Opus 不可用时(如速率限制),OMC 没有自动降级到 Sonnet 的内置机制。
规避策略:手动配置 modelRouting 设置降级映射,或使用环境变量覆盖。
问题 3:环境模型继承
通过 resolveInheritedModelFromEnv 支持模型继承,但配置错误时可能静默使用错误模型。
规避策略:启动时验证模型配置,确保继承链正确。
设计取舍
为什么只有三级而非更多层级?
| 层级数 | 优点 | 缺点 |
|---|---|---|
| 2 级 | 简单 | 粒度过粗,无法区分中等任务 |
| 3 级 | 平衡粒度与复杂度 | 中等 |
| 5 级+ | 精细 | 路由决策复杂,增加配置负担 |
OMC 的选择:三级是最小有效分层——足够区分低/中/高复杂度任务,又不增加路由决策的复杂度。
参考来源
- OMC Architecture - Model Routing — 模型路由的官方文档
- Model × Agent Compatibility Matrix — 兼容性矩阵
- Anthropic Claude 模型文档 — 模型能力与定价