<!-- title: 别按单次算Agent账：循环税砍九成 -->
<!-- domain: cost-hacks -->

2026 年年中，海外 AI 创业公司的财报里冒出一个新科目——"LLM API 开销"，常常直接压过 AWS/GCP 的云账单。诡异的是：这一年 Anthropic、OpenAI、Google 轮流把单价砍了 30%–60%，国产 DeepSeek、GLM 更是把每百万 token 压到几毛钱。按理该越用越便宜，账单却越用越炸。问题不在单价，而在**消费形状**——你在白板上把 Agent 成本算成"调用次数 × 单次价格"，真实账单却是它的 5 到 30 倍。海外把这种藏在循环里的开销叫 Token Economics，本文拆给你看：这是一种平方级的"循环税"，以及已被生产环境验证、能把单任务成本从 $0.74 砍到 $0.09 的六把刀。

## 一、你的算法从第一步就错了

每个做 Agent 的团队都会做同一道白板算术：预计工具调用 N 次，乘以单次成本 C，加点 buffer。tianpan.co 的实测结论很扎心——这道算术在写完的瞬间就错了，不是错 10%、20%，而是 **5 到 30 倍**，取决于 Agent 复杂度。Gartner 类调研口径里，约 **40% 的 agentic 试点在进生产前就被砍掉， runaway inference cost 是头号原因**。

错在哪？直觉模型假设每次推理互相独立，公式是 `总成本 = N × C`。但在多轮 Agent 循环里这根本不成立——**每一次工具调用，都会让后续每一次调用为"已经变长的上下文"重新付费**。真实公式带一个三角项：

```
总输入token = N×S + u×N(N+1)/2 + r×N(N-1)/2
```

其中 N 是轮数，S 是静态前缀（系统提示+工具定义），u 是平均用户消息大小，r 是平均工具结果大小。`N(N+1)/2` 这个三角项就是元凶，它让 Agent 成本是 **O(N²) 而不是 O(N)**。一个 20 轮的 Agent，上下文累积暴露量不是 20 倍，而是接近 **200 倍**。

举个能让人肉疼的数字：一个用 Claude Sonnet 的编码 Agent，单次 9,000 token 上下文调用约花 **$0.03**；把它朴素地跑 10 步、每步把工具结果和历史往上下文里追加，全部调用的上下文总和会冲到约 **472,000 token**——相对单次基线是 **43 倍**成本。一篇 arxiv 的实测里，五步循环的单次 token 消耗是这样长的：

```mermaid
flowchart LR
    A["步骤1<br/>888 tok"] --> B["步骤2<br/>3.4K"]
    B --> C["步骤3<br/>8.9K"]
    C --> D["步骤4<br/>14.2K"]
    D --> E["步骤5<br/>18.9K"]
    E --> F["累计≈46K<br/>=单次的52倍"]
```

每一步的单价没变，但每一步要为前面所有步骤的历史重买单，所以成本随轮数**雪球式膨胀**。anhtu.dev 给的口径更狠：一个 30 步、每步线性长 4K 的 Agent，光输入就烧掉 **180 万 token**——相当于读四本厚小说；Agent 循环的总账单是一个普通 RAG 聊天机器人的 **50 到 500 倍**。

### 一个真实事故：11 天烧掉 8.7 万美元

最经典的惨案是东南亚一家金融科技公司，一个工具失败时 Agent 循环不停自我递归调用，每轮往上下文塞 12K token，没人设 `max_steps`、没有任何成本护栏。等告警触发时，**11 天烧掉 8.7 万美元**，已经超了一个季度的预算。

## 二、循环税之外，还有三道"每次都重交"的暗税

历史累积是明面的坑。更隐蔽的是一组**每次推理都要重新付费的固定成本**，国内开发者几乎从没单独算过它们。

**1. 系统提示。** 一个像样的生产级系统提示动辄 2,000–5,000 token。假设你的产品每天 100 万次 API 调用——这并不夸张——那就是 **20 亿到 50 亿 token 的指令开销，还没处理一条用户消息**。在规模化产品里，系统提示常常是推理支出里最大的一行。

**2. 工具定义。** 每个可用工具的 schema 都会被序列化进每次调用的上下文，不管模型用不用。一个不算大的工具定义就占 50–100 token。一套 **100 个工具的配置，会在用户提问之前就吃掉 128K 上下文窗口的约 22%**。实测里有人单次调用光工具定义就占了 **55,000–134,000 token**。同一团队把"常驻工具定义"改成"按需动态加载"后，从 134K 砍到 **8,700 token，降了 85%**。

**3. 重试开销 + 框架税。** 失败的工具调用不会从上下文里消失——错误响应、模型的下一次尝试、中间推理全部累积、全部在后续每轮重发。10% 的单步失败率，跨 10 步在没有熔断的情况下能静悄悄把成本翻几倍。更要命的是编排框架本身也烧 token：实测 LangGraph 有 1.3–1.8 倍基线开销，CrewAI 因每次调用前的"自主盘算"约 2 倍，多 Agent 编排**每多加一个 Agent 约增 7 倍**。一条四个 Agent 的研究流水线跑 20 步，成本不是单 Agent 的 4 倍，而是接近 **28 倍**。

