返回

Everything Claude Code 教程 9:Token 优化与模型选择策略

本文详解 Everything Claude Code 的 Token 优化策略,包含模型选择决策、Subagent 降成本架构和 mgrep 搜索优化。

教程概述

Token 是使用 Claude Code 的核心成本。本教程将教你如何在保证质量的前提下,最大化效率、最小化成本。

你将学到

  • ✅ 模型选择决策框架
  • ✅ Subagent 降成本架构
  • ✅ mgrep 替代 grep 的优化
  • ✅ 模块化代码库的优势
  • ✅ 定价参考和成本计算

为什么 Token 优化很重要?

成本结构

pie title 月度成本分解
    "输入 Tokens" : 40
    "输出 Tokens" : 35
    "上下文加载" : 15
    "工具调用" : 10

优化收益

优化方法 Token 节省 成本节省
使用 mgrep ~50% ~30%
正确模型选择 ~40% ~50%
子代理架构 ~30% ~35%
模块化代码 ~25% ~20%

模型选择决策表

三种模型对比

flowchart TD
    A[任务类型] --> B{复杂度评估}
    B -->|低| C[Haiku]
    B -->|中| D[Sonnet]
    B -->|高| E[Opus]

    C --> F[快速执行<br/>低成本]
    D --> G[平衡性能<br/>标准成本]
    E --> H[深层推理<br/>高成本]

详细决策表

任务类型 推荐模型 原因 相对成本
文件搜索/探索 Haiku 快速、便宜、足够准确 1x
简单编辑 Haiku 单文件、清晰指令 1x
文档编写 Haiku 结构简单、格式固定 1x
代码审查 Sonnet 理解上下文、捕获细节 3x
多文件实现 Sonnet 平衡性能与质量 3x
PR 审查 Sonnet 需要上下文理解 3x
架构设计 Opus 需要全局视角 15x
安全分析 Opus 不能遗漏漏洞 15x
复杂调试 Opus 需要深层推理 15x

模型选择流程

flowchart TD
    A[开始任务] --> B{涉及文件数}
    B -->|1-2 个| C{是否安全关键?}
    B -->|3-10 个| D[Sonnet]
    B -->|>10 个| E{架构决策?}

    C -->|是| F[Opus]
    C -->|否| G[Haiku]

    E -->|是| F
    E -->|否| D

    D --> H{首次尝试失败?}
    H -->|是| F
    H -->|否| I[继续]

默认规则

默认使用 Sonnet 进行 90% 的编码任务

升级到 Opus 当:
- 首次尝试失败
- 任务涉及 >5 个文件
- 需要架构决策
- 安全关键代码

降级到 Haiku 当:
- 简单的文件搜索
- 单文件小修改
- 文档更新
- 格式化任务

Subagent 降成本架构

原理

flowchart LR
    subgraph 传统方式
        A[主代理<br/>Opus] --> B[所有任务]
    end

    subgraph Subagent 架构
        C[主代理<br/>Sonnet] --> D[探索 Haiku]
        C --> E[实现 Sonnet]
        C --> F[审查 Opus]
    end

    style A fill:#ffcccc
    style C fill:#e8f5e9

成本对比

场景:实现一个新功能

方式 模型组合 Token 消耗 相对成本
单代理 Opus Opus 全程 100k 100%
单代理 Sonnet Sonnet 全程 100k 33%
Subagent 架构 Haiku+Sonnet+Opus 40k+30k+20k ~30%

配置示例

# 子代理模型配置
agents:
  explorer:
    model: haiku
    tools: [Read, Grep, Glob]

  implementer:
    model: sonnet
    tools: [Read, Write, Edit, Bash]

  reviewer:
    model: opus
    tools: [Read, Grep]

工作流程

1. Explorer (Haiku) - 探索代码库结构
   → 返回摘要,消耗 ~5k tokens

2. Planner (Sonnet) - 制定实现计划
   → 返回计划,消耗 ~10k tokens

3. Implementer (Sonnet) - 执行实现
   → 返回代码更改,消耗 ~30k tokens

4. Reviewer (Opus) - 质量审查
   → 返回审查结果,消耗 ~15k tokens

