夜雨聆风学习资料网

ARTICLE · 1297520

微软这个插件,专治AI写代码“重复烧钱”

微软这个插件,专治AI写代码“重复烧钱”

如果你经常在同一个代码仓库里使用 Claude Code、Codex、GitHub Copilot CLI、Pi 这类编码 Agent,可能会遇到一种很具体的浪费:同一个仓库的构建步骤、测试命令、环境变量、生成文件位置,Agent 每次会话都要重新摸索;一些根本用不到的工具,每次请求都跟着工具定义一起发出去;某个回合明明已经卡在同一个错误上,却还在反复尝试。

TokenEconomizer 想解决的,就是这类跨会话反复发生的成本。

它是一个插件,不改 Agent 的模型、权重和代码,而是从 Agent 已经跑完的会话里学习,再把经验用在下一次会话。文件里给出的测量结果是:在 SWE-Bench 任务上,五个 Agent–模型组合的平均成本降低 18.4%–30.9%,在 30 个“仓库 × 组合”单元格里全部更便宜,Pass@1 在 5 个组合中有 4 个上升。

这篇文章只依据项目文件,讲清它是什么、三大机制怎么理解、各 Agent 怎么安装、命令怎么用、设置怎么调,以及动手时容易踩的坑。

一、先看问题:钱不是花在一次任务上,而是花在重复上

文件对问题的描述很直接:编码 Agent 的目标是完成任务,不是把成本压低。每一个回合,Agent 都要重新为指令、已加载的工具、到目前为止的对话付一次成本。开发者在同一个仓库、同一个 Agent 上反复工作,很多成本就重复了:同样的事实被重新发现,同样用不到的工具被反复发送,同样类型的失败循环反复出现。

这里的关键不是“某一次会话特别贵”,而是“同一个仓库里的很多次会话都在为相似的东西付费”。TokenEconomizer 的切入点也因此很明确:它不试图改造 Agent 的内部,而是把仓库当成一个有记忆的工作场所,让上一次会话的经验影响下一次会话。

文件用四个原则概括它的做法。第一,通过 Agent 本来就会读的东西起作用:事实在会话开始时进入上下文,工具通过 Agent 自己的设置移除,不要求 Agent 学习新工具。第二,按实际计费口径算成本:一个会话里大多数 token 是缓存重读,所以成本用缓存定价计算,并且把插件自己的模型调用也算进去。

第三,保护任务成功:事实只从重复证据中形成,工具只在确实未使用后才移除,循环守卫不打扰仍在取得进展的回合。第四,每个动作都可逆:后来被矛盾的事实会被丢弃,移除的工具可以还回来,循环守卫只做重定向和提示,停止回合由你决定。

这四点很重要,因为它们决定了你应该怎样使用它:它不是“无脑省钱开关”,而是一个需要观察、可以回退、默认偏保守的插件。

二、它到底是什么:一个不改 Agent 的“经验插件”

用白话说,TokenEconomizer 像是一个贴在 Agent 外面的“仓库经验记录器”。Agent 还是原来的 Agent,模型还是原来的模型,代码还是原来的代码;插件做的事情是读取会话日志,在仓库层面积累经验,然后在下一次会话开始时注入一条事实、通过 Agent 自己的设置少加载一些工具,或者在某个回合看起来卡住时给一个短提示。

它支持 Claude Code、Codex、GitHub Copilot CLI、Pi,并对 opencode 和 Cursor Agent 提供实验性支持。每个机制都可以单独打开或关闭。插件会用它自己的一行话报告每个动作;如果任何部分失败,你的会话会像没装它一样继续。

它的模型调用——事实提出器,以及判断回合是否卡住的裁判和它写的重定向——都通过你自己的 Agent、同一套计划或登录来跑,成本也包含在它的报告里。它不需要自己的 API key,也不处理凭据。它学到的东西留在你的机器上,位置是 ~/.tokeneconomizer。