很多人把"从单 Agent 扩到多 Agent"只当成质量升级，没意识到它同时是个成本事件——而且是平方级的。

## 三、六种 token，价格差一个数量级

2026 年的账单早就不是 GPT-3 时代的"输入+输出"两类了。一次请求里实际有六种 token，价格能差十倍，但国内 90% 的人读账单只看"总 token"：

| token 类型 | 含义 | 相对常规输入价 | 谁在烧 |
|---|---|---|---|
| 常规输入 | 提示+历史发上去 | 1x（基线） | 调用方 |
| **缓存输入** | 前缀已被服务商存好 | **0.1x（省 90%）** | 缓存命中后调用方 |
| 缓存写入 | 首次建缓存费（Anthropic） | 1.25x | 调用方，只付一次 |
| 输出 | 模型生成的 token | 3–5x 输入 | 调用方 |
| **思考** | 推理 token（Claude 扩展/o 系列等） | 3–5x 输入 | 内容你还看不见 |
| 工具结果 | 工具输出塞回模型 | 1x 输入 | **写一次、后续每轮重读** |

关键洞察：**输出和思考比输入贵 3–5 倍，而工具结果会被反复重读**。所以一个总是回吐大段 JSON 工具结果、还开着扩展思考的 Agent，是最贵的组合。读账单的第一步，是按这六类分桶，盯着 **Cache Hit Rate（缓存命中率）**——这是 agentic 负载最重要的单一数字。

## 四、按 ROI 排序的六把刀

海外团队已经把可落地的优化手段排过序，按"省的钱 ÷ 实现成本"从高到低。注意顺序：**先砍结构、再开缓存**，搞反了等于给一个 25 步的烂循环涂润滑油。

```mermaid
flowchart TD
    A["裸循环 30步<br/>O(N²) ≈ 180万 input tok"] --> B["①动态加载工具<br/>134K→8.7K  -85%"]
    B --> C["②原生 prompt 缓存<br/>缓存段 0.1x  -90%"]
    C --> D["③上下文压缩<br/>>20K 触发摘要到2-4K"]
    D --> E["④并行工具调用<br/>延迟降 1.4-3.7x"]
    E --> F["⑤三级路由<br/>93%落廉价层  -78%"]
    F --> G["⑥早停+预算护栏<br/>max_steps / $预算"]
    G --> H["单任务 $0.74→$0.09<br/>-88%  成功率还 +10%"]
```

**① 动态加载工具定义。** 不要把全部工具 schema 常驻。先让一个廉价分类器/路由决定本任务大概用哪几个工具，只把相关子集塞进上下文。前文那个 134K→8.7K 的案例就是这招，单刀砍 85%。

**② 原生 prompt 缓存（杠杆 #1）。** Anthropic、OpenAI、Google 都已支持。把稳定前缀（系统提示、工具 schema、大段 RAG 上下文）打上 cache 标记，服务商在其侧存好 KV-cache，TTL 内（Anthropic 5 分钟、可升 1 小时档）的后续请求这段只付 **10% 输入价**。实操铁律：**不变内容放头部、可变内容（用户查询、scratchpad）放尾部**——缓存是严格前缀匹配，中间改一个字符，下游全部失效。Anthropic 的代码长这样：

```json
{ "system": [ { "type": "text",
  "text": "<长系统提示+工具+RAG>",
  "cache_control": { "type": "ephemeral" } } ] }
```

**③ 上下文压缩/摘要。** 历史一旦超过阈值（比如 20K token），别继续堆——让 Agent 跑一个 summarize 子步骤，把历史压到 2–4K。三种打法：硬压缩（整段 scratchpad 改写成要点）、软压缩（保留最近 3 步原文、更早的摘要）、分层（只留顶层计划+当前步细节）。

**④ 并行工具调用。** 串行调用为整段对话的输入 token 反复付费；把互相不依赖的工具调用并到一次推理里批量执行，输入只付一次。实测并行执行能带来 1.4–3.7 倍延迟改善，且往返越少、累积上下文越省。

**⑤ 三级路由。** Agent 运行里 80% 的子任务 Haiku/Gemini Flash 就能正确搞定。前置一个路由分类 easy/hard：65% 直接由廉价层答；28% 交中层（Sonnet）；只有约 7% 真正难、低置信度的才上旗舰（Opus+思考）。实测 **93% 的请求在 Layer 1–2 就解决，平均成本只有"全程 Opus"基线的约 22%**。

**⑥ 早停 + 预算护栏。** 给每个任务设 `max_steps` 和 `$预算`，耗尽就让 Agent 返回当前最优答案，而不是死循环。进阶还有"投机式廉价优先"（同时打廉价+昂贵模型，廉价够好就丢掉昂贵的响应，省 60–80%）、"蒸馏后部署"（把生产里跑通的成功 trace 拿去微调一个小模型 SLM，熟活儿交给它、长尾才回退旗舰）、"工具结果 memoize"（同一任务里 `get_weather("北京")` 第二次不重复调）。

