<!-- title: 循环二次方：六框架Token税单 -->

# 循环二次方：六框架单决策Token税单

## 概述：你付的不是推理费，是框架的过路费

把一个智能体跑十步，你以为付的是十次推理的钱。实际上你付的是四十三倍。这不是模型涨价，而是**循环二次方计税**——每一次循环都把之前所有步骤的上下文重新序列化、重新喂给模型、重新计费。在这条二次方曲线之上，每个框架又叠加了一层**固定决策税**：系统提示脚手架、工具 Schema、角色人设、状态快照、协调消息。同样的任务，从 LangGraph 切到 Smolagents，单决策的 token 开销可以差出一个数量级。本文用 Augment Code 公开的二次方计费公式、Morph 的 2026 八框架横评、以及 TechTimes/Niteagent 的成本经济学数据，把六款主流框架的"税单"摊开算给你看，并给出把毛利率从 25% 拉回 60% 的四件套省税工程。

## 二次方账单：为什么十步循环要付四十三倍

理解框架税之前，先理解循环税。多数 LLM API 是无状态的，每次调用都要把整段对话历史重新发一遍、重新计费一遍。朴素的 Agent 循环是有状态的：每一步把工具输出、观察、推理轨迹追加进消息历史。于是第 N 步不只付第 N 步的钱，它把第 1 步到第 N-1 步的内容全部重发一次。

Augment Code 给出了这条曲线的精确公式：

```
Total_naive = N×S + u×N(N+1)/2 + r×N(N-1)/2

# S = system prompt tokens (fixed per call)
# u = new input tokens per iteration (user msg + tool result)
# r = output tokens per iteration
# N = total iterations
```

那个 `N(N+1)/2` 的三角数项就是陷阱。一个 20 步、每步产生 1000 token 的循环，累计输入 token 是 21 万，而不是按步估算的两万。在 Claude Sonnet 4.6（$3.00/百万输入、$15.00/百万输出）上，一个读文件的十步 Agent：朴素全上下文 47.25 万 token、1.49 美元，是单次直通（9,000 token、0.03 美元）的 **43.3 倍**。即便用滑动窗口（W=2）把每步上下文压到只保留最近两轮，也只是降到 26 万 token、0.86 美元——仍是单次的 29 倍。

真实轨迹更刺眼。一个上下文工程基准里的 Agent 运行，token 逐轮膨胀：第 1 轮 888、第 2 轮 3,400、第 3 轮 8,900、第 4 轮 14,200。**这是纯循环税，还没算框架那层固定开销。**

## 税基从哪来：框架的固定决策税

二次方税是普世的，谁都逃不掉。但每个框架在二次方之上叠加的"固定 S"和"单步增量 u"差异极大，这决定了同样 N 步任务的总账单高低。框架税有三个源头：

第一，**系统提示脚手架**。框架要教模型遵守自己的循环格式、工具调用约定、护栏规则，这些都写进 system prompt，每一步都全额重发。提示缓存能砍掉这部分——Sonnet 4.6 缓存读 $0.30/百万、未缓存 $3.00/百万，降 90%——但只能缓存稳定前缀，增长的历史缓存不了，所以缓存只动公式里的 `N×S` 项，动不了二次方项。

第二，**工具 Schema 注入**。每把一个工具的 JSON Schema 塞进上下文，就是几百到几千 token 的固定成本，且每步重发。一个挂十几个工具的 Agent，光 Schema 可能就吃掉 3,000–6,000 token/步。

第三，**状态与人设序列化**。LangGraph 的状态快照、CrewAI 的角色人设、AutoGen 群聊的全员广播，都会持续往上下文里灌字。

## 六框架税单对比

下表把六款主流框架按"固定决策税"维度排座。税级是按架构推算的方向性估计（真实值随工具数、Agent 数、上下文长度变化），不是绝对刻度。