这里有两个使用边界要先记住。第一,它更适合你经常工作的仓库。 文件开篇就说,它让编码 Agent 在“你经常工作的仓库”里更便宜;它学习的是同一仓库跨会话的经验。偶尔用一次的仓库,跨会话积累的空间有限。**第二,每个 Agent 各自学习。

** 事实、工具证据、循环守卫对“一个通常回合有多长”的感觉,都是按 Agent 和仓库分别保存的;设置是共享的。换句话说,你在 Claude Code 里学到的仓库事实,不会自动变成 Codex 的经验。

三、三大机制白话:微技能、工具裁剪、循环干预

1. 微技能:把“这个仓库该怎么跑”记下来

微技能要解决的是“重复发现同一个事实”。文件举的例子很具体:某个构建步骤必须先跑;某个命令在这里的正确写法是 python -m pytest,因为直接写 pytest 不行;某处要用 npx tsc,因为 tsc 不是直接可用的;某个命令需要某个环境变量;生成文件放在哪里。这些事实不分语言,都可以被学习。

它有两个来源:一是跨会话重复出现的失败;二是一个模型每隔 k 个会话(默认 k=3)审查最近会话并提出事实。一个事实要在三个会话确认之后,才会在每个会话开始时被陈述;如果后来的会话与它矛盾,它会被丢弃。

这里要注意默认值:微技能默认是关闭的。文件给的理由是,它的事实提出器会增加模型调用,而节省多少取决于仓库和你在那里做的工作。也就是说,微技能不是“开了就一定更省”的开关,它需要你用 status 观察。文件还提供了一个更保守的模式:microskills=envfacts,只从重复失败中学习事实,不调用模型。

2. 工具裁剪:不再加载用不到的工具

工具裁剪要解决的是“每次请求都带着用不到的工具定义”。文件说,每个已加载工具的定义都会随每次请求发送。一个工具如果在 p 个 prompt(默认 p=10) 中都没被使用,并且这些 prompt 至少跨 m 个会话(默认 m=2);或者连续 s 个会话(默认 s=5)、不论长短都没被使用,它就会通过 Agent 自己的设置,在接下来的会话中被排除。

一条命令可以把它恢复。

默认值的设计有明确用意:按 prompt 计数,让长会话权重更大;要求至少 m 个会话,避免单个会话独自决定。 工具裁剪写 deny list 的时机也不是立刻。它要等你在这个仓库的会话空闲 q 分钟(默认 q=60),或者最晚在列表形成后一天。

文件解释了原因:一个对话在工具变化后恢复,必须把整段历史重新写进 prompt cache,而不是直接读缓存;空闲一小时之后,这个缓存本来也已经过期。

工具裁剪默认开启。它只添加自己的条目,不会动你写的 deny 规则;它创建的设置文件会通过 .git/info/exclude 被排除在 git 之外。toolprune restore 只移除插件的条目,你给回的工具不会再次被移除。

如果插件无法安全编辑文件——比如仓库提交了 .codex/config.toml、设置文件不是合法 JSON、符号链接指向仓库外——列表会保持为提议,会话开始时会说明原因,toolprune apply 可以再试。

3. 失败循环干预:卡住时给一个重定向,但不替你停

循环守卫要解决的是“一个回合反复撞同一个失败”。当一个回合——也就是 Agent 对一个 prompt 的工作——持续遇到相同失败时,一个裁判模型会检查它是否卡住。如果裁判的把握至少达到 c=0.7,Agent 会收到一个重定向:一段短提示,加入它的上下文,让它换一种方法。

每个回合最多重定向 r=1 次。如果重定向之后仍然卡住,TokenEconomizer 会告诉你怎样停止它;它自己从不停止一个回合。

