API 成本与 Token 管理教程

intermediate
## API 使用成本概述 使用 OpenClaw 连接云端 AI 模型时,每次对话都会产生 API 调用费用。不同模型的价格差异巨大——选对模型可以节省 90% 以上的成本。 ### 主流模型价格对比 以下是 2025 年主流模型的大致价格(每百万 Token): | 模型 | 输入价格 | 输出价格 | 综合评价 | |------|---------|---------|---------| | GPT-4o | $2.50 | $10.00 | 能力强,价格中等 | | GPT-4o-mini | $0.15 | $0.60 | 性价比极高 | | Claude 3.5 Sonnet | $3.00 | $15.00 | 能力强,价格较高 | | Claude 3.5 Haiku | $0.80 | $4.00 | 快速且便宜 | | DeepSeek V3 | ¥1.00 | ¥2.00 | 国内首选,极便宜 | | 通义千问 Plus | ¥0.80 | ¥2.00 | 国内可用,便宜 | | Ollama 本地模型 | 免费 | 免费 | 零成本,需要硬件 | > 💡 价格会随时变化,以各提供商官网为准。这里只是给你一个量级感受。 ### 一次对话花多少钱? 假设一次普通对话: - 系统提示词(SOUL.md + Skills 等):约 2000 Token - 对话历史:约 3000 Token - 你的消息:约 200 Token - AI 回复:约 500 Token **总计约 5700 Token** | 模型 | 这次对话的成本 | |------|--------------| | GPT-4o | 约 $0.018(约 ¥0.13) | | GPT-4o-mini | 约 $0.001(约 ¥0.007) | | DeepSeek V3 | 约 ¥0.007 | | Ollama 本地 | ¥0 | 看起来单次很便宜,但如果每天对话 100 次,一个月下来: | 模型 | 月成本估算 | |------|-----------| | GPT-4o | 约 ¥390/月 | | GPT-4o-mini | 约 ¥21/月 | | DeepSeek V3 | 约 ¥21/月 | | Ollama 本地 | ¥0/月(电费另算) | ## Token 计算方式 ### 什么是 Token Token 是 AI 模型处理文本的基本单位。它不等于字数: - 英文:1 个单词 ≈ 1-2 个 Token - 中文:1 个汉字 ≈ 1-2 个 Token - 代码:变化较大,符号和关键字各占 1 个 Token ### 输入 Token vs 输出 Token 每次 API 调用的 Token 消耗分两部分: ``` 输入 Token(你发给模型的): ├── 系统提示词(SOUL.md、AGENTS.md、Skills 等) ├── 对话历史(之前的消息和回复) └── 你的新消息 输出 Token(模型回复的): └── AI 生成的回复文本 ``` **输出 Token 通常比输入 Token 贵 2-5 倍**,因为生成文本比理解文本消耗更多算力。 ### 隐藏的 Token 消耗 除了你看到的对话内容,还有一些"隐藏"的 Token 消耗: | 来源 | 大约 Token 数 | 说明 | |------|-------------|------| | SOUL.md | 100-500 | 取决于人设文件长度 | | AGENTS.md | 200-1000 | 取决于项目说明长度 | | 每个 Skill | 24+ | 每个技能的描述 | | MEMORY.md | 100-500 | 长期记忆内容 | | 工具定义 | 50-200 | 可用工具的描述 | | 工具调用结果 | 变化大 | 搜索结果、文件内容等 | 安装 20 个 Skill,仅 Skill 描述就占用约 500 Token。 ## 使用量追踪 ### 查看使用量 OpenClaw 内置了使用量追踪功能: ```bash # 查看使用量统计 openclaw status ``` 输出示例: ``` Token Usage (Today): Input: 45,230 tokens Output: 12,450 tokens Total: 57,680 tokens Token Usage (This Month): Input: 1,234,567 tokens Output: 345,678 tokens Total: 1,580,245 tokens ``` ### 配置使用量追踪 在 `openclaw.json` 中启用详细追踪: ```json { "usageTracking": { "enabled": true, "logLevel": "detailed" } } ``` | 日志级别 | 记录内容 | |----------|---------| | `basic` | 每日总量 | | `detailed` | 每次请求的 Token 数 | | `verbose` | 包含模型、耗时等详细信息 | ### 设置使用量告警 ```json { "usageTracking": { "enabled": true, "alerts": { "dailyLimit": 100000, "monthlyLimit": 3000000 } } } ``` 当使用量接近限制时,OpenClaw 会发出警告。 ## Prompt 缓存 Prompt 缓存(Prompt Caching)是一种节省成本的技术——当多次请求包含相同的前缀内容时,模型提供商可以缓存这部分内容,后续请求只需要处理变化的部分。 ### 工作原理 ``` 第一次请求: [系统提示词 2000 Token] + [对话历史 3000 Token] + [新消息 200 Token] → 全部计费:5200 Token 第二次请求(系统提示词相同): [缓存命中 2000 Token] + [对话历史 3200 Token] + [新消息 150 Token] → 缓存部分半价或免费,实际计费减少 ``` ### 哪些提供商支持 | 提供商 | 缓存支持 | 折扣 | |--------|---------|------| | Anthropic | ✅ | 缓存命中部分 90% 折扣 | | OpenAI | ✅ | 缓存命中部分 50% 折扣 | | DeepSeek | ✅ | 缓存命中部分有折扣 | | Ollama | — | 本地模型无需缓存 | ### 如何利用缓存 缓存对你来说是**自动的**——只要你的系统提示词(SOUL.md、AGENTS.md 等)保持不变,提供商会自动缓存这部分内容。 优化建议: - 保持系统提示词稳定,不要频繁修改 - 把不常变的内容放在提示词前面 - 长对话比短对话更能受益于缓存 ## 模型选择对成本的影响 选择合适的模型是成本优化的最大杠杆。 ### 按场景选模型 | 场景 | 推荐模型 | 原因 | |------|---------|------| | 日常闲聊 | GPT-4o-mini / DeepSeek | 便宜够用 | | 代码编写 | GPT-4o / Claude 3.5 Sonnet | 需要强推理能力 | | 简单问答 | DeepSeek / 通义千问 | 极便宜 | | 数据分析 | GPT-4o | 需要准确的数学能力 | | 翻译 | DeepSeek / GPT-4o-mini | 翻译不需要最强模型 | | 隐私敏感 | Ollama 本地模型 | 数据不出本地 | ### 混合模型策略 使用故障转移机制实现"智能选模型": ```json { "model": { "provider": "deepseek", "model": "deepseek-chat", "fallback": [ { "provider": "openai", "model": "gpt-4o-mini" } ] } } ``` 日常用 DeepSeek(便宜),DeepSeek 不可用时自动切换到 GPT-4o-mini。 ## 成本优化建议 ### 1. 选择合适的模型 这是最有效的优化手段。GPT-4o 和 GPT-4o-mini 的能力差距在大多数日常场景中感知不大,但价格差 15 倍以上。 ### 2. 控制上下文长度 - 及时开始新会话(`/new`),避免单个会话积累过多历史 - 长对话会导致每次请求都携带大量历史 Token ### 3. 使用对话压缩 确保 compaction 开启,用便宜模型做摘要: ```json { "compaction": { "enabled": true, "model": "gpt-4o-mini" } } ``` ### 4. 精简 Skills 每个 Skill 约占 24+ Token。如果你安装了 30 个 Skill 但只常用 5 个: ```bash # 查看已安装技能 clawhub list # 卸载不用的 clawhub uninstall rarely-used-skill ``` ### 5. 精简系统提示词 SOUL.md 和 AGENTS.md 越长,每次请求的固定开销越大。建议: - SOUL.md 控制在 200-500 字 - AGENTS.md 只保留必要的项目信息 - 不要在提示词中放大段示例代码 ### 6. 使用本地模型 Ollama 运行本地模型,**零 API 成本**: ```bash # 安装 Ollama curl -fsSL https://ollama.com/install.sh | sh # 下载模型 ollama pull qwen2.5:7b # 配置 OpenClaw 使用 Ollama ``` ```json { "model": { "provider": "ollama", "model": "qwen2.5:7b" } } ``` 本地模型的代价是需要 GPU 或较强的 CPU,且能力通常不如云端大模型。 ### 7. 压缩模型用便宜的 对话压缩(compaction)会额外调用一次模型来生成摘要。用便宜模型做压缩: ```json { "compaction": { "model": "deepseek-chat" } } ``` ## 成本计算器 快速估算月成本的公式: ``` 月成本 = 每次对话 Token 数 × 每日对话次数 × 30 × 单价 示例(DeepSeek,每天 50 次对话): = 5700 Token × 50 × 30 × ¥0.002/千Token = 8,550,000 Token × ¥0.002/千Token = ¥17.1/月 ``` ## 常见问题 ### 为什么我的 Token 消耗比预期高? 常见原因: 1. 工具调用返回了大量数据(如搜索结果、文件内容) 2. 安装了太多 Skill 3. 对话历史太长没有及时开新会话 4. AGENTS.md 或 SOUL.md 内容过长 ### 本地模型真的免费吗? API 调用免费,但需要考虑: - 硬件成本(GPU 或高性能 CPU) - 电费 - 推理速度较慢 对于个人用户,一台带 8GB 显存的 GPU 就能流畅运行 7B 参数的模型。 ### 如何在不降低质量的前提下省钱? 最佳策略是**分场景用不同模型**: - 简单任务用便宜模型(DeepSeek、GPT-4o-mini) - 复杂任务用强模型(GPT-4o、Claude 3.5 Sonnet) - 通过故障转移配置自动切换 ## 小结 - 不同模型价格差异巨大,选对模型是最大的优化杠杆 - Token 分输入和输出,输出通常更贵 - Prompt 缓存可以自动节省重复内容的费用 - 控制上下文长度、精简 Skills 和提示词能有效降低成本 - 本地模型(Ollama)是零 API 成本的终极方案 #API成本管理 #Token计算 #使用量追踪 #成本优化 #龙虾技能库