| 框架 | 2026 版本/规模 | 循环编排模型 | 固定税源 | 单决策税级 | 缓存友好度 | 最佳场景 |
|------|------|------|------|------|------|------|
| LangGraph | 状态图节点 | 图节点+reducer | 全状态序列化+工具Schema | ★★★★★（重） | 中 | 复杂有状态工作流 |
| CrewAI | 1.14.6 / 52.4k★ / ~20亿次执行 | 角色 crew + manager | 每Agent角色人设+协调层 | ★★★★ | 中 | 快速原型/角色分工 |
| Microsoft Agent Framework | 1.0 GA（2026-04-03） | 群聊+图 | 全员消息广播 | ★★★★★（群聊最重） | 低 | Azure/.NET、需HITL |
| OpenAI Agents SDK | 轻量 handoffs | 薄循环+原生工具调用 | 极简脚手架 | ★★ | 高 | 轻量交接链 |
| Claude Agent SDK | 6/15起独立信用额度 | hooks+subagents | 原生工具+最深的MCP | ★★ | 高 | 编码/OS级Agent |
| Smolagents | 代码即动作 | 代码Agent | Python动作替代JSON Schema | ★★（动作侧省） | 中 | 代码生成型Agent |
| Pydantic AI | 类型驱动 | 单Agent+结构化输出 | schema代替自然语言提示 | ★（最轻） | 高 | 类型安全结构化输出 |

## LangGraph：有状态图节点的决策税最重

LangGraph 是最强大的有状态编排框架，也是固定税最重的。它的核心是图：每个节点是一个函数，reducer 决定状态如何合并，checkpointer 把完整状态持久化。这套机制换来了精确的状态控制和断点恢复，但代价是**每一步都把整张状态对象重新序列化进上下文**。一个有 20 个字段的共享状态，即使本轮只动了其中 2 个，模型也看到全部 20 个字段的最新值。

更重的是工具 Schema 和代理轨迹。LangChain 生态的工具描述一向偏 verbose，挂载工具越多，固定 S 越大。再加上 LangGraph 鼓励把"计划—反思—修正"写成显式节点，每多一个节点就多一轮全量重发。

```python
# LangGraph: state is full-reserialized each node visit
from langgraph.graph import StateGraph
from typing import TypedDict, Annotated
from operator import add

class AgentState(TypedDict):
    messages: Annotated[list, add]   # grows every step -> quadratic fuel
    scratchpad: str                  # appended, never trimmed by default
    tool_results: list               # all prior tool outputs retained

# Mitigation: window the messages, project state into a summary node
```

**省税手法**：用摘要节点定期把 `messages` 压成一段结构化总结；用状态投影只把本轮需要的字段喂给模型；工具按阶段动态挂载，不同子图只暴露相关工具。**变现/训练营评估**：LangGraph 是讲"复杂多步工作流"训练营的最佳载体，但课程必须专门有一章讲"状态膨胀税与摘要工程"，否则学员上线第一周就会被账单打脸。

## CrewAI：角色人设的线性叠加

CrewAI 在 2026 年很猛——52,400 颗星、过去 12 个月约 20 亿次 Agent 执行。它的卖点是"角色分工"：每个 Agent 有 role、goal、backstory，crew 之上还有一个 manager 做调度。这套抽象对原型极友好，但每个角色的三件套人设都会写进该 Agent 的 system prompt，而 manager 这一层的协调消息又会广播给相关 Agent。

于是 CrewAI 的税来自**乘法效应**：N 个角色 Agent 各自带一份人设税，再加一份协调税。一个四人 crew 跑十轮，光是角色脚手架的重复发送就相当可观。好在 CrewAI 1.x 原生支持 A2A（ACP 已在 2026 年并入 Linux 基金会下的 A2A），跨 crew 通信时不必把对方历史全量拉进来——这是它比 AutoGen 群聊省的地方。

**优缺点**：上手最快、心智负担最低，适合"我有一个想法、下午就要看到结果"的场景；但角色越多、轮次越多，人设税越扎眼。**变现评估**：CrewAI 是做"零基础搭 Agent"公开课的流量担当，因为它能让学员十分钟跑通第一个 crew。但训练营要诚实地告诉学员：CrewAI 适合原型和内部工具，高并发生产场景要把 manager 调度换成更省的模式。