它还有一个不需要裁判的情况:一个回合在反复把相同编辑送进相同失败的同时,运行超过了通常长度的 b=2.5 倍,会被直接重定向。所谓“通常长度”,来自循环守卫先学习的“仓库里一个回合通常跑多久”:它要等到这里已经有 e=5 个回合顺利结束——自己结束,并且最后一次编辑后没有失败的检查——才开始行动。

默认情况下,工具裁剪和循环守卫是开的;插件只在回合出现循环迹象时才调用模型:裁判,以及裁判判断卡住后写的重定向。这解释了为什么默认配置下它不会对每个回合都产生模型调用。

四、装前确认:Agent、Python、版本和克隆位置

动手之前,先确认三件事。第一,你需要有上面提到的某个 Agent,并且已经按它支持的方式登录。 插件不需要自己的 API key,也不处理凭据,所以任何计划或登录都可以。**第二,PATH 里要有 Python 3.10 或更新版本。

** 第三,安装命令要在你准备放克隆的文件夹里执行。 文件特别说明:Claude Code、Codex、Copilot CLI 和 opencode 是从克隆里运行插件的,所以克隆要留在原地。安装完就把文件夹删掉,不是这套安装方式预期的工作方式。

版本也要对。文件给出的支持范围是:Claude Code 2.1.300 到 2.1.310;Codex 0.153.1 到 0.164.0;Copilot CLI 1.0.83 到 1.0.102;Pi 1.2.0 到 1.3.0;Cursor Agent 实验性支持 3.24.9,macOS 和 Linux;opencode 实验性支持 1.19.5 和 2.2.0。

文件说明,这些命令在每档最旧和最新版本上测过,更新的版本还没测。Codex 在 0.141.0 之前完全不运行插件钩子;Pi 0.99.x 不能用 pi install,要克隆仓库后用 pi --extension /path/to/TokenEconomizer/plugin/pi/tokeneconomizer.ts 启动每个会话,路径用克隆的完整路径。

opencode 只在 1.19.5 和 2.2.0 上测过,而且没有在 2.x 终端 UI 里测;Cursor 3.24.9 能加载本地插件,但实时 Agent 会话的钩子投递还没有验证。

这些不是“安装说明的附注”,而是避坑信息。版本不在范围内,或者 Codex 太旧,插件可能根本不按预期工作。

五、Claude Code 怎么装:四步走,别忘刷新目录

第一步,克隆仓库。 在你准备保留克隆的文件夹里执行:

git clone https://github.com/microsoft/TokenEconomizer.gitclaude plugin marketplace add "$PWD/TokenEconomizer"claude plugin install tokeneconomizer"color:#6a9955">#c586c0">@tokeneconomizer

这三行要放在同一个准备放克隆的目录里执行。克隆保留在原地,是因为 Claude Code 从这里运行插件。

第二步,启动并信任文件夹。 启动 claude,选择信任这个文件夹(Yes, I trust this folder)。然后运行 /tokeneconomizer:status;如果它询问是否允许运行脚本,选择允许。状态命令会打印一个简短的状态块,这是确认安装是否成功的直接方式。

第三步,每台机器做一次目录刷新。 运行 /tokeneconomizer:toolprune refresh-catalog。文件说,这个命令会记录一个会话加载的每个工具,而且不产生模型调用,目的是让工具裁剪能考虑所有工具。Claude Code 更新后也要再做一次。

第四步,日常观察。 工作照常,插件不需要你额外操作。要看它学到了什么、做了什么、你的会话花了多少成本,用 /tokeneconomizer:status。工具裁剪在 Claude Code 里移除的是单个工具,写入 .claude/settings.local.json。

会话开始那行“它省掉了什么”只显示在详细转录里(Ctrl+O),所以不要只看普通界面就以为没生效,用 /tokeneconomizer:toolprune 查。

避坑点: Claude Code 显示插件自己的行只在详细转录里,循环守卫的“仍然卡住”提示会让 Claude 在回复里重复一次,但模型可能换个说法,甚至漏掉。因此看到提示时要按文件给的停止方式操作:交互界面按 Esc;无头运行(claude -p)在最终回复里显示,按 Ctrl+C 停止。

