关于 model-hierarchy
按任务复杂度为 Agent 选择合适成本档位的模型路由技能。它区分纯文本与视觉模型,并提供升级模型及子 Agent 使用建议。
主要功能
- 01常规、中等和复杂任务分档
- 02视觉能力路由规则
- 03失败后的模型升级规则
- 04主会话与子 Agent 使用建议
- 05考虑成本的模型选择
适用场景
- 01将常规任务路由到低成本模型
- 02为图像任务选择具备视觉能力的模型
- 03升级处理困难或失败的任务
- 04为定时监控选择模型
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zscole/ model-hierarchy-skill --skill model-hierarchy安装后在 Claude Code 中输入/model-hierarchy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdpyproject.toml.gitignoreexamples/claude-code.mdopenclaw.mdtests/conftest.pytest_classification.pyscenarios.json详细介绍
模型层级
将任务交给能够处理它的最便宜模型。大多数 Agent 工作都是日常任务。
核心原则
**80% 的 Agent 任务都是琐碎的杂务。**读取文件、检查状态、格式化、简单问答。这些任务不需要昂贵的模型。将高级模型留给真正需要深入推理的问题。
模型层级
第 1 层:低价(每百万 token $0.10-0.50)
| 模型 | 输入 | 输出 | 最适合 |
|---|---|---|---|
| DeepSeek V3 | $0.14 | $0.28 | 常规通用工作 |
| GPT-4o-mini | $0.15 | $0.60 | 快速响应 |
| Claude Haiku | $0.25 | $1.25 | 快速调用工具 |
| Gemini Flash | $0.075 | $0.30 | 高调用量 |
| GLM 5 (Zhipu) | (OpenRouter Z.AI) | (OpenRouter Z.AI) | 常规及中等文本任务;200K 上下文;仅文本——不可用于图像/视觉任务 |
| Kimi K2.5 (Moonshot) | $0.45 | $2.25 | 常规及中等任务;262K 上下文;多模态(文本 + 图像 + 视频) |
**仅文本模型(例如 GLM 5):**不要用于任何需要图像输入或视觉能力的任务——包括照片分析、截图、图像生成工具或文档/图表视觉分析。应将任务交给支持视觉的模型(例如 Kimi K2.5、GPT-4o、Gemini、支持视觉的 Claude、GLM-4.5V/4.6V)。
**支持视觉的第 1/2 层模型(例如 Kimi K2.5):**对于可能涉及图像的常规或中等任务,可使用这类模型——包括截图、照片分析、文档、图像生成编排——无需转而使用高级视觉模型。
第 2 层:中价(每百万 token $1-5)
| 模型 | 输入 | 输出 | 最适合 |
|---|---|---|---|
| Claude Sonnet | $3.00 | $15.00 | 均衡的性能 |
| GPT-4o | $2.50 | $10.00 | 多模态任务 |
| Gemini Pro | $1.25 | $5.00 | 长上下文 |
第 3 层:高级(每百万 token $10-75)
| 模型 | 输入 | 输出 | 最适合 |
|---|---|---|---|
| Claude Opus | $15.00 | $75.00 | 复杂推理 |
| GPT-4.5 | $75.00 | $150.00 | 前沿任务 |
| o1 | $15.00 | $60.00 | 多步骤推理 |
| o3-mini | $1.10 | $4.40 | 经济型推理 |
价格截至 2026 年 2 月。当前费率请查阅提供商文档。
任务分类
执行任何任务前,先对任务进行分类:
常规 → 使用第 1 层
需要图像/视觉能力 → 不要分配给仅文本模型(GLM 5 等)。请使用第 1/2 层或第 3 层中的支持视觉模型(例如 Kimi K2.5、GPT-4o、Gemini、Claude、GLM-4.5V)。
特征:
- 单步操作
- 指令清晰明确
- 无需判断
- 预期输出具有确定性
示例:
- 文件读写操作
- 状态检查和健康监控
- 简单查询(时间、天气、定义)
- 格式化和重组文本
- 列表操作(筛选、排序、转换)
- 使用已知参数调用 API
- 心跳和 cron 任务
- 获取 URL 和基础解析
中等 → 使用第 2 层
特征:
- 多步骤,但定义明确
- 需要一定的综合整理
- 有标准模式可循
- 质量很重要,但并非关键
示例:
- 代码生成(标准模式)
- 摘要和综合整理
- 起草内容(邮件、文档、消息)
- 数据分析和转换
- 多文件操作
- 工具编排
- 代码审查(非安全相关)
- 搜索和研究任务
复杂 → 使用第 3 层
特征:
- 需要解决新颖问题
- 存在多种有效方法
- 需要细致判断
- 风险高或不可逆
- 先前尝试失败
示例:
- 多步骤调试
- 架构和设计决策
- 涉及安全的代码审查
- 较便宜的模型已经失败的任务
- 需要解释的模糊需求
- 长上下文推理(>50K token)
- 需要原创性的创作工作
- 对抗性或边缘情况处理
决策算法
function selectModel(task):
# Rule 1: Vision override (Tier 1/2 includes text-only models)
if task.requiresImageInput or task.requiresVision:
return VISION_CAPABLE_MODEL # e.g. Kimi K2.5, GPT-4o, Gemini, Claude; do not use GLM 5 or other text-only
# Rule 2: Escalation override
if task.previousAttemptFailed:
return nextTierUp(task.previousModel)
# Rule 3: Explicit complexity signals
if task.hasSignal("debug", "architect", "design", "security"):
return TIER_3
if task.hasSignal("write", "code", "summarize", "analyze"):
return TIER_2
# Rule 4: Default classification
complexity = classifyTask(task)
if complexity == ROUTINE:
return TIER_1
elif complexity == MODERATE:
return TIER_2
else:
return TIER_3
行为规则
主会话
- 交互式工作默认使用 Tier 2
- 处理常规工作时建议降级:“这是常规任务——我可以用更便宜的模型处理,或启动一个子 Agent。”
- 遇到困难时请求升级:“这需要更强的推理能力。正在切换到 [premium model]。”
子 Agent
- 默认使用 Tier 1,除非任务显然属于中等或更高复杂度
- 批量处理相似任务,以分摊开销
- 将失败情况报告给父级,以便升级处理
自动化任务
- 心跳检测/监控 → 始终使用 Tier 1
- 定时报告 → 根据复杂度使用 Tier 1 或 Tier 2
- 告警响应 → 从 Tier 2 开始,必要时升级
沟通模式
建议更换模型时,使用清晰的措辞:
降级建议:
“这看起来是常规文件操作。要我在 DeepSeek 上启动一个子 Agent 来处理吗?结果相同,成本却低得多。”
升级请求:
“我已经快要达到目前能解决的问题上限了。这需要 Opus 级别的推理能力。正在升级。”
解释层级:
“我用 Sonnet 进行深入分析,同时让子 Agent 在 DeepSeek 上获取数据。这样既能降低成本,也不会在关键任务上牺牲质量。”
成本影响
假设平均每天使用 100K 个词元:
| 策略 | 月成本 | 备注 |
|---|---|---|
| 纯 Opus | ~$225 | 能力最强,支出最高 |
| 纯 Sonnet | ~$45 | 大多数工作的良好默认选择 |
| 纯 DeepSeek | ~$8 | 价格低廉,但处理难题的能力有限 |
| 层级策略(80/15/5) | ~$19 | 兼顾各方面的最佳选择 |
80/15/5 的分配比例:
- 80% 的常规任务使用 Tier 1(~$6)
- 15% 的中等复杂度任务使用 Tier 2(~$7)
- 5% 的复杂任务使用 Tier 3(~$6)
结果:与纯高端模型相比,成本降低 10 倍,且复杂任务的质量相当。
集成示例
OpenClaw
# config.yml - set default model
model: anthropic/claude-sonnet-4
# In session, switch models
/model opus # upgrade for complex task
/model deepseek # downgrade for routine
# Spawn sub-agent on cheap model
sessions_spawn:
task: "Fetch and parse these 50 URLs"
model: deepseek
OpenRouter(使用 Tier 1 的视觉模型或纯文本模型):
# Tier 1 with vision — Kimi K2.5 (multimodal)
model: openrouter/moonshotai/kimi-k2.5
# Heartbeats, cron, image-involving tasks: K2.5 handles text and vision.
# Tier 1 text-only — GLM 5 (no vision)
# model: openrouter/z-ai/glm-5 # exact ID TBD on OpenRouter Z.AI
# Routine text-only only; for image tasks use Kimi K2.5 or another vision-capable model.
Claude Code
# In CLAUDE.md or project instructions
When spawning background agents, use claude-3-haiku for:
- File operations
- Simple searches
- Status checks
Reserve claude-sonnet-4 for:
- Code generation
- Analysis tasks
通用 Agent 系统
def get_model_for_task(task_description: str) -> str:
routine_signals = ['read', 'fetch', 'check', 'list', 'format', 'status']
complex_signals = ['debug', 'architect', 'design', 'security', 'why']
desc_lower = task_description.lower()
if any(signal in desc_lower for signal in complex_signals):
return "claude-opus-4"
elif any(signal in desc_lower for signal in routine_signals):
return "deepseek-v3"
else:
return "claude-sonnet-4"
反模式
不要:
- 使用 Opus 运行心跳检测
- 在文件 I/O 操作中使用高端模型
- 任务显然属于常规工作时仍使用昂贵模型
- 默认在高端模型上启动子 Agent
- 将 GLM 5(或任何纯文本 Tier 1/2 模型)用于图像/视觉任务,例如照片分析、截图理解、图像生成技能,或任何需要图像输入的工具
应该:
- 从中端模型开始,根据任务调整
- 使用可行的最便宜模型启动辅助 Agent
- 遇到困难时明确升级
- 按任务类型跟踪成本,以便进一步优化
扩展此技能
根据你的使用场景进行自定义:
- 调整层级定义,以适应你的服务提供商/预算
- 在分类规则中添加领域特定信号
- 跟踪实际复杂度与预测值,以改进启发式规则
- 设置预算告警,及时发现高端模型使用失控的情况