## Microsoft Agent Framework / AutoGen：群聊的二次方相变

2026 年 4 月 3 日，Microsoft Agent Framework 1.0 正式 GA，把 AutoGen 和 Semantic Kernel 合并成一个 .NET + Python 的统一 SDK，原生支持 MCP 和 A2A，主打群聊加图的双模式编排，以及企业级人在回路。

群聊是上下文税的极端形态：**每个参与者产生的消息都被广播给所有其他参与者**。如果一个六人 Agent 团队讨论 20 轮，每个 Agent 的上下文里塞着另外五人累计的全部发言——这把循环二次方叠加了参与者乘法，几乎是 O(N²×M)。AutoGen 时代就有"群聊上下文塌方"的臭名，MAF 1.0 用 selector 和图模式缓解，但默认群聊仍是税王。

```python
# Group chat tax: every speaker's message rebroadcast to all participants
# 6 agents × 20 rounds = each agent re-reads ~100 foreign messages
# Fix: route via selector graph, give each agent a scoped window of others
```

**何时用**：在 Azure 生态、需要强人在回路审计、.NET 技术栈、合规要求高的企业场景，MAF 几乎是唯一顺手的选。**红线**：除非真的需要多方讨论，否则优先用它的图模式（显式路由）而不是群聊（全员广播），否则边际成本会随团队规模爆炸。

## Smolagents：代码即动作，砍掉工具 Schema 税

HuggingFace 的 Smolagents 走了一条反主流的路：**代码即动作（code agent）**。传统工具调用 Agent 把动作表示成 JSON——模型先读一份工具 Schema，再输出一段结构化 JSON，框架解析后执行。这套 JSON 往返每步都带 Schema 重发税。

Smolagents 让模型直接生成 Python 代码作为动作，工具被表示成可调用的函数而非 Schema。它的核心省税点在于：**动作表示从冗长的 JSON Schema + 参数约束，压缩成一行 Python 调用**。对于"读文件、调 API、算几步"这类步骤密集任务，动作侧的 token 开销显著下降。代价是代码执行需要沙箱（否则就是"Agent 越狱自家沙箱"那条老路的安全雷区），且代码生成的正确性需要校验。

```python
# Smolagents: action as code, not JSON tool-call
# Traditional: model emits {"tool":"search","args":{"q":"..."}},
#              framework parses -> schema re-sent every step.
# Smolagents: model emits  search("6G terahertz")  directly,
#             compact, no per-step schema payload.
from smolagents import CodeAgent, tool

@tool
def search(query: str) -> str:
    """Web search returning top snippets."""
    return _do_search(query)

agent = CodeAgent(tools=[search], model=model)  # one-line, lean loop
```

**变现评估**：Smolagents 是"代码 Agent"赛道的最佳教学样本，适合做成面向工程师的进阶训练营，主题就是"如何用代码动作替代 JSON 工具调用、并安全沙箱化"。它的卖点不是功能多，而是**动作层省税 + 思维清爽**。

## OpenAI Agents SDK 与 Claude Agent SDK：薄循环 + 原生工具

这两款是"原生派"的代表——它们不在模型外面裹一层笨重的脚手架，而是尽可能依赖模型自带的工具调用能力，把框架做得极薄。

OpenAI Agents SDK 主打 handoffs（轻量交接），编排是一层很薄的循环，系统提示最小化，工具调用走模型原生 function-calling 通道，没有自研的 JSON 解析提示。Claude Agent SDK（2026 年初由 Claude Code SDK 更名而来）更进一步：内置文件系统和 shell 访问工具，省掉自己写工具包装的样板；MCP 集成是所有框架里最深的，200 多个服务器一行配置接上；`@tool` 装饰器用类型注解直接生成参数描述，让工具 Schema 紧贴函数签名。

**这两款的省税逻辑一致**：固定 S 小（薄脚手架）+ 原生工具调用（不走 JSON Schema 自定义提示）+ 提示缓存友好（稳定 system 前缀命中率极高）。在二次方公式里，它们把 `N×S` 项压到最低，缓存一打，固定税几乎归零，剩下纯粹的循环二次方——而循环二次方是所有框架都逃不掉的物理定律。

