跳到正文
🛠️ 使用技巧避坑指南 · 第 05 章 进阶

Token 成本控制:每月 AI 费用控在 100 元以内

从配置精简、模型降级、缓存复用三个维度控制 Token 消耗,附实测成本对比。

⏱ 15 分钟 🔧 进阶
🎖️ 任务奖励 — 学完你能做到

能计算自己的月度 Token 预算,并配置自动预警和限额

📖 本章目标:识别六大出血点,用五套配置把成本降到最低


6.1 六大出血点

出血点典型影响优先级
会话历史无限累积单次请求 token 随时间线性增长🔴 最高
Thinking 模式未关闭Claude 的 extended thinking 可放大 token 消耗 10–50x🔴 最高
Heartbeat 间隔过短30 分钟间隔 = 每天 38 次 API call,99% 结果都是 HEARTBEAT_OK🔴 高
系统 Prompt 过大基线约 136K tokens;SOUL.md + AGENTS.md 过大每次都注入🟡 中
config.schema 工具输出约 396KB+ 的工具描述每次都注入🟡 中
Skills 装得太多每个 Skill 增加工具选择推理 token🟡 中

6.2 Heartbeat 真实成本计算

📊 真实数据(GitHub Issue #23254)

配置:Heartbeat 间隔 30 分钟,每日活跃 19 小时
结果:每天 38 次 API call

每次上下文:8,000–15,000 tokens(输入)
模型:claude-opus-4-6(约 $15/M input tokens)

每日 Heartbeat 成本:约 $6.84
月成本:约 $205

其中 99% 结果:HEARTBEAT_OK(什么都没发生)

⚠️ 你在为每天 38 次「没事儿放心吧」付费。

✅ 解决方案

"heartbeat": {
  "every": "1h",          // 从 30m 改为 1h,成本减半
  "target": "last",
  "delivery": {
    "directMessage": false
  }
}

6.3 Cron vs Heartbeat——选择原则

任务类型用什么原因
「这封邮件重要吗?」需要 LLM 判断Heartbeat需要语义理解,LLM 推理必要
每天 9 点发日报(固定时间固定输出)Cron不需要 LLM 推理,Cron 成本极低
服务器状态监控(每 5 分钟)Cron高频任务绝对不要用 Heartbeat
天气 / 新闻摘要Cron固定任务,廉价模型 + Cron 组合

💡 原则:能用 Cron 的绝不用 Heartbeat;Heartbeat 只用于需要 LLM 判断的语义任务。


6.4 省钱五配置(按优先级排序)

配置一:关闭 Thinking 模式(优先级最高)

openclaw config set agent.thinking false

Thinking 模式可放大 token 消耗 10–50x,一般任务完全不需要。


配置二:限制 contextTokens

"agent": { "contextTokens": 50000 }

防止 context 爆炸。同时养成 /new 习惯——完成一个任务阶段后开启新 session。


配置三:合理配置 Heartbeat

间隔改为 1–2h
复杂检查用 Cron 替代
加上 HEARTBEAT_OK 合约

配置四:Skill 说明保持简短

每个 Skill 的 description 超过 200 字就会显著增加工具选择 token。定期禁用不用的 Skill。


配置五:小模型处理简单任务

主对话:Sonnet(质量优先)
Cron 定时任务:Haiku / 本地 Ollama(成本优先)

6.5 模型选择速查

模型适合场景成本级别
claude-opus-4-6复杂推理、代码、重要决策🔴 贵,按需用
claude-sonnet-4-6日常对话、内容生成(推荐默认主模型)🟡 中等
claude-haiku-4-5简单问答、格式化、Cron 定时任务🟢 便宜
Ollama 本地模型固定格式输出、摘要(不联网任务)🟢 零成本(需 GPU)
openai/gpt-5.2Fallback 用途(Anthropic 限流时)🟡 中等

6.6 Session 管理省钱技巧

# 聊天中输入
/new       # 开启新 session(清除当前 context),阶段性任务完成后必做
/compact   # 压缩当前 session 历史(减少 token)
/context detail  # 查看 token 用量明细,找出消耗大头

💡 一位用户发现每个 API call 里有 111KB 是纯粹的旧消息历史——养成 /new 习惯可以直接砍掉这部分成本。


← 上一章:高级配置 | 返回目录 | 下一章:安全指南 →