六、Codex 怎么装:装完要重启会话

第一步,克隆并注册插件。

git clone https://github.com/microsoft/TokenEconomizer.gitcodex plugin marketplace add "$PWD/TokenEconomizer"codex plugin add tokeneconomizer"color:#6a9955">#c586c0">@tokeneconomizer

同样,克隆留在原地,Codex 从克隆里运行插件。

第二步,启动并处理信任。 启动 codex,为文件夹选择 Trust and continue;在 Hooks need review 处选择 Trust all and continue。

第三步,重启 Codex 让钩子生效。 文件明确说,钩子从下一次 Codex 会话生效。所以先 /exit,再启动 codex,然后用 $tokeneconomizer:status 检查。很多人装完就在当前会话里找效果,这里会误判。

第四步,更新时重新添加。 Codex 的更新方式不是只 git pull:要在克隆里 git pull,然后再执行一次 codex plugin add 那行。工具裁剪在 Codex 里移除的是“能力包”,写入 .codex/config.toml。

如果这个文件被你的仓库提交,插件无法安全编辑,列表会保持为提议,并在会话开始时说明原因;这时可以用 toolprune apply 再试。

避坑点: Codex 交互界面里,Esc 会中断回合,但它启动的命令会继续跑,直到 /stop。codex exec 不打印钩子消息。无头运行时,被标记的回合会一直跑到结束或达到 Agent 自己的限制;之后用 te status 看重定向和“仍然卡住”的次数。

七、Copilot CLI 怎么装:路径要写绝对

第一步,克隆并安装。

git clone https://github.com/microsoft/TokenEconomizer.gitcopilot plugin marketplace add "$PWD/TokenEconomizer"copilot plugin install tokeneconomizer"color:#6a9955">#c586c0">@tokeneconomizer

第二步,启动并记住文件夹。 启动 copilot,选择 Yes, and remember this folder for future sessions;运行 /tokeneconomizer:status,在它询问是否运行脚本时选择 Yes。

第三步,每台机器和每次 Copilot 更新后刷新目录。 运行 /tokeneconomizer:toolprune refresh-catalog。工具裁剪在 Copilot CLI 里移除的是整个 MCP 服务器,写入 .github/copilot/settings.local.json。

避坑点: marketplace 路径要保持绝对路径。文件特别提醒:Copilot CLI 会把 ./TokenEconomizer 这样的相对路径读成 GitHub 仓库名。这就是为什么上面用 "$PWD/TokenEconomizer"。

另外,Copilot 交互界面里停止回合是按 Esc 两次;无头 copilot -p 的提示在 stdout,按 Ctrl+C 停止。

八、Pi、Cursor、opencode:按实验性支持处理

Pi 的安装最短:

pi install git:github.com/microsoft/TokenEconomizer

启动 pi,运行 /te status。更新用 pi update --extensions。Pi 0.99.x 要改用克隆加 pi --extension 的完整路径方式。Pi 的工具裁剪“什么都不移除”,因为文件说 Pi 只加载四个工具;也就是说,不要期待在 Pi 上看到工具裁剪效果。

Pi 的循环守卫提示以通知形式出现,交互界面按 Esc;无头运行在 stderr 显示,Ctrl+C 结束无头运行,但它启动的命令会继续跑到完成。

Cursor Agent 是实验性支持。 构建本地插件:

python scripts/build_plugin.py --out ~/.cursor/plugins/local/

重载 Cursor,在 Customize 里确认 tokeneconomizer 出现,然后在仓库里发一个 prompt。终端里检查:

~/.tokeneconomizer/bin/te --host cursor status