总计: ~60k tokens (vs 单代理 Opus 100k+)

mgrep vs grep

为什么 mgrep 更好?

特性 grep/ripgrep mgrep
Token 消耗 高(返回大量上下文) 低(智能摘要)
语义理解
结果质量 需要人工筛选 AI 过滤
节省比例 - ~50%

基准测试

在 50 任务基准测试中:

传统 grep:
- 平均 Token 消耗: 8000
- 任务完成率: 70%

mgrep:
- 平均 Token 消耗: 4000
- 任务完成率: 72%

Token 节省: 50%
质量相当或更好

使用方法

# 安装
claude plugin marketplace add Mixedbread-Grep
claude plugin install mgrep@Mixedbread-Grep

# 本地搜索
/mgrep "function handleSubmit"

# 网络搜索
/mgrep --web "Next.js 15 app router changes"

模块化代码库优势

为什么模块化节省 Tokens?

flowchart TD
    subgraph 单体代码库
        A[大文件 1000+ 行] --> B[需要读取整个文件]
        B --> C[高 Token 消耗]
    end

    subgraph 模块化代码库
        D[小文件 100-300 行] --> E[按需读取]
        E --> F[低 Token 消耗]
    end

对比

代码库结构 读取策略 Token 消耗
单体 (5个 1000 行文件) 全部读取 ~50k
模块化 (20个 200 行文件) 按需读取 5 个 ~10k

最佳实践

✅ 推荐
- 单个文件 ≤ 300 行
- 函数 ≤ 50 行
- 类职责单一
- 高内聚低耦合

❌ 避免
- "上帝类" 1000+ 行
- 深度嵌套
- 过长函数

定价参考

Claude 模型定价(2026)

模型 输入价格 输出价格 上下文窗口
Haiku $0.25 / 1M tokens $1.25 / 1M tokens 200k
Sonnet $3.00 / 1M tokens $15.00 / 1M tokens 200k
Opus $15.00 / 1M tokens $75.00 / 1M tokens 200k

月度成本估算

场景:全职开发者

pie title 月度 Token 使用分布
    "Sonnet 输入" : 35
    "Sonnet 输出" : 25
    "Haiku 输入" : 10
    "Haiku 输出" : 5
    "Opus 输入" : 15
    "Opus 输出" : 10

估算

  • 日均输入:50k tokens
  • 日均输出:30k tokens
  • 工作日:22 天
模型比例 月度成本
100% Opus ~$60
100% Sonnet ~$25
混合(推荐) ~$15

Token 优化 Mermaid 图

flowchart TD
    A[Token 优化策略] --> B[模型选择]
    A --> C[工具优化]
    A --> D[架构优化]
    A --> E[代码组织]

    B --> B1[Haiku: 简单任务]
    B --> B2[Sonnet: 标准任务]
    B --> B3[Opus: 复杂任务]

    C --> C1[mgrep 替代 grep]
    C --> C2[禁用未用 MCP]

    D --> D1[Subagent 架构]
    D --> D2[并行执行]

    E --> E1[文件 ≤300 行]
    E --> E2[函数 ≤50 行]

    style A fill:#e3f2fd
    style B fill:#e8f5e9
    style C fill:#fff3e0
    style D fill:#fce4ec
    style E fill:#f3e5f5

最佳实践总结

1. 选择正确的模型

简单任务 → Haiku(节省 90%)
标准任务 → Sonnet(默认选择)
复杂任务 → Opus(按需升级)

2. 使用 Subagent 架构

探索 → Haiku 子代理
实现 → Sonnet 子代理
审查 → Opus 子代理

3. 优化工具使用

搜索 → mgrep(节省 50%)
MCP → 禁用未使用的
Hooks → 自动化重复任务

4. 模块化代码

大文件 → 拆分为小模块
长函数 → 提取为小函数

小结

关键要点

  • ✅ 默认使用 Sonnet,复杂任务升级 Opus
  • ✅ Subagent 架构可以降低 50%+ 成本
  • ✅ mgrep 比 grep 节省约 50% tokens
  • ✅ 模块化代码库显著减少读取消耗
  • ✅ 定期审计 MCP 和 Plugin 使用

系列导航