```python
# Claude Agent SDK: thin loop, native tools, cache-friendly stable prefix
from claude_agent_sdk import query, tool

@tool
def read_file(path: str) -> str:
    """Read a file from disk."""   # schema derived from signature
    return open(path).read()

async for message in query(        # generator-based loop, lifecycle hooks
    prompt="refactor auth module",
    tools=[read_file],
):
    ...  # per-token streaming, hooks intercept before/after tool calls
```

**注意红线**：二者都是 provider-native——Claude Agent SDK 锁定 Claude 模型族，换模型要重写工具 Schema；OpenAI Agents SDK 优化对象是 GPT 系列。自 2026 年 6 月 15 日起，Claude Agent SDK 和非交互式 `claude -p` 在订阅计划下从独立的月度 Agent SDK 信用额度扣费（Pro $20、Max 5x $100、Max 20x $200），用尽后按标准 API 费率、不滚存。**做 CI 或定时任务的团队务必预算这条**。

## Agent 决策税的工作流：从输入到账单

```mermaid
flowchart TD
    A[用户输入] --> B[框架注入 system prompt<br/>脚手架 + 工具Schema + 人设]
    B --> C{模型决策循环 step N}
    C -->|每步| D[重发全部历史<br/>N×S + u×N N+1 /2 二次方税]
    D --> E[工具调用/代码动作]
    E --> F[观察结果追加历史]
    F --> G{终止?}
    G -->|否| C
    G -->|是| H[最终输出]
    B -.缓存命中可省90%.-> D
    I[省税四件套] --> J1[滑动窗口 W=k]
    I --> J2[协调者-专家拆分]
    I --> J3[语义+提示缓存]
    I --> J4[多模型路由]
    J1 & J2 & J3 & J4 -.压制二次方项.-> D
```

## 省税四件套：把毛利率从 25% 拉回 60%

框架选型决定"起点税"，省税工程决定"终点税"。Niteagent 的数据显示，未优化的早期 AI 公司毛利率可低至 25%，而优化好推理架构的能收敛到 60%（Bessemer 数据）；ICONIQ 的 2026 调研显示 AI 原生产品平均毛利率已从 2024 年的 41% 升到 52%，但仍比 SaaS 的 75–85% 低 23–33 个点。省税四件套就是填这条缝的工程：

**第一件，滑动窗口 / 状态摘要**。直接砍二次方项。每步只保留最近 k 轮原始消息，更早的压成结构化摘要。Augment Code 的 W=2 把十步循环从 47.25 万 token 降到 26 万。LangGraph 用摘要节点、Claude Agent SDK 用 context compaction、Smolagents 用 compact verbatim——各家都在往这个方向收敛。

**第二件，协调者-专家拆分（coordinator-specialist）**。把一个大上下文的 N 步任务，拆成一个协调者带若干专家。协调者只持高层状态，把子任务派给专家，专家的冗长工具输出**不回流到协调者**——只回一段结论。这等于把一条长的二次方曲线，换成多条短的二次方曲线之和，数学上必然更省。

**第三件，语义 + 提示缓存**。把稳定前缀（system prompt、工具 Schema）做提示缓存，命中省 45–80%；语义缓存捕获重复或近似的请求。注意：缓存只动固定 S 项，救不了增长的历史，所以它是"省固定税"的药，不是"省循环税"的药。

```python
# Tier-1: exact cache on stable prefix; Tier-2: semantic on near-dupes
class PromptCache:
    def __init__(self, threshold: float = 0.92):
        self.exact, self.embeddings = {}, {}
        self.threshold = threshold
    def get(self, prompt: str, model: str):
        key = sha256(f"{prompt}:{model}")
        if key in self.exact: return self.exact[key]          # instant
        emb = embed(prompt)
        for c, ce in self.embeddings.items():
            if cosine(emb, ce) >= self.threshold:             # near-dupe
                return self.exact[sha256(f"{c}:{model}")]
        return None
```