避坑点有三个:Cursor 支持仅限 macOS 和 Linux,因为 Windows 上 Cursor 通过 PowerShell 跑钩子命令,而这个插件的启动器是 POSIX shell 脚本;Cursor 的转录格式和每会话 token 用量不是受支持的公共接口,所以适配器只记录需要的钩子事件,会话成本报告为不可用;工具裁剪目前“什么都不移除”。

文件还说明,Cursor 3.24.9 能加载本地插件,但实时 Agent 会话的钩子投递还没有验证。

opencode 也是实验性支持。 安装方式是克隆后建符号链接:

git clone https://github.com/microsoft/TokenEconomizer.gitmkdir -p ~/.config/opencode/pluginsln -s "$PWD/TokenEconomizer/plugin/opencode/tokeneconomizer.ts" ~/.config/opencode/plugins/

启动 opencode,发一个 prompt,然后在仓库里检查:

~/.tokeneconomizer/bin/te --host opencode status

opencode 没有插件命令,所以它的命令要从终端跑。它只在 1.19.5 和 2.2.0 上测过,没有在 2.x 终端 UI 里测;工具裁剪目前“什么都不移除”;opencode 2.x 会把循环守卫那行打印到 opencode 服务器的错误输出,而不是终端 UI。更新方式是在克隆里 git pull。

九、日常命令:先 status,再按需调

命令在各 Agent 上名字相同,只是输入方式不同。Claude Code 和 Copilot CLI 用 /tokeneconomizer:<command>;Codex 用 $tokeneconomizer:<command>;Pi 用 /te <command>;opencode 和 Cursor 从终端用 ~/.tokeneconomizer/bin/te --host <host> <command>;在仓库里的终端可以直接用 ~/.tokeneconomizer/bin/te <command>。

最常用的命令是 status:它告诉你插件在这里学到了什么、做了什么,以及你的会话花了多少成本。microskills 看它注入的事实和仍在形成的事实;toolprune 看它排除了哪些工具以及证据(Pi 和 opencode 没有这个命令);toolprune restore 把工具还回来,而且这些工具不会再次被移除;config 看当前生效的每个设置;config set microskills=on 在当前仓库打开一个机制,加 --global 则对所有仓库生效。

这里有一个成本细节:在 Agent 内部运行命令要花一个模型回合;从终端运行是免费的。 所以如果你只是想查看状态,不介意切到终端,终端更省。其他命令如 repos、doctor、config unset 以及各 Agent 的权限提示,文件指向 plugin/README.md 的 Commands 部分。

十、设置怎么调:默认值和开关

默认配置是:工具裁剪和循环守卫开启,微技能关闭。 三个机制各有开关:microskills、toolprune、loopguard,取 on 或 off。文件列出的设置项可以这样理解:

•k = microskills_propose_every,默认 3:每隔几个会话运行一次微技能的事实提出器。调大就是更少提议。
•p = toolprune_evidence,默认 10:一个工具要连续多少个 prompt 未使用才被排除。
•m = toolprune_min_sessions,默认 2:这些 prompt 至少要跨几个会话。
•s = toolprune_sessions,默认 5:或者连续多少个任意长度的会话未使用。
•q = toolprune_quiet_minutes,默认 60:仓库会话空闲多少分钟后才写 deny list。
•e = loopguard.envelope_min_samples,默认 5:这里要有多少个顺利结束的回合,循环守卫才开始行动。
•c = loopguard.judge_confidence,默认 0.7:裁判要多确定才认为回合卡住。
•r = loopguard_nudges,默认 1:每个回合重定向几次后只提示你。
•b = loopguard.backstop_mult,默认 2.5:一个反复空转的回合超过通常长度多少倍时,不经裁判直接重定向。

改设置的命令形式,以 Claude Code 为例:

/tokeneconomizer:config set microskills=on/tokeneconomizer:config set microskills_propose_every=5/tokeneconomizer:config set toolprune_evidence=20/tokeneconomizer:config set loopguard_nudges=2

