用途:model-policy 是一个 Claude Code 技能,用于在用户级配置中建立模型与推理强度(effort)策略,让该策略在每个项目的每次会话中都生效。资料指出,技能只在被调用时加载,因此策略本身不能放在技能里,而要被复制到用户级 Claude Code 配置中。
主要能力与写入内容:
- ~/.claude/rules/model-policy.md:包含 Pareto 阶梯(各代理使用哪个模型与 effort)以及 100k 规则,每次会话加载。
- ~/.claude/agents/Explore.md:替换内置 Explore 代理(内置版本默认运行在会话模型 Opus 上)。
- ~/.claude/agents/implementer.md、verifier.md:使用 Haiku high 的工作代理,分别用于编辑与只读检查。
- ~/.claude/settings.json 的 env:设置 CLAUDE_CODE_SUBAGENT_MODEL=haiku,使未指定模型的子代理运行在 Haiku 上。
使用方式:先全局安装,然后运行 /model-policy。安装命令为:bunx skills add FixMyBerlin/fixmyskills --skill model-policy -g -a claude-code -y。需要 Claude Code 2.1.296 或更新版本;旧版本会静默忽略 autoCompactWindow,代理由此不会在 100k 处压缩。
执行步骤:运行 claude --version,若低于 2.1.296 则停止并说明;读取 assets/model-policy.md 与 assets/agents/ 下的所有文件;对每个已存在且与资产不同的目标文件,展示差异并询问覆盖还是保留用户版本(技能无法区分手工修改与旧版资产,因此每次差异都会询问);复制 model-policy.md 到 ~/.claude/rules/model-policy.md,复制各 agents/*.md 到 ~/.claude/agents/;在 ~/.claude/settings.json 中把 env.CLAUDE_CODE_SUBAGENT_MODEL 设为 "haiku",保留其他所有键,文件缺失时以 { "env": { … } } 创建;不要设置 CLAUDE_CODE_SUBAGENT_MODEL_FORCE,因为它会覆盖升级所需的按调用模型;报告变更内容,规则与代理从下一次会话起生效。
设计说明(资料给出):规则文件放在 rules 而非 CLAUDE.md,是因为无 paths 的规则文件像 CLAUDE.md 一样在每次会话开始时加载,但保持为单个文件便于技能在更新时替换。模型解析顺序为:Agent 调用的 model、代理文件的 model、CLAUDE_CODE_SUBAGENT_MODEL、会话模型;环境变量可兜住所有未指定模型的生成。内置 Explore 和 Plan 忽略该环境变量;同名用户级代理会替换 Explore,Plan 则有意保持在会话模型上。子代理默认 effort 没有设置项,代理文件通过 frontmatter 的 effort 固定,general-purpose 则由规则要求编排者在每次调用时传入 effort。选择 Haiku high 而非 medium:两者都在 Pareto 线上,但 high 聪明得多而成本增加很小。
100K 窗口与价格:资料称 Haiku 5.5 有两个价格,按请求的提示长度选择:不超过 100K 时每百万输入/输出 token 为 $0.10 / $0.50,超过 100K 时为 $0.50 / $2.50,按整个请求计,缓存读写计入 100K。子代理每轮重发上下文,一旦超过 100K,后续每轮都更贵。代理 frontmatter 中的 autoCompactWindow 只影响该代理,因此 Haiku 在价格台阶附近压缩,而 Opus 会话保持完整窗口;100000 是 Claude Code 接受的最低值。即便超过 100K,Haiku 仍比切换更便宜:缓存读取(主导代理轮次)为每百万 $0.05,对比 Sonnet 的 $0.10 和 Opus 的 $0.20;新输入与输出便宜 4 倍和 8 倍。Pro / Max 计划不按 token 计费;文档未说明价格台阶是否影响计划限额。
更新阶梯:assets/model-policy.md 中的阶梯来自其 "Last checked" 行链接的 slopalytics 图表。更新仓库中的阶梯需打开该链接(向 models= 添加新 Claude 模型),从最便宜到最聪明列出前沿上的 Claude 模型/effort 点,更新阶梯与 "off the line" 列表,把 "Last checked" 设为当天并提交;之后所有人重新运行 bunx skills update -g -y 和 /model-policy。
限制:依赖 Claude Code 版本下限 2.1.296;覆盖前会逐文件询问,无法自动区分手工修改;未提供收费方案、平台支持范围或效果数据等更多事实。