微软与 UC Berkeley 发布 TokenEconomizer 插件,编码智能体成本最高降 30.9%
Meet TokenEconomizer: Microsoft’s Plugin That Cuts Coding Agent Costs by Up to 30.9%
微软研究院与 UC Berkeley 团队发布开源成本控制器 TokenEconomizer,在 277 个 SWE-Bench 任务、5 种智能体与模型组合下将平均成本降低 18.4% 至 30.9%,且不改动模型权重和智能体代码。
原文给出了成本下降幅度、Pass@1 变化和分项机制贡献,读者可据此判断这类外部控制器是否值得接入现有编码智能体。
来自 Microsoft Research 和 UC Berkeley 的研究团队发布了 TokenEconomizer,这是一个面向编码智能体的开源成本控制器。TokenEconomizer 是一个插件,它从仓库中的过往会话中学习,以减少后续会话中的浪费。它可与 Claude Code、Codex、GitHub Copilot CLI 和 Pi 配合使用。它不会改动模型权重或智能体代码。在 277 个 SWE-Bench 任务上,它在 5 种智能体-模型配置下将平均成本降低了 18.4% 至 30.9%。
TL;DR
- 包:一个标准库 Python 包和智能体插件,包含 3 种可切换机制。
- 运行于:任何运行 Claude Code、Codex、Copilot CLI 或 Pi 且装有 Python 3.10+ 的机器。无需 GPU,也无需自备 API 密钥。
- 性能:SWE-Bench 平均成本降低 18.4% 至 30.9%,并且在全部 30 个仓库-配置组合中均更便宜。
- 最佳:在 Claude Code 搭配 Opus 4.8 时成本降低 30.9%(与 RTK 结合时为 33.2%)。
- 最差:在 ReposVul 审计中仅节省 6.4% 至 9.3%;在 Opus 4.8 上 Pass@1 下降 1.0 个百分点。
编码智能体为何浪费 token?
智能体每一轮都会重新计费系统提示、每个已加载的工具 schema 以及完整历史。研究团队使用 Claude Code 搭配 Opus 4.8,对 6 个仓库中的 60 个 SWE-Bench 任务进行了剖析。他们发现了 3 个反复出现的浪费来源:
- 重复发现:一旦当前任务之前已有 5 个任务,30% 的工具调用会重复先前的操作。
- 未使用的工具:每轮加载 23 个工具 schema。其中 16 个从未被调用,而 3 个覆盖了 98% 的调用。
- 失败循环:10 次失败运行占任务的 17%,却占总支出的 32%。
他们还测试了 3 种固定的开源策略:RTK、Serena 和 Aider 的 RepoMap。没有一种能在所有情况下都更便宜。这 3 种策略都在 Django 上降低了成本,却在 SymPy 上提高了成本。
TokenEconomizer 如何工作?
TokenEconomizer 是一个外部控制器,将智能体视为黑盒。它为每个仓库维护一个状态,该状态由已完成的轨迹构建。在每个任务之前,它通过提示、工具设置和事件流设定 3 项策略。
1. 微技能
LLM 提议器将轨迹摘要转化为单行事实,例如可用的测试命令。每个事实都带有正则检测器,可在不调用模型的情况下检查后续轨迹。一个事实在 3 个编辑文件不重叠的任务上得到确认后,才会进入提示。其需求率还必须保持在 0.4 或以上。一次矛盾计为 5 次确认,因此错误事实会迅速退役。
2. 工具剪枝
Shell、读取、写入和编辑工具始终保留。其他工具在连续 3 个任务未使用后,或被 LLM 评判器标记为无关时,会被屏蔽。完整目录每 5 个任务返回一次以重新审计。在 Django 上使用 Claude Code 时,任务 2 的首次请求从 43,351 个提示 token 降至 16,295 个。
3. 失败循环干预
控制器学习一个轮次预算:成功运行长度的第 90 百分位数的 1.25 倍。廉价规则检查会标记重复失败或密集错误。随后由 LLM 评判器以 0.7 或更高的置信度判断智能体是否卡住。卡住的智能体会获得 1 次重定向,若循环再次出现则停止。
SWE-Bench 结果显示了什么?
| 配置 | 相对默认的成本 | 默认 Pass@1 | TokenEconomizer Pass@1 |
|---|---|---|---|
| Claude Code + Sonnet 5 | -23.6% | 74.7 | 76.0 |
| Claude Code + Opus 4.8 | -30.9% | 74.0 | 73.0 |
| Codex + GPT-5.6 Terra | -24.7% | 73.8 | 74.7 |
| Codex + GPT-5.6 Sol | -26.1% | 80.1 | 81.7 |
| Copilot CLI + Sonnet 5 | -18.4% | 75.0 | 77.6 |
来源:arXiv 2610.22732,表 1。成本包含所有控制器调用。每种设置 3 个随机种子。
在 5 种设置中有 4 种 Pass@1 提升。降低推理强度节省了成本,但使 Pass@1 下降 1.8 至 10.3 个百分点。仅 RTK 一项就在 30 个仓库-设置单元格中的 12 个提高了成本,RepoMap 则在 15 个中提高了成本。
节省会随时间累积。大多数仓库起初成本更高,但到第六个任务时全部变得更便宜。在 Claude Code 上单独使用时,工具剪枝节省了 13.2% 至 17.7%,微技能节省了 11.8% 至 14.3%,循环防护节省了 5.4% 至 7.1%。
结果在 SWE-Bench 之外同样成立。Web-Bench 上成本下降 16.0% 至 21.2%,CredData 上下降 16.5% 至 19.6%。ReposVul 仅下降 6.4% 至 9.3%,因为较短的运行留下的可削减内容更少。
它与其他省 token 工具相比如何?
| 特性 | TokenEconomizer | RTK | Serena | Aider RepoMap |
|---|---|---|---|---|
| 方法 | 从过往会话中学习每个仓库的策略 | 压缩 shell 命令输出 | 带符号级代码工具的 MCP 服务器 | 在提示中提供仓库符号的排序映射 |
| 从早期任务中学习 | 是 | 否 | 否 | 否 |
| 许可证 | Apache 2.0 | Apache 2.0 CLI;BUSL-1.1 引擎 | GPL-3.0-or-later(SolidLSP 为 MIT) | Apache 2.0 |
| 智能体 | Claude Code、Codex、Copilot CLI、Pi | 18 款 AI 编程工具 | 任意 MCP 客户端 | Aider |
| SWE-Bench 平均成本变化(论文,5 种设置) | -18.4% 至 -30.9% | -8.9% 至 +4.5% | 未纳入主运行(在性能分析中提高了汇总成本) | -6.1% 至 +6.5% |
| 成本更高的单元格(共 30 个) | 0 | 12 | 未披露 | 15 |
成本行:TokenEconomizer 论文。许可证与声明:各项目的仓库或文档。
如何安装 TokenEconomizer?
该插件需要 4 个智能体之一以及 Python 3.10 或更高版本。在 Claude Code 上,克隆仓库,将其添加为市场,然后运行 claude plugin install tokeneconomizer@tokeneconomizer。学习数据保留在本地 ~/.tokeneconomizer 中。工具剪枝和循环防护默认开启。微技能默认关闭,因为提议器会增加模型调用。
关键要点
- TokenEconomizer 在智能体不变的情况下将 SWE-Bench 成本降低 18.4% 至 30.9%。
- 它在全部 30 个仓库-设置单元格中都更便宜;RTK 和 RepoMap 则不然。
- 工具剪枝是最大的单一杠杆,达 13.2% 至 17.7%。
- Pass@1 在 5 种设置中的 4 种上升,在 Opus 4.8 上下降 1.0 个百分点。
- 它采用 Apache 2.0 许可,可安装在 Claude Code、Codex、Copilot CLI 和 Pi 上。
查看论文、GitHub 仓库和项目页面。另外,欢迎在Twitter上关注我们,别忘了加入我们的15 万+ 机器学习 SubReddit并订阅我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。
需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们
文章认识 TokenEconomizer:微软的插件可将编程智能体成本降低多达 30.9%首发于MarkTechPost。
来源:MarkTechPost · marktechpost.com