其他 Agent 按上一节的输入方式改写。除了 on 和 off,还有两个有用模式:toolprune=propose 只提出 deny list,不改变任何东西,直到你运行 toolprune apply;microskills=envfacts 只从重复失败学事实,不调用模型。

想临时对单个会话生效,可以在启动 Agent 时设环境变量:TE_DISABLE=1 claude 关掉整个插件;TE_LOOPGUARD=off codex 关掉一个机制,TE_MICROSKILLS 和 TE_TOOLPRUNE 同理。

每个设置的环境变量是 TE_ 加它的大写名字。

调参建议要基于文件逻辑。 如果你刚开始用,先保持默认,观察 status;默认只在循环迹象出现时调用模型。微技能默认关闭,是因为它的提出器会增加模型调用,节省取决于仓库和工作;如果你在常用仓库里看到大量重复事实,再考虑打开,或者先用 envfacts 这种无模型调用的模式。

工具裁剪如果不想自动改设置,先用 propose 看它想排除什么,再决定是否 apply。

十一、各 Agent 差异:工具裁剪能做什么

微技能和循环守卫在每个 Agent 上工作方式相同,但工具裁剪要借助每个 Agent 自己的设置,所以能移除的东西不同。Claude Code 移除单个工具,写入 .claude/settings.local.json;Codex 移除能力包,写入 .codex/config.toml;Copilot CLI 移除整个 MCP 服务器,写入 .github/copilot/settings.local.json;Pi 什么都不移除,因为它只加载四个工具;Cursor Agent 和 opencode 目前也“什么都不移除”。

这意味着你不能拿 Claude Code 的工具裁剪效果去预期 Pi 或 opencode。文件还说,工具裁剪只添加自己的条目,不会碰你写的 deny 规则;它创建的设置文件通过 .git/info/exclude 排除在 git 外。

toolprune restore 只移除插件条目,给回的工具不会再次被移除。如果插件无法安全编辑文件,列表会保持为提议,并在会话开始时说明原因;toolprune apply 可以再试。

Claude Code 还有一个显示差异:会话开始那行“它省掉了什么”只显示在详细转录(Ctrl+O)里,所以要用 /tokeneconomizer:toolprune 查,不要因为普通界面没看到就以为没工作。

十二、卡住时怎么办:重定向与停止

循环守卫的提示长这样:

TokenEconomizer: this turn still looks stuck after a redirect (judge-stuck@0.82, 46 tool calls). Press Esc to interrupt it.

它的意思是:这个回合在重定向后仍然看起来卡住,裁判把握 0.82,已经发生 46 次工具调用,按 Esc 可以中断。不同 Agent 的显示位置和停止方式不同:Claude Code 在 Claude 的回复里显示,按 Esc;Codex 在对话里显示,先 Esc 再 /stop;Copilot CLI 在对话里显示,按 Esc 两次;Pi 以通知显示,按 Esc;opencode 以通知显示,按 Esc。

无头运行时:Claude Code 在最终回复里显示,按 Ctrl+C;Codex 不显示,按 Ctrl+C;Copilot CLI 在 stdout 显示,按 Ctrl+C;Pi 在 stderr 显示,按 Ctrl+C;opencode 在 stderr 显示,按 Ctrl+C。

避坑点要按 Agent 记:Claude Code 可能让模型换个说法或漏掉提示;Codex 的 Esc 只中断回合,它启动的命令要 /stop 才停;codex exec 不打印钩子消息;Pi 的 Ctrl+C 结束无头运行,但它启动的命令会继续到完成;opencode 2.x 把那行打到服务器错误输出,不在终端 UI。

无头运行可能没人看着,所以被标记的回合会一直跑到结束或达到 Agent 自己的限制;之后用 te status 看重定向和“仍然卡住”的次数。

十三、实验结果怎么读:成本降了,成功率多数升

