Community编程与开发github.com

cestercian/claude-model-picker

选择合适的Claude模型(Haiku 5.5、Sonnet 5.5、Opus 5.5、Fable 5.2)和任务努力级别。当用户询问使用哪个模型、希望降低成本或延迟、配置子代理模型、在系统中混合模型,或需要将请求从一个Claude模型迁移到另一个时使用。

claude-model-picker 是什么?

该技能帮助开发者根据具体任务选择合适的Claude模型和努力级别,其建议基于Anthropic官方指南。它支持Haiku 5.5、Sonnet 5.5、Opus 5.5和Fable 5.2四种模型,适用于Claude Code、API集成以及多代理系统等多种平台。技能提供了从简单分类到复杂代码重构的详细任务匹配表,并涵盖模型成本、延迟、上下文窗口、缓存读取定价等关键事实。它还包括系统化的调优顺序(先验证工作、再提高努力、最后升级模型)、成本推理方法(按完成任务的成本比较,而非每Token价格)、模型混合策略(如Cheap Subagent、Advisor、Lead+Workers模式),以及迁移兼容性检查清单。开发者可以据此在Claude Code中通过`/model`命令快速切换模型,并使用`/usage`比较成本,或按照提供的测量方法论通过采样任务、运行候选模型并绘制成本与效果评分图来做出数据驱动的决策。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cestercian/claude-model-picker/tree/HEAD/skills/claude-model-picker

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Claude 模型选择器

选择一个初始模型和努力级别,然后根据实际表现进行调整。

这里的每项建议都来自 Anthropic 的官方指南——请参见来源。在向用户引用建议时,请链接到来源。模型系列和价格会发生变化:如果某个事实很重要(价格、模型 ID、默认努力级别),请在使用前检查最新文档。

默认推荐

从 Opus 5.5 的中等努力级别开始。 这是 Claude Code 的默认设置,且每 Token 成本仅为 Fable 5.2 的一半。只有存在明确理由时才应从该设置变动。

  • 降级到 Sonnet 5.5 —— 适用于范围明确、重复性较高的日常开发工作(如修复 Bug、根据规格实现功能)。仅有清晰的规格说明还不够:迁移和性能优化工作仍可能需要 Opus 或 Fable。
  • 进一步降级到 Haiku 5.5 —— 适用于简单、高吞吐量的任务:分类、路由、标记、信息提取;适合作为低成本子代理。
  • 升级到 Fable 5.2 —— 用于最困难的技术工作(编码、金融、科学领域)、大型重构/迁移、架构设计、领导多个子代理、长时间无人值守运行,或者在 Opus 的高努力级别下依然表现不足时。

任务 → 初始模型起点

任务模型努力级别
日常工程开发、调试、涉及多个 PR 的功能Opus 5.5中等 → 高
分类、路由、标记、批量信息提取Haiku 5.5中等
负责搜索、读取日志、总结的子代理Haiku 或 Sonnet 5.5模型默认
聊天 / 交互式会话Sonnet 5.5(简单、高频聊天用 Haiku)低或中等
范围明确的编码(修复 Bug、按规格实现)Sonnet 5.5中等 → 高
日常文档、幻灯片、电子表格Sonnet 5.5(复杂金融模型或海量源码用 Opus)高(Claude Code 中用中等)
重复性代理任务(审查、调查、起草)Sonnet 5.5中等
计算机使用、视觉密集型循环Opus 5.5中等
大型重构、架构设计、编排子代理Fable 5.2中等 → 高
深度研究、科学/定量分析Fable 5.2中等 → 高
不确定Opus 5.5中等

模型事实

Haiku 5.5Sonnet 5.5Opus 5.5Fable 5.2
输入 / 输出(每百万 Token)$0.10 / $0.50(≤100K 提示);$0.50 / $2.50(>100K)$2 / $10$4 / $20$8 / $40
缓存读取(每百万 Token)$0.01(≤100K)/ $0.05$0.10$0.20$0.20
延迟最快快中等中等
上下文 / 最大输出1M / 128K1M / 128K1M / 128K1M / 128K
思考能力自适应,可关闭(≤高努力级别)自适应;存在 between_tools 选项始终开启始终开启
API 默认努力级别中等高(CC 中为中等)中等高(CC 中为中等)
快速模式无无有有

当结果不满足要求时的调优顺序

  1. 让模型有验证自己工作的方式(测试、构建、调用端点的脚本)。通常比增加努力级别更便宜。
  2. 将努力级别提高一级。
  3. 向上移动一个模型,但要从一个比之前较小模型上使用的更低的努力级别开始。

注意事项:

  • 努力 ≈ 思考时间、工具调用次数、自我检查次数。这会增加延迟。但它无法增加模型缺乏的知识——这需要更大的模型。
  • 超过 high 后,再增加一个努力级别可能花费的成本相当于升级到上一个模型。请尝试在更大的模型上使用较低的努力级别。
  • 如果结果可以自动检查:在所有任务上使用低努力级别运行,仅对失败的任务使用高努力级别重新运行(Anthropic 的测试表明,这种策略在成本和通过率上都优于全部使用高努力级别)。
  • 在保持能力的同时需要速度:在 Opus 5.5 / Fable 5.2 上启用快速模式(需支付额外费用)。

