> For the complete documentation index, see [llms.txt](https://yeasy.gitbook.io/openclaw_guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yeasy.gitbook.io/openclaw_guide/di-si-bu-fen-shi-zhan-yu-you-hua-shen-du-zhi-nan/14_performance_cost/14.1_token_context_cost.md).

# 14.1 Token 与上下文成本

Token 消耗是 Agent 系统最直接的成本驱动因素。本节从 Token 的流入与流出、精简策略、上下文压缩等维度，提供基于 OpenClaw 配置的系统化优化方案。

## 14.1.1 Token 流动的三个阶段

一个完整的 Agent 对话中，Token 消耗分为三个阶段：

```
阶段 1: 输入 Token
  系统提示 + 上下文窗口 + 用户消息
  ↓
[LLM 推理]
  ↓
阶段 2: 输出 Token
  模型生成的回答 + 思考过程
  ↓
阶段 3: 下一轮消息历史
  将本轮对话写入会话，成为下一轮的上下文
  （→ 回到阶段 1）
```

**关键观察**：会话越长，上下文窗口越大，每一轮的输入 Token 越多。这形成**成本加速**：第 10 轮对话的输入 Token 数往往是第 1 轮的 5-10 倍。

## 14.1.2 输入 Token 优化

### 1. 系统提示精简

系统提示（System Prompt）是每轮推理都必须发送的固定成本。

**优化前**（常见冗余写法）：

```
你是一个客服助手。你的职责是帮助用户解决问题。
你应该始终保持友好和专业的态度。
你不应该提供医疗建议。
你应该尽快解决用户的问题。
... [还有 20 行类似描述] ...
```

**优化后**（精简版）：

```
客服助手。友好、专业、拒绝医疗建议。
```

**收益**：中文约 1 字 ≈ 1 token（见 6.4.4 的 CJK 估算器），故约节省 1975 Token/轮 × 1000 轮/月 ≈ 197.5 万 Token。若按本章后文示例的 Claude Sonnet 4.6 输入价 `$3 / 1M` 粗算，约为 `$5.93 / 月`。

### 2. 按 Agent 差异化工具定义

不是所有 Agent 都需要所有工具。精简工具列表可减少提示词中的工具定义部分。

**优化前**（通用工具列表）：

```jsonc
{
  "tools": [
    "web_search", "send_email", "create_calendar_event",
    "read_file", "write_file", "delete_file",
    "query_database", "execute_sql", "call_api"
    // ... 以下省略 20+ 个工具
  ]
}
```

**优化后**（按 Agent 分配）：

```json
{
  "agents": {
    "support_agent": {
      "tools": ["search_knowledge_base", "send_email", "create_ticket"]
    },
    "data_analyst": {
      "tools": ["query_database", "execute_sql", "plot_chart"]
    }
  }
}
```

### 3. 上下文窗口预算与动态截断

即使有 100K Token 的窗口，也不应将所有历史都塞入每个请求。关键是**选择性加载**。

配置示例：

```json
{
  "agents": {
    "defaults": {
      "contextTokens": 10000,
      "contextPruning": {
        "mode": "cache-ttl",
        "ttl": "5m",
        "keepLastAssistants": 3,
        "minPrunableToolChars": 50000
      }
    }
  }
}
```

通过智能去重，通常可将上下文从 15K 降至 8K Token，同时保持回答质量。

## 14.1.3 输出 Token 优化

### 1. 限制输出长度

对于不需要长回答的任务，明确限制输出长度。

配置示例：

```json
{
  "agents": {
    "defaults": {
      "models": {
        "anthropic/claude-sonnet-4-6": {
          "params": { "maxTokens": 500 }
        }
      }
    }
  }
}
```

### 2. 结构化输出格式

使用 JSON Schema 或其他结构化格式，可让模型生成更精简的回答。

**优化前**（自由文本）：

```
用户询问："我的包裹到哪了？"
模型回答："您好！您的包裹当前位于中转站。根据我们的追踪系统，
您的订单（订单号：12345678）已于今日上午 10:30 到达北京中转站。
预计明日下午送达。如有任何问题，请随时联系我们。"
```

（约 150 Token）

**优化后**（结构化）：

```json
{
  "status": "in_transit",
  "location": "Beijing Hub",
  "eta": "2026-03-23T18:00Z",
  "order_id": "12345678"
}
```

（约 30 Token）

## 14.1.4 上下文压缩与裁剪策略

当会话变得很长时，必须主动压缩以避免成本爆炸。

### 策略 1：消息合并（Compaction）

将多个老旧消息合并为单个摘要消息。

**压缩后**（1 条摘要消息，200 Token）：

```
[之前讨论摘要] 用户询问了产品 A 的特性、价格（$99）、优惠（20% 折扣）、
交付时间（3-5 天）。用户表示感兴趣。上一条消息：用户问何时有货。
```

**配置示例**：

```json
{
  "agents": {
    "defaults": {
      "compaction": {
        "mode": "safeguard",
        "keepRecentTokens": 5000,
        "model": "<provider/low-cost-model>",
        "truncateAfterCompaction": true,
        "maxActiveTranscriptBytes": 10485760
      }
    }
  }
}
```

### 策略 2：优先级裁剪（Pruning）

删除低优先级的消息（如无关、陈旧的对话）。

**规则示例**：

* 保留最近 5 条消息（总是需要最新上下文）
* 保留包含“重要”标签的任何消息
* 删除超过 7 天前的调试日志消息
* 删除被标记为“解决”的问题讨论

## 14.1.5 模型选择的成本影响

不同的模型在 Token 计价与效率上差异巨大。

**成本对比**（Claude 侧为 2026-07-28 核验快照，OpenAI 侧仍为 2026 年 6 月写作时示例，均需以 [Anthropic Pricing](https://docs.anthropic.com/en/docs/about-claude/pricing) 与 [OpenAI Pricing](https://openai.com/api/pricing/) 为准）：

| 模型                | 输入单价     | 输出单价     | 特性                                                                                           | 适用场景                           |
| ----------------- | -------- | -------- | -------------------------------------------------------------------------------------------- | ------------------------------ |
| Claude Haiku 4.5  | $1/1M    | $5/1M    | 快速、便宜                                                                                        | 简单分类、摘要                        |
| Claude Sonnet 4.6 | $3/1M    | $15/1M   | 平衡，Adaptive Thinking                                                                         | 通用助手                           |
| Claude Sonnet 5   | $3/1M    | $15/1M   | 2026-06-30 发布，1M 上下文、128K 输出，Adaptive Thinking 默认开启；介绍价 $2/$10 适用至 2026-08-31                | Sonnet 档新主力，接入前先确认计费口径         |
| Claude Opus 4.6   | $5/1M    | $25/1M   | 强推理能力，Adaptive Thinking                                                                      | 复杂多步任务                         |
| Claude Opus 4.7   | $5/1M    | $25/1M   | Opus 4.8 前代强推理模型，新 tokenizer（同等文本约 1.0–1.35× tokens），Adaptive Thinking                       | 高难度软件工程、复杂多步任务                 |
| Claude Opus 5     | $5/1M    | $25/1M   | 2026-07-24 发布，1M 上下文、128K 输出，Adaptive Thinking；Claude API 与 Claude Code 上默认 `effort=high`    | 复杂智能体编码、企业级长程任务；官方建议不确定时从此型号起步 |
| Claude Opus 4.8   | $5/1M    | $25/1M   | Opus 5 之前的 Opus 档模型，官方已列入 legacy；价格与 1M 上下文不变，默认 `effort=high`，Adaptive Thinking             | 存量接入可沿用，新项目建议迁移到当前 Opus 档型号    |
| Claude Fable 5    | $10/1M   | $50/1M   | 发布价格快照：能力最强的广泛发布模型（2026-06-09 GA），Adaptive Thinking 常开；曾于 2026-06-12 短暂暂停访问，官方模型页此后已恢复列为正常提供 | 生产接入前核验可用性                     |
| GPT-5.5           | $5/1M    | $30/1M   | OpenAI 高端推理档（2026-07 起前沿为 GPT-5.6 Sol，同价位）                                                   | 高难度推理、复杂任务                     |
| GPT-5.5-pro       | $30/1M   | $180/1M  | OpenAI 最强推理                                                                                  | 顶级复杂推理、科研                      |
| GPT-5.4           | $2.50/1M | $15/1M   | OpenAI 前沿主线                                                                                  | 通用、复杂推理                        |
| GPT-5.4 mini      | $0.75/1M | $4.50/1M | 高性价比                                                                                         | 高并发、低延迟                        |
| GPT-5.4 nano      | $0.20/1M | $1.25/1M | 最低成本                                                                                         | 简单任务、高频调用                      |

OpenAI 的模型目录、别名和价格层变化很快；上表中的 GPT-5.5 / GPT-5.4 条目仅是写作时示例，不应当作当前可用模型清单或报价。生产估算时必须按 OpenAI 当前 Models 与 Pricing 页重新核对，并把 Batch API、缓存输入、长上下文价格层和区域差异单独计入。

典型分层：简单问题（80%）→ Haiku，中等（15%）→ Sonnet，复杂（5%）→ Opus，可降低平均成本 50-70%。该比例是经验示例，不是基准结论；上线前应按真实流量和当前价格复算。

> **注意：Claude Opus 4.7 的 Tokenizer 变化与思考模式**：[Anthropic 的 Opus 4.7 发布说明](https://www.anthropic.com/news/claude-opus-4-7)称，Opus 4.7 保持 $5/$25 per 1M tokens 定价，但新 tokenizer 会让同等输入约变为 1.0-1.35x tokens，具体取决于内容类型。[Anthropic 的 Extended Thinking 文档](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking)还说明，Opus 4.7 不再接受手动 `thinking: {type: "enabled", budget_tokens: N}`，应改用 Adaptive Thinking（`thinking: {type: "adaptive"}`）与 effort 参数。可通过启用 Prompt Caching 或 Batch Processing 来部分抵消成本增加；真实账单仍需按当前官方 Pricing 页复核。

## 14.1.6 Token 成本与配额观测

使用 OpenClaw 内置命令观测 Token 消耗、会话成本和 provider 配额窗口：

```bash
# 查看当前会话的 Token / 缓存 / 最近一次回复成本摘要
/status

# 查看会话成本摘要
/usage cost

# 查看 transcript-backed CLI 成本摘要
openclaw gateway usage-cost

# 查看 provider 侧配额/窗口快照，不等同于成本趋势报表
openclaw status --usage
```

## 14.1.7 成本优化检查清单

在优化 Token 成本时，按以下顺序检查：

1. **系统提示长度** < 100 字？ □
   * 若否：精简到 50 字以内
2. **工具列表** < 5 个工具/Agent？ □
   * 若否：为不同 Agent 分配差异化工具
3. **上下文预算** < 10K Token？ □
   * 若否：启用 `contextPruning`，降到 8K
4. **消息历史** < 20 条？ □
   * 若否：启用 `compaction`，压缩到 10 条 + 摘要
5. **输出限制** 已配置？ □
   * 若否：为各 Agent 设置 `maxTokens`
6. **模型选择** 有分层吗？ □
   * 若否：为简单任务用 Haiku，复杂用 Sonnet

完成以上 6 项优化，通常可以将 Token 成本降低 40-60%。
