Agentic-Workflow-Token-Efficiency(Agentic Workflow Token 效率)
定义
Agentic-Workflow-Token-Efficiency 是通过 API 代理记录、自动化审计、MCP 工具裁剪、CLI 替代等手段,系统性优化 Agentic Workflows 的 token 成本的方法论。
核心问题
成本累积
- Agentic Workflows 自动调度和触发,成本可能在视野外累积
- 每个 MCP 工具调用都是一个推理步骤,消耗 token
- 未使用的工具注册也会占用上下文空间
效率悖论
- 工作负载变化(5 行修复 vs 200 行 PR)导致 token 使用波动
- 模型差异(Haiku vs Sonnet vs Opus)导致成本差异
- 质量影响难以直接测量
优化策略
1. API 代理记录
- 使用 API 代理捕获所有 token 使用数据
- 输出
token-usage.jsonl文件,包含输入/输出/缓存读取/缓存写入 token - 建立历史视图,识别优化机会
2. 自动化审计和优化
Daily Token Usage Auditor:
- 读取近期工作流运行的 token 使用数据
- 按工作流聚合消费
- 标记显著增加的工作流
- 发布结构化报告
Daily Token Optimizer:
- 分析标记的工作流源码和日志
- 创建 GitHub issue 描述具体低效问题
- 提出具体优化建议
3. 消除未使用的 MCP 工具
- MCP 工具函数名和 JSON Schema 每次请求都包含在上下文中
- 40 个工具的 MCP 服务器可增加 10-15 KB Schema
- 移除未使用工具可减少 8-12 KB 上下文
4. 用 GitHub CLI 替代 MCP 调用
两种策略:
- Pre-agentic 数据下载:工作流开始前运行
gh命令,写入工作区文件 - In-agent CLI 代理替换:运行时通过轻量级 HTTP 代理路由 CLI 流量
优势:
- CLI 调用是确定性 HTTP 请求,无 LLM 参与
- 消除工具调用开销(工具 JSON Schema、参数块、响应)
- 利用 Agent 在 bash 脚本方面的训练
5. 把工具表面本身做成成本优化器
Hugging Face 的 hf CLI 提供了一个更进一步的例子:有时真正该优化的不是“少用工具”,而是“把工具接口设计成更少需要推理”。
它的做法不是只提供一个命令,而是把多步 Hub API 工作流压缩进 agent-native CLI 语义:
- 同一命令在 agent mode 下输出紧凑、完整、无 ANSI 的可解析结果
- hint、warning 和 error 写到 stderr,不污染 stdout 数据流
- destructive commands 在 agent mode 下 fail fast,而不是阻塞等待确认
--json、-q、--dry-run、--yes把 CLI 变成可组合、可重试的系统调用
文章报告在复杂 Hub 任务中,hf CLI 相对手写 curl / SDK 可把 token 使用压到约 1.3x 到 1.8x 的差距内;在多步任务上,后者甚至会花掉 2.4x 到 6x token。这里节省的并不只是“调用成本”,更是 Agent 不再需要自己推导调用顺序、命令参数和失败恢复逻辑。
Uber 规模化补充:把 Token 效率纳入 Software Factory(2026-08)
Uber 的一手实践把 token 优化从单个工作流的技巧提升为托管 Agent 车队的运营控制面:
- 先以完成任务为单位选模型:每个 managed agent 都从真实工作构建 benchmark,在统一 harness 中比较 frontier 与 open-weight 模型,按完成任务成本、输出质量和可靠性寻找 Pareto 前沿;uReview 还对真实 PR 的已知 bug 评分 precision、recall、F1、延迟、超时和噪声。主模型负责分解和评价,定义清楚的 subtask 默认交给更便宜的模型。
- 把重复上下文成本显式化:Uber 报告在 1M context window 模型上仍于 400K token 触发自动 compaction,并把 reasoning effort 默认设为 Medium;prompt cache 的读取消耗可降到标准输入价格的 0.1x,但 TTL 要按交互间隔选择,交互式 session 从 5 分钟改为 1 小时,短生命周期 subagent 仍保留 5 分钟。
- 把工具协议从模型上下文中移走:超过 1,000 个 MCP server 统一经过 gateway;直接预加载 100 个以上工具约产生 50K–70K token schema 开销,CLI tool resolution 和 tool search 改为调用时解析。code-mode 把 SQL 轮询等多步过程放进脚本,原文报告单次测试 token 减少超过 50%,批量流程超过 90%。
- 从减少 token 转向减少盲搜:AI Context Graph 连接 30 多个内部系统,包含 2,400 万节点和 8,000 万条边;一个有 graph grounding 的案例 38 秒得出答案,未 grounding 的 Agent 搜索 20 分钟、启动 2 个 subagent、出现 3 次错误后仍误判数据不可查询。
- 把成本反馈放回运行时:status line 显示实时花费,harness pool 统一管理交互式预算,Slack 在 50/80/100% 预期花费处提醒;session dashboard 进一步识别 16 类 anti-pattern,并给出财务影响和修复建议。
综合判断:生产级 token efficiency 不是“少发几个请求”,而是把模型选择、上下文生命周期、工具接口、组织语义层和成本反馈共同设计成一个闭环。
- 证据:20260828-uber-software-factory(“The Cost Equation”至“Session Analysis Dashboard”)。
- 边界:上述幅度均为 Uber 内部测量;图谱、gateway、统一 harness 和 session trace 基础设施的建设成本未披露,不能把单项数字直接当作普适基准。
长程 Coding Agent:重复上下文读取成为主成本项(2026-09)
Anthropic 的 Claude Code 聚合数据(2026-03→09,20260924-claude-opus-5-5-context-cost)显示:prompts/session 基本稳定,但 context/request 约增长 2.6×,input:output token ratio 从 189:1 → 324:1;同时每 prompt 的 model calls 增长 >40%,中断减少 68%。
判断:长程 coding agent 的成本结构正在从“生成多少 token”转向“同一任务需要反复读取多少上下文”。因此,Prompt Cache 不再只是 API 层优化,而是 Agent Harness 的成本架构。
这带来三个实践约束:
- 以完成任务成本而非单 token 价格选模型:强模型如果能减少错误路径和 turns,在开放任务上可能更便宜;短机械任务则未必。
- 把 cache locality 当成设计目标:tool loading、instructions 变化、effort 切换、subagent fork、TTL 与 compaction 都会影响有效成本。
- 把新输入和重复读取分开测量:同样的总 input tokens,如果大部分来自廉价 cached read,其成本结构完全不同。
- 证据:20260924-claude-opus-5-5-context-cost,“Claude Code trends”“Cache is cheap”“Claude Code is better at using the cache”“The same task, but with fewer turns”。
- 边界:数据来自 Anthropic 自身产品 telemetry;价格、模型质量与 harness 改动同时变化,不能把成本改善单独归因于 Opus 5.5。
模型经济学:成本异质性
Cursor 2026 春季报告对 7 个模型族的基准测试揭示了 token 效率的宏观背景:
| 维度 | 变异倍数 | 含义 |
|---|---|---|
| 每次 Agent 请求成本 | ~9x | 同一工作流在不同模型上的成本差异巨大 |
| 每行被接受代码成本 | ~7x | 高成本模型部分弥补差距(每次请求产出更多被接受代码) |
成本-质量前沿
CursorBench 3.1 评分 vs 平均任务成本的散点图显示:模型在成本-质量前沿上的位置差异显著。选择模型不只是选价格,而是选前沿上的最优位置。
对 Token 效率优化的启示: 模型选择本身就是最大的 token 效率杠杆——9x 的成本差异远超任何优化策略能达到的效果。但高成本模型的更高接受率部分缩小了差距,说明"最便宜的模型"不一定是"最高效的选择"。
关键数据点
| 指标 | 数据 |
|---|---|
| 优化工作流数量 | 12 个生产工作流 |
| Auto-Triage Issues 优化效果 | -62% (109 次运行) |
| Daily Compiler Quality 优化效果 | -19% (12 次运行) |
| Community Attribution 优化效果 | -37% (8 次运行) |
| Security Guard 优化效果 | -43% |
| Smoke Claude 优化效果 | -59% |
| Auto-Triage 运行频率 | 6.8 次/天 (最高 15 次) |
| MCP 工具 Schema 大小 | 40 工具 = 10-15 KB |
| 移除未使用工具节省 | 8-12 KB 上下文 |
| 模型间请求成本差异 | ~9x(7 个模型族, Cursor 2026 春季) |
| 模型间每行接受代码成本差异 | ~7x(Cursor 2026 春季) |
效率测量
Effective Tokens (ET) 公式
ET = m × (1.0 × I + 0.1 × C + 4.0 × O)
其中:
m= 模型成本乘数(Haiku = 0.25×, Sonnet = 1.0×, Opus = 5.0×)I= 新处理的输入 tokenC= 缓存读取 token(权重 0.1×)O= 输出 token(权重 4×)
三个混淆因素
- 模型差异:相同工作流在不同模型上 token 数相似但成本不同
- 工作负载变化:小 PR vs 大 PR 导致 token 使用波动
- 质量影响:轻量模型+受限工作流可能降低输出质量
质量信号
- 输出 token 每 LLM 调用
- 每次运行的轮次计数
- 工具调用完成率
初步结果
| 工作流 | 优化效果 | 运行频率 |
|---|---|---|
| Auto-Triage Issues | -62% | 6.8 次/天 |
| Daily Compiler Quality | -19% | 1 次/天 |
| Community Attribution | -37% | 1 次/天 |
| Security Guard | -43% | 高频 |
| Smoke Claude | -59% | 高频 |
三个关键模式
1. 许多 Agent 轮次是确定性数据收集
- 移除不需要推理的读取操作(获取 issue 元数据、扫描标签)
- 相关性门控跳过不涉及安全敏感文件的 PR
- 最便宜的 LLM 调用是你不做的调用
2. 未使用的工具携带成本高
- 一个工具在单次运行中被调用 342 次,尽管完全不必要
- 移除工具可显著减少 token 使用
- 但工具清单可能只是整体上下文的一小部分
3. 单个配置错误可导致失控循环
- 错误的 bash 模式配置导致 Agent 陷入 64 轮回退循环
- Agent 手动读取源代码重建编译器输出
- 一个配置修复消除循环
GitHub Copilot:优化完整任务而非局部调用(2026-09)
判断:AI 编程的成本优化目标应是“以相同任务质量完成任务所需的总工作”,而非单次工具调用的 token 数。harness 的优先级是删除模型不需要做的工作,同时保留完成任务所需的信息与行为。
- 证据:20260902-github-ai-coding-cost-efficiency;RTK 在测试配置中缩短工具输出,却因信息缺失诱发重读与重跑;选择性压缩、删除
view行号、批处理后台完成通知则分别从信息、格式和 orchestration 层减少重复工作。 - 边界:GitHub 的实验主要覆盖 Copilot CLI 与 Copilot code review;benchmark 组成、样本量、置信区间和 goodput 定义未完整披露,不能把相对成本变化直接当作所有 Agent 工作流的普适收益。
四类可迁移的 harness 改动
- 压缩重复噪声,不压缩语义:source-like 和任意命令输出保持原样;搜索结果可无损重排;只对 install、build、test、progress 等重复噪声做选择性压缩,并保留原文恢复路径。
- 先删无效格式,再删信息:
view工具移除不再服务编辑流程的行号前缀,离线模型推理成本约下降 5%,线上 Copilot CLI 日均每用户约下降 3%,文件内容本身未改变。 - 把 prompt 当行为接口测试:压缩 task-tool prompt 的首次线上版本把并行 Agent 意外串行化;新增行为回归测试后,用更短但更开放的指令恢复并行。最终每轮移除约 1,300 个 prompt tokens,会话总 prompt tokens 约少 1.8%,每活跃小时归一化成本约低 2.9%。
- 让完成事件携带结果:后台 shell 与 sub-agent 完成后,harness 批量发送已有结果,避免 Agent 额外发起 retrieval turn;官方示例从四次模型调用变成一次处理两个结果的调用,AI Credits 相关用量约降 2.3%。
综合判断:生产级 token efficiency 的核心单位不是 token,而是“未引入重复工作的有效任务进展”。这把成本优化从输出裁剪问题提升为 harness 的信息保真、行为契约和 round-trip 设计问题。
- 证据:20260902-github-ai-coding-cost-efficiency;Improving token efficiency in GitHub Agentic Workflows。
- 边界:过程信号(轮次、恢复次数、工具完成率、prompt tokens)不能替代结果质量;任何改动都必须在实际 workflow、模型、任务分布和产品表面中分别验证。
新增证据:代码质量作为第四类效率杠杆
SonarSource (2026) 的 minimal-pair study 发现代码整洁度独立影响 agent token 消费(Code-Cleanliness-Agent-Footprint):
| 杠杆 | 典型幅度 | 改动成本 |
|---|---|---|
| 模型选择 | ~9x | 切换 API |
| 工具裁剪 | −8-12KB 上下文 | 修改 MCP 配置 |
| 上下文管理 | −26-54% | 重构 harness |
| 代码整洁度 | −7-8% token, −34% file revisitation | 持续代码治理 |
幅度最小但唯一不需要改 harness——它是"不动 agent 基础设施"就能生效的杠杆。在高频率 agent 工作流中(如 Cursor Automations 每天多次运行),年化效果显著。
新增证据:任务分流比统一队列更重要
Tomasz Tunguz 的本地/云双通道案例补了一条常被忽视的效率规律:token 效率不只来自更便宜模型,也来自更好的排队纪律。先把简单任务留在本地后,78% 的工作不再堵在大模型队列前面,系统吞吐提升约 25%,平均任务时长从 47 秒降到 19 秒,queue age 从 73 秒降到 4。
这说明生产级优化至少有两层:
- 降低单次调用的 token 成本。
- 减少高价值任务被大任务阻塞的等待成本。
第二层经常比第一层更接近真实用户体感。
Token 效率作为架构质量的投影——辩论与定位(07-19 新增)
"架构质量 = Token 效率"——这个等式在 Agent 时代是否成立?六人圆桌(Brooks/Goodhart/Vogels/Poppendieck/Weinberg/Forsgren)+ 七层追本 + 联网实证给出了精确回答。
结论:Token 效率是投影不是度量
Token 效率 ≠ 架构质量的度量。Token 效率 = 架构在 Token 成本轴上的投影。投影真实但不等于被投影物体。
根因(Weinberg,1991):质量不是物体的属性——是关系的属性。同一段代码对财务总监(Token 成本太高)、维护者(很清晰)、CTO(技术债务炸弹)——三人都对。架构质量 = Σ(利益相关者 × 关切)在代码上的投影集合,各投影互不可约简。
策略-架构不可分离
Transformer 的物理计算过程不区分"访问结构"和"执行推理"——同一个前向传播、同一个注意力分布、同一个 softmax 预算。传统"策略-架构分离"依赖冯·诺依曼架构的"内存-处理器分离"——这个物理前提在统一场中被取代。Token 效率更精确类比 = 热力学中的自由能变化(ΔG),测量统一场中从初始态到目标态的不可分跃迁功。
Token 效率的正确用法:精度分层
| 用法 | 可靠性 | 原理 |
|---|---|---|
| 绝对值 → 点估计("代码库 A 比 B 好 30%") | ❌ 不可靠 | 策略-架构混合比随任务/上下文变化,信号源不可分离 |
| 变化率 → 腐烂检测("Token 消耗在过去一周急剧上升") | ✅ 可靠 | 短窗口内混合比相对稳定,变化主要反映架构腐烂 |
正确位置 = andon cord(精益异常信号):Token 效率是成本轴上的最快反馈信号(秒-分钟),发现问题用——不是诊断问题用。
双信诊层架构
- L1 信号层:Token 异常 → 发现问题(秒-分钟)。andon cord 拉响。
- L2 诊断层:多维归因(可理解性 + 变更隔离度 + 测试覆盖密度)→ 定位问题(小时-天)。
两层不可混淆——Token 效率告诉你"有问题",不告诉"问题在哪"。
Forsgren 多维度互锁框架
将 Token 效率嵌入四维度张力结构(类似 DORA 四度量):
Token 效率 ↔ 可理解性
↕ ↕
变更隔离度 ↔ 测试覆盖密度
优化任一维度 → 其他三个暴露代价。维度间张力 = 防作弊机制。DORA 四度量十年无重大度量反噬——验证互锁框架的有效性。
Goodhart 反噬三路径
当 Token 效率被孤立目标化时,反噬沿三条路径发生:
- 重分类:开发者将高 Token 消耗从"架构耦合"归因转移到"模型理解力不足"
- 表面合规:代码被改写为"看起来简洁"但逻辑更复杂的形式
- 目标替代:架构审查从"设计合理吗"变成"Token 消耗压到 X 以下了吗"
联网实证(2025-2026 行业数据)
- CTR 行业基准(Larridin/GitClear):AI 代码 30 天 CTR 12-18%,人类 4-6%,ratio 1.8-2.5×(健康 <1.5×,红线 >2.0×)。Pre-AI 基线 3.3% → 2025 年 7.1%
- AI-Human Turnover Ratio 被行业确认为"最可操作的质量信号"——直接验证多维度互锁框架在实践中的采纳
- AI 代码缺陷率(CodeRabbit 2025):1.7× 更多缺陷/PR。可维护性 1.64×↑ / 逻辑 1.75×↑ / 安全 1.57×↑
- 开发者信任崩溃(Stack Overflow/Sonar 2026):96% 不完全信任 AI 代码,67% 花更多时间调试
- 技术债务预测:75% 技术领导者 2026 年预计面临中重度 AI 速度导致的技术债
来源:07-19 深度思考(roundtable 6人5轮+think 7层到底+qa 7链+联网5篇)
前提与局限性
- 基于 GitHub 自己的 Agentic Workflows 实践,可能不适用于所有框架
- ET 公式是近似值,不同提供商的定价差异可能未充分考虑
- 质量影响难以直接测量,依赖过程信号而非结果信号
关联概念
- Agentic-Engineering — Token 效率是 Agentic Engineering 实践的重要组成部分
- Agent-Workflow-Patterns — 工作流模式影响 token 使用效率
- Agent-PR-Review — PR 审查工作流是 token 优化的重要场景
- Agent-Optimized-CLI — 高层 CLI 本身可以成为压缩推理成本的工具协议
- Code-Cleanliness-Agent-Footprint — 代码整洁度是不改 harness 即可生效的第四类 token 效率杠杆
- Minimal-Pair-Evaluation — 验证代码质量效应的评估方法论