文件报告,论文在同样的 277 个 SWE-Bench 任务上跑了五个 Agent–模型组合,任务来自 六个仓库。每个任务作为自己的会话运行,每个仓库的任务按顺序跑,开始时什么都没有学。成本包括 TokenEconomizer 做的每一次模型调用。

在每个仓库和组合内,成本下降 5%–40%。节省在 Web-Bench 上保持(低 16%–21%),在两个安全审计基准上也保持(低 6%–20%),后者的每个任务都在一个新仓库里。

总体数字是:平均成本低 18.4%–30.9%,在 30 个“仓库 × 组合”单元格中全部更便宜,Pass@1 在 5 个组合中 4 个上升。分组合看:Claude Code 配 Sonnet 5,成本低 23.6%,Pass@1 +1.3;Opus 4.8,成本低 30.9%,Pass@1 −1.0;Codex 配 GPT-5.6 Terra,成本低 24.7%,Pass@1 +0.9;GPT-5.6 Sol,成本低 26.1%,Pass@1 +1.6;Copilot CLI 配 Sonnet 5,成本低 18.4%,Pass@1 +2.6。

读这些数字时要客观:成本下降是普遍结果,但成功率不是每个组合都上升,Opus 4.8 组合的 Pass@1 下降了 1.0,文件如实报告了这一点。项目页有交互图表、每个仓库的数字和九个带注释的运行;experiments/ 可以重跑 SWE-Bench 和 Web-Bench 实验。实验代码不属于安装的插件,两者只共享 tokeneconomizer/。

十四、避坑清单和小结

把前面的操作要点收拢一下,动手时按这个顺序检查:

第一,先判断适用场景。 它面向你经常工作的仓库,靠跨会话学习减少重复浪费;偶尔用一次的仓库,不要期待同样的积累效果。

第二,安装时保留克隆,路径写绝对。 Claude Code、Codex、Copilot CLI 和 opencode 从克隆里运行插件;Copilot CLI 会把相对路径当 GitHub 仓库名。Pi 用 pi install,Cursor 构建到本地插件目录。

第三,先看版本。 Claude Code、Codex、Copilot CLI、Pi 都有支持范围;Codex 0.141.0 之前不运行钩子;Pi 0.99.x 要改用扩展路径方式;Cursor 仅 macOS/Linux;opencode 和 Cursor 是实验性支持。

第四,装完先 status。 Claude Code 和 Copilot CLI 还要在每台机器和每次更新后跑 toolprune refresh-catalog;Codex 要 /exit 再启动,让钩子从下一次会话生效。

第五,默认配置先用起来。 工具裁剪和循环守卫默认开,微技能默认关;默认只在循环迹象出现时调用模型。想更省或更保守,再用 config set 调,或者用 toolprune=propose、microskills=envfacts。

第六,注意各 Agent 的能力差异。 工具裁剪在 Claude Code、Codex、Copilot CLI 有实际移除对象,在 Pi、Cursor、opencode 目前不移除;Claude Code 的省略行只在 Ctrl+O 详细转录里;无法安全编辑设置文件时,列表保持为提议。

第七,卡住时按 Agent 的方式停。 循环守卫只重定向和提示,不替你停;交互和无头运行的停止键不同,Codex 还要 /stop。

第八,headless 要有人管。 没人看着时,被标记的回合会跑到结束或 Agent 限制;事后用 te status 看重定向和“仍然卡住”的次数。

TokenEconomizer 的价值不在于“让 Agent 变聪明”,而在于把同一个仓库里反复出现的仓库事实、未使用工具和失败循环识别出来,用可逆的方式减少重复成本。你可以把它理解成三层保守动作:记住已经确认的仓库事实,少加载确实不用的工具,在回合明显卡住时给一个换路的提示。

它不接管你的 Agent,也不替你决定停止;你要做的是装在正确的位置、确认版本、先看状态,再根据自己仓库的实际情况决定哪些机制打开、哪些设置调整。这样用,它才是一个可观察、可回退、能真正减少重复浪费的工具。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料