成本推理

  • 比较每完成任务的成本,而不是每 Token 的价格。价格更高的模型在较低努力级别下可能每任务成本更低(例如,Fable 5.2 在高努力下在困难基准测试中与 Opus 5.5 在最大努力下表现相当,但成本约为后者的一半)。
  • 对任务集中最困难的任务进行定价;它们主导了总体支出。
  • 大上下文每次对话都会重新发送,但大部分按缓存读取计费。Fable 和 Opus 共享 $0.20 的缓存读取费率,因此在缓存密集型运行中,它们的差距在于非缓存的输入和输出。
  • 保持昂贵模型的上下文精炼;将耗时的读取工作推给廉价的子代理。
  • Haiku 的长提示层级(>100K)是其短提示费率的 5 倍。对于长提示,请比较 Haiku 和 Sonnet 每完成任务的成本。

混合模型

  • 在自然断点处切换。 提示缓存是每个模型独立的,因此在新模型上的第一次对话会重新支付缓存写入费用。在 Claude Code 中运行 /compact 或用简短的规划开始一个新会话;在 API 上,用一个摘要开头。
  • 思考块不会向下传递到低层级模型。 Fable 5.2 可以读取 Opus/Sonnet/Haiku 5.5 的思考块;Opus 5.5 可以读取 Sonnet/Haiku 的;Sonnet 可以读取 Haiku 的。向下移动(或离开 Fable 5.2)会静默地丢弃早期的推理。
  • 子代理使用小模型 用于那些错误容易发现的工作(查找文件、运行测试、读取日志)。将代码编辑和判断性任务保留在主模型上。在 Claude Code 中,在代理文件中设置 model: haiku / model: sonnet,或通过 CLAUDE_CODE_SUBAGENT_MODEL 设置默认值。
  • 内置的 Explore 子代理现在使用当前会话的模型。为了保持低成本,请定义你自己的 Explore 代理,并设置 model: haiku。ANTHROPIC_DEFAULT_HAIKU_MODEL 固定了该别名。在 Anthropic API 上,haiku → Haiku 5.5(需要 Claude Code ≥ v2.1.293);在 Bedrock/Vertex/Foundry 上,它仍然是 Haiku 4.5。
  • opusplan 在 Opus 上规划,在 Sonnet 上编辑——这正好与上面的建议相反。在采用之前请先进行测量。
  • Advisor 工具(测试版): 廉价的执行者咨询更强大的顾问。收益一直很小(大约相当于提高努力级别的效果)。请先测量咨询率;检查允许的配对组合。
  • Lead + workers 用于比一个上下文窗口更大的工作(例如 Opus 领导,并行使用 Sonnet workers:成本约为三分之一,得分相同)。对于单一依赖链或可以在一个上下文中完成的工作,请跳过此模式。

示例廉价子代理(.claude/agents/log-reader.md):

---
name: log-reader
description: 读取测试输出和日志,并报告每个失败用例。在测试运行后使用。
tools: Read, Grep, Glob, Bash
model: haiku
---

对于每个失败,报告文件、测试名称和第一个错误行。不要编辑文件。

迁移 / 兼容性检查清单

  • Fable 5.2 保留的思考: 如果在 Fable 思考块之前的任何内容发生了变化(系统提示、工具、早期消息),API 会返回 400 错误,除非你选择丢弃它。保持历史记录只增不减。Claude Code / Agent SDK / Managed Agents 会自动处理此问题。
  • 思考能力: Opus 5.5 和 Fable 5.2 无法禁用思考能力(会报错)。请按类型读取内容块——响应可能以一个思考块开头。
  • 强制工具使用: tool_choice: any|tool 在 Sonnet/Opus 5.5 和 Fable 5.2 上会导致 400 错误。请使用 auto + strict: true 工具配合提示指令。
  • 计算机使用: 只能通过 computer_toolset_20260801(Claude API、Google 管理的 Claude on Google Cloud)。
  • Haiku 4.5 → 5.5: 用 effort 替换 budget_tokens;去掉非默认的 temperature/top_p/top_k;以用户轮次结束(不使用助手预填充)。
  • 安全回退: 被标记的网络安全请求可能会在 Opus 4.8 上重新运行,生物学请求在 Opus 5 上(Claude Code 会显示通知)。
  • 多模型系统: 为最严格的模型构建每个请求,这样步骤可以跨层级移动而无需更改代码。如果路由很简单(每个步骤类型对应一个模型),请在代码中路由,而不是通过模型。

在确定前先测量

  1. 采样真实任务;为每个任务编写一个结果检查标准(测试是否通过、行数是否正确……)。
  2. 对每个候选模型在 2–3 个努力级别上运行测试,使用独立的会话(不共享缓存)。从每个响应的 usage 记录成本。
  3. 绘制得分与支出的关系图。仅当多模型设置优于每一个单一模型点时,才保留它。
  4. 在切换之前,对实际流量进行候选胜出模型的影子运行。

在 Claude Code 中快速检查:通过 /model 在两个模型上运行一个积压任务,然后通过 /usage 比较。

如何回答用户

  1. 为他们的任务命名模型 + 努力级别,并附上一句来自推荐表格的理由。
  2. 说明什么情况下会促使他们向上或向下调整。
  3. 如果用户通过 API 进行集成或混合模型,请标记相关的兼容性事项。
  4. 如果成本很重要,建议采用上述测量循环,而不是仅仅相信列表价格。

来源

主要来源:

该文章引用的 Anthropic 文档:

相关技能