mcpField
M
model-hierarchy

model-hierarchy

github.com/zscoleAgent 工作流34691 次安装36 周前更新
代码仓库

关于 model-hierarchy

按任务复杂度为 Agent 选择合适成本档位的模型路由技能。它区分纯文本与视觉模型,并提供升级模型及子 Agent 使用建议。

主要功能

  1. 01常规、中等和复杂任务分档
  2. 02视觉能力路由规则
  3. 03失败后的模型升级规则
  4. 04主会话与子 Agent 使用建议
  5. 05考虑成本的模型选择

适用场景

  1. 01将常规任务路由到低成本模型
  2. 02为图像任务选择具备视觉能力的模型
  3. 03升级处理困难或失败的任务
  4. 04为定时监控选择模型

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zscole/model-hierarchy-skill --skill model-hierarchy

安装后在 Claude Code 中输入/model-hierarchy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
README.md
pyproject.toml
.gitignore
examples/
claude-code.md
openclaw.md
tests/
conftest.py
test_classification.py
scenarios.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

行为规则

主会话
  1. 交互式工作默认使用 Tier 2
  2. 处理常规工作时建议降级:“这是常规任务——我可以用更便宜的模型处理,或启动一个子 Agent。”
  3. 遇到困难时请求升级:“这需要更强的推理能力。正在切换到 [premium model]。”
子 Agent
  1. 默认使用 Tier 1,除非任务显然属于中等或更高复杂度
  2. 批量处理相似任务,以分摊开销
  3. 将失败情况报告给父级,以便升级处理
自动化任务
  1. 心跳检测/监控 → 始终使用 Tier 1
  2. 定时报告 → 根据复杂度使用 Tier 1 或 Tier 2
  3. 告警响应 → 从 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
  • 遇到困难时明确升级
  • 按任务类型跟踪成本,以便进一步优化

扩展此技能

根据你的使用场景进行自定义:

  1. 调整层级定义,以适应你的服务提供商/预算
  2. 在分类规则中添加领域特定信号
  3. 跟踪实际复杂度与预测值,以改进启发式规则
  4. 设置预算告警,及时发现高端模型使用失控的情况

评论

支持 Markdown