GitHub上的Microsoft插件,让编程智能体不再为同样工作重复付费
Microsoft和UC Berkeley研究人员的插件在测试中把平均成本降低18.4%至30.9%。五种组合中有四种成功率上升,Claude Code搭配Opus 4.8略有下降。
Microsoft Research、Microsoft Security和UC Berkeley的研究人员在GitHub上以Apache 2.0许可发布了TokenEconomizer。它的目标是在不改动模型和智能体代码的情况下降低编程智能体的成本。相关论文于2026年10月15日上传至arXiv,代码仓库在10月30日仍有更新。该插件支持Claude Code、Codex、GitHub Copilot CLI和Pi,对opencode的支持尚处于实验阶段。
智能体一再为相同工作付费
团队的出发点是,编程智能体大多按单个任务评测。而在实际工作中,开发者会在同一项目上反复使用同一智能体,每一轮都要为智能体指令、已加载工具的定义和对话历史重新付费。团队分析了未经修改的智能体的60次SWE-Bench运行。当一个仓库已完成五个或更多任务后,30%的工具调用都在重复此前任务的操作。每轮计费的23个工具描述中有16个从未被调用。失败的17%任务消耗了32%的花费。
三种机制在智能体外部工作
第一种机制micro-skills学习仓库特有的事实,例如必须先执行的构建步骤、在该仓库有效的命令写法或命令所需的环境变量。一条事实经三个会话确认后,会在会话开始时提供给智能体;如果后续会话与之矛盾,则会被删除。第二种是工具裁剪。在至少两个会话的十次提示中未被使用,或连续五个会话未被使用的工具,会通过智能体自身的设置从后续会话中移除,一条命令即可恢复。第三种是循环防护。当某一轮不断遇到相同失败时,由判定模型进行审查;若它至少有70%的把握认为任务卡住,就给智能体添加一条简短提示,让它换一种方法。如果这一轮仍无进展,插件会告诉用户如何停止,但不会自行终止。
成本下降,但成功率并非处处提升
团队用五种智能体与模型组合,运行了来自六个仓库(Django、Matplotlib、scikit-learn、Sphinx、SymPy、xarray)的277个SWE-Bench任务。平均成本的降幅分别为:Copilot CLI搭配Sonnet 5为18.4%,Claude Code搭配Sonnet 5为23.6%,Codex搭配GPT-5.6 Terra为24.7%,Codex搭配GPT-5.6 Sol为26.1%,Claude Code搭配Opus 4.8为30.9%。这些成本已包含插件自身的模型调用。首次尝试成功率在四种组合中上升,例如Copilot CLI搭配Sonnet 5从75.0升至77.6。而在节省最多的Claude Code搭配Opus 4.8上,成功率从74.0降至73.0。
同一张表也显示了简单做法的代价。在Claude Code搭配Sonnet 5上,改用低努力模式使成本下降45.5%,但成功率从74.7降至65.1。固定配置的RTK和RepoMap在部分组合中反而提高了成本。单个仓库内的节省幅度为5%至40%。在Web-Bench上降幅为16%至21%。在每个任务都使用新仓库的两项安全审计测试中,降幅为6%至20%,因为系统依靠同一仓库中的重复工作来学习。
插件能做什么
- 学习仓库特有的事实并带到后续会话。该功能可选,默认关闭。
- 不再为后续会话加载未使用的工具,一条命令即可恢复。
- 智能体反复遇到同一失败时,添加提示让它换一种方法。
- 通过钩子在会话开始、每次提示、工具调用和会话结束时运行。
- 读取会话日志,并把部分工作交给独立的后台进程。
- 工具裁剪时,把禁用规则写入仓库的.claude/settings.local.json。
- 在Claude Code上,额外的模型调用默认通过用户自己的账户使用Haiku。
它不做什么
- 不改动模型或智能体代码。
- 不要求单独的API密钥,模型调用经由用户的智能体。
- 不会自动更新,更新由用户运行git pull完成。
- 不会自行停止卡住的任务轮次,决定权留给用户。
- 我们的代码扫描未在插件自身代码中发现连接外部服务器的行为。我们没有逐行检查全部文件。
适合哪些人
经常在同一项目中工作的人收益最大,因为系统从重复工作中学习。每次都在新仓库工作的人节省较少。在月度订阅中,收益可能体现在使用额度上,而不是费用上。它需要Python 3.10或更高版本,通过git clone和智能体的插件命令安装。卸载前可用toolprune restore恢复被关闭的工具。用户还需要判断钩子和日志读取是否符合自己的工作方式。
插件默认设置与论文不同
用户拿到的版本默认开启工具裁剪和循环防护,micro-skills则默认关闭。仓库说明称,这是因为事实提议步骤会增加模型调用。因此,论文中三种机制同时运行的结果可能与默认安装不完全一致。在Claude Code上,插件的额外调用默认通过用户自己的账户使用Haiku。它不需要单独的API密钥,学到的内容保存在用户本机的~/.tokeneconomizer中。另一方面,它会在会话开始、提示和工具调用时运行钩子,读取会话日志,把部分工作交给独立的后台进程,并为工具裁剪向仓库设置写入禁用规则。不希望工具列表自动变化的用户,可以设置toolprune=propose,只接收建议。这些数字是团队自己的测量结果。要全面了解结果,也请关注独立研究人员的评估。