微技能 microskills
记住仓库是怎么运作的。构建必须先跑哪一步、命令在这里该怎么写、需要哪个环境变量、生成文件落在哪里。事实来自两处:跨会话反复出现的失败,以及每隔k 个会话审阅近期会话的模型。
编码智能体每开一个会话,都要重新摸索一遍仓库:构建怎么跑、命令怎么写、哪些工具根本用不上。TokenEconomizer 把这些答案从已跑过的会话里记下来。插件不改动模型、权重与代码。
每种机制都能单独开关;斜体字母是各自的设置,均有默认值。
记住仓库是怎么运作的。构建必须先跑哪一步、命令在这里该怎么写、需要哪个环境变量、生成文件落在哪里。事实来自两处:跨会话反复出现的失败,以及每隔k 个会话审阅近期会话的模型。
停止加载用不到的工具。每个被加载的工具定义都会随每次请求一起发送。一个工具若横跨 m 个会话、在 p 次提示中未被使用,或在任意长度的 s 个会话中未被使用,就会通过智能体自身的设置被排除。
在某一轮卡住时介入。当一轮持续撞上同样的失败,裁判模型判断它是否卡住;把握达到 c 时注入一条重定向,每轮最多 r 次。之后仍然卡住,它会告诉你怎么停下,而它自己绝不终止某一轮。
智能体被设计来完成任务,而不是来省钱。
每一轮都要为智能体的指令、每个被加载的工具,以及到目前为止的对话重新付费。开发者在同一仓库上反复使用同一个智能体,于是大量成本被重复支付:同样的事实被重新发现、同样的未用工具被发送、同样类型的失败循环。
TokenEconomizer 不去动智能体的模型、权重和代码,而是跨仓库的多个会话去学习,而不是把每个会话孤立对待,因此插件付出的任何开销,都会在后续会话中回本。
事实在会话开始时进入上下文,工具通过智能体自身的设置被移除,因此不依赖智能体学会一个新的工具。
一个会话里大多数 token 都是带缓存的重读,因此成本按缓存定价计算,并且包含了插件自身的模型调用。
事实只从反复出现的证据中形成,工具只在长期未用之后才被移除,而循环守卫会放过仍在推进的某一轮。
被后续会话推翻的事实会被丢弃,被移除的工具可以还给智能体,循环守卫只会重定向并告诉你:是否停掉某一轮,由你决定。
六个仓库、五种组合,一开始什么都还没学到;成本包含插件发出的每一次模型调用。
| 智能体–模型 | 成本 | Pass@1 |
|---|---|---|
| Claude CodeSonnet 5 | −23.6% | +1.3 |
| Claude CodeOpus 4.8 | −30.9% | −1.0 |
| CodexGPT-5.6 Terra | −24.7% | +0.9 |
| CodexGPT-5.6 Sol | −26.1% | +1.6 |
| Copilot CLISonnet 5 | −18.4% | +2.6 |
同一批任务,与各自的默认配置相比。
Pass@1 的下降只出现在 Opus 4.8;其余四种组合在变便宜的同时更准。Web-Bench 上同样成立(16–21%),在两个「每个任务都在全新仓库里」的安全审计基准上也成立(6–20%)。
需要已登录的智能体之一,以及 PATH 上的 Python 3.10+。插件不需要自己的 API 密钥,也从不处理凭证。
/tokeneconomizer:<命令>;终端内运行 ~/.tokeneconomizer/bin/te --host claude <命令>关于缓存命中、凭证安全、误剪恢复与多目录共享机制。
不需要任何额外 API Key,代码也绝不会离开你的机器。插件的所有状态保存在本地 ~/.tokeneconomizer(目录权限 0700,文件 0600)。当循环守卫的裁判或微技能提议器需要调用模型时,它直接通过你已登录的智能体 CLI(claude -p、codex exec、copilot -p、pi -p)发起调用,且只发送脱敏后的命令模板、文件名与归一化报错行,从不发送源码内容。
不会。实测验证表明,运行中的会话会保持启动时的工具列表不变;而恢复旧会话(如 claude --continue 或 codex resume)则会使用新工具列表并重写缓存。因此工具剪枝专门设计了静默等待窗口(默认 toolprune_quiet_minutes = 60):只有当你在该仓库的所有会话空闲满 60 分钟(此时提示缓存本就已过期)后,插件才真正把拒绝列表写入本地配置文件。
随时运行 toolprune restore(或指定工具名 toolprune restore NotebookEdit)即可一键归还。被你手动归还的工具会被永久记入保护名单,后续即使长期不用也不会再被自动排除。你也可以通过 config set toolprune_protect=工具名 提前保护特定工具,或设为 toolprune=propose 改为每次由你手动确认。
因为工具剪枝完全不调用模型,循环守卫也只在某一轮出现明显的重复报错循环迹象时才唤醒一次轻量裁判;而微技能的提议器默认每隔 3 个会话会调用一次模型来总结近期会话。如果你希望零模型调用开销地使用微技能,可以运行 config set microskills=envfacts,它只从跨会话重复出现的命令失败中提取确定性事实。
绝不会。插件奉行「让每个动作都可逆」的原则:第一次判定卡住时,它会在工具返回结果后附带一条简短的重定向提示,建议模型换一种思路(每轮最多 r = 1 次);如果重定向之后这一轮依然在原地打转,插件只会打印一行提示告诉你当前智能体该如何手动中断(如按 Esc),是否停下完全由你决定。
会自动共享。插件通过 git origin 远端地址识别仓库身份,因此同一仓库的所有克隆、子目录和 git worktree 共享同一份微技能事实、工具证据与循环包络统计;而工具剪枝生成的本地配置文件(如 .claude/settings.local.json)则按各自的检出目录独立维护,并自动加入 .git/info/exclude 避免污染 git 状态。
从标准库接口设计、各智能体真机验证到论文基准实验复现。
四大标准库抽象接口、六个生命周期钩子拆解,以及插件与论文实验设置的 8 项对照。
VERIFIED插件验证与状态隐私五种智能体真机验证记录、60 分钟提示缓存保护窗口、按提示计数消融与脱敏摘要边界。
BENCHMARKS复现论文实验SWE-Bench(277 任务)与 Web-Bench(102 任务)的五步配置、实验组启动脚本与汇总对比。
DIAGNOSTICS故障排查与诊断te doctor 环境自检、te probe 七会话闭环探测,以及插件与实验复现常见报错修复。