**第四件，多模型路由**。最高杠杆的一招：简单任务路由到便宜模型，复杂任务才上旗舰。把 70% 请求从 GPT-4 级降到 GPT-3.5 级，成本降约 60%；结合 Gemini 3 Flash（$0.10/百万）、Claude 4.5 Haiku（$0.80/百万）这类便宜档，整体能省 47–80%。它直接压低公式里的单价系数，对所有项生效。

四件套叠加，目标把单任务成本压到朴素实现的 1/3 以下——这正是 25% 到 60% 毛利率那 35 个点的来源。

## 推荐方案：按场景选框架、配省税

- **要建编码 Agent / 需要深度 OS 访问、MCP 生态**：Claude Agent SDK。薄循环 + 原生工具 + 缓存友好，固定税接近地板；代价是锁定 Claude 模型族，且 6 月 15 日起走独立 Agent SDK 信用额度，CI/定时任务要预算。
- **要轻量交接链、快速拼一个跨步骤流程**：OpenAI Agents SDK。最小脚手架，handoffs 模型清晰，适合 GPT 系且不想引入重编排的场景。
- **复杂、有状态、需要断点恢复和精确控制流**：LangGraph。功能最强、税最重，必须配套摘要节点 + 状态投影 + 动态工具挂载，否则二次方账单会让你怀疑人生。
- **快速原型 / 角色分工演示 / 公开课引流**：CrewAI。十分钟后就能跑通一个 crew，心智负担最低；生产前评估 manager 协调税，考虑换更显式的调度。
- **Azure/.NET 技术栈、强合规、需人在回路**：Microsoft Agent Framework 1.0。优先用图模式显式路由，慎用默认群聊广播。
- **工程师进阶 / 想砍动作层工具 Schema 税**：Smolagents。代码即动作，动作侧最省，但必须先解决安全沙箱。
- **只要类型安全的结构化输出、不需要多 Agent**：Pydantic AI。最轻、schema 驱动、缓存友好，固定税最低档。

一句话收尾：**框架决定你起跑时背多少税，省税工程决定你能不能跑到终点还不破产。** 在 token 已经吃掉 23% 营收、把毛利率压到 SaaS 之下三十个点的 2026 年，"选对框架 + 四件套省税"已经不是优化项，而是 AI 产品能不能活下来的生死线。

## 参考来源

1. [AI Agent Loop Token Costs: How to Constrain Context — Augment Code](https://www.augmentcode.com/guides/ai-agent-loop-token-cost-context-constraints) — 给出循环二次方计费公式、10 步循环 43.3 倍单次成本的算例与 W=2 滑动窗口实测
2. [AI Agent Frameworks (2026 Update): 8 SDKs Compared — Morph](https://www.morphllm.com/ai-agent-framework) — 2026 年八框架（Claude/OpenAI/Google/LangGraph/CrewAI/Smolagents/Pydantic AI/MAF）横评与精确发布时间线，含 6/15 Claude Agent SDK 信用额度变更
3. [AI Agent Economics: Token Tax Locks Gross Margins 30 Points Below SaaS Baseline — TechTimes](https://www.techtimes.com/articles/317542/20260601/ai-agent-economics-token-tax-locks-gross-margins-30-points-below-saas-baseline.htm) — token 税压低毛利率 23–33 个点、ICONIQ/Bessemer 毛利率数据、$200 订阅≈$5000 算力
4. [AI Agent Cost Optimization: Cut Token Spend 60% — Niteagent](https://niteagent.com/blog/ai-agent-cost-optimization-2026/) — 多模型路由（47–80%）、语义+提示缓存（45–80%）四件套省税策略与代码模板
5. [Microsoft Agent Framework at BUILD 2026 — Microsoft DevBlogs](https://devblogs.microsoft.com/agent-framework/microsoft-agent-framework-at-build-2026-announce/) — MAF 1.0 GA 合并 AutoGen + Semantic Kernel、群聊+图双模式、MCP/A2A 支持

> [!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)