## 五、一张表看懂优化前后的真金白银

一个客服工单 Agent（平均工单 800 词，5 个工具：知识库、CRM、账单、JIRA、转人工），施加上述刀法后的实测：

| 指标 | 优化前 | 优化后 | 变化 |
|---|---|---|---|
| 每任务步数 | 14 | 9 | -36% |
| 每任务输入 token | 312K | 41K（94% 命中缓存） | -87% |
| 每任务输出 token | 22K | 9K | -59% |
| **每任务成本** | **$0.74** | **$0.09** | **-88%** |
| p50 延迟（秒） | 38 | 14 | -63% |
| 成功率 | 71% | 78% | +10% |

注意最后一行——**优化不仅没牺牲质量，成功率反而升了 10%**。因为缓存+压缩换来的是更干净的上下文，模型不容易被冗余历史带偏。这正是 Token Economics 最反直觉的一点：**省钱的招通常也让 Agent 更聪明**。

## 六、给中国开发者的三个提醒

第一，别拿"我用国产模型，单价是 Claude 的 1/20"当不省钱的理由。循环税是**结构性**的，跟单价无关。anhtu 那篇点破：2024 到 2026 年 Haiku 降了 80%、跌到 $0.80/百万 token，但同期 Agent 任务复杂度涨了 10 倍（从"答个问题"变成"读 200 页文档、写 PR、跑测试、修编译错误"）——**边际成本降了，总成本反而升了**。便宜模型解锁了新场景，却不会替你省掉平方级的循环。

第二，要追的 KPI 不是"tokens/day"，而是这四个：

| 指标 | 公式 | 参考目标 |
|---|---|---|
| $/成功任务 | 总成本 ÷ 达标任务数 | 客服 <$0.30、编码 Agent <$5 |
| 缓存命中率 | 缓存输入 ÷ 总输入 | 稳定 Agent >75% |
| token 效率指数 | 有效输出 ÷(输入+输出) | >0.18 |
| 步数膨胀比 | 实际步数 ÷ 理想步数 | <1.4（高了说明在乱逛） |

一个烧 1 亿 token 解决 5 万工单的 Agent，比烧 3000 万却只解决 5000 工单的**便宜**——CFO 只认单位价值。

第三，进生产前上四层护栏：单请求 `max_tokens`/`max_context` 硬上限、单任务预算/步数上限、单用户/单租户每日 token 桶、组织级熔断器（消费速率 3 倍基线持续 5 分钟自动降级到 Haiku-only 并告警 SRE）。把"成本估算"写进每个 agentic epic 的 Definition of Done，超预算 20% 就 block 发布——像对待测试失败一样对待成本超标。

## 信息差总结

| 国内常见的认知 | 海外已在做的事 |
|---|---|
| Agent 成本 = 调用次数 × 单次价 | 真实是 O(N²)，被低估 5–30 倍 |
| 用国产便宜模型就不用优化 | 循环税与单价无关，便宜模型照样平方级烧穿 |
| 读账单只看"总 token" | 按六类 token 分桶，盯缓存命中率 |
| 工具 schema 全量常驻 | 动态加载，单刀砍 85% 上下文 |
| 优化 = 降质量 | 实测省 88% 的同时成功率还升 10% |

## 行动指南

1. **本周就做**：挑一个已在生产的 Agent 流程，把它最近 100 次调用的 token 按六类分桶，算出"$/成功任务"和"缓存命中率"。你大概率会立刻发现一个能砍 30% 的杠杆。
2. **两周内**：给稳定前缀打上 `cache_control`，把工具定义改成按需加载，加一个 `max_steps` 硬上限。这三步零架构改动、当天见效。
3. **一个 sprint 内**：上三级路由（廉价层兜底、旗舰只兜长尾）+ 上下文压缩阈值，对照上面那张 before/after 表看你的数字能逼近多少。
4. **进生产前**：把四层成本护栏配齐，把"成本估算"写进 PRD 的 Definition of Done。H2 2026 海外已经在推"按结果计费"取代按 token 计费，提前把 $/任务这个指标跑顺，你比同行快半步。

## 参考来源

- [Why Your Agent Costs 5x More Than You Think — Tian Pan](https://tianpan.co/blog/2026-04-20-token-economy-multi-turn-tool-use-agent-cost)
- [Token Economics 2026: Cost-Optimizing AI Agents in Production — AnhTu.dev](https://anhtu.dev/token-economics-cost-optimizing-ai-agents-production-2026-2257)
- [AI Agent Loop Token Costs: How to Constrain Context — Augment Code](https://www.augmentcode.com/guides/ai-agent-loop-token-cost-context-constraints)
- [Prompt Caching — Anthropic Docs](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching)
- [Effective Context Engineering for AI Agents — Anthropic Engineering](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
