先看见再省:Thinker 裁上下文 + CodeBurn 拆账单

12 次阅读 0 点赞 0 评论 19 分钟原创技术教程

接 780「Harness 买 token」:先用 CodeBurn 把本地会话拆到项目/模型/任务,再用 Thinker 裁旧工具结果、瘦指令、缓存笔记。数字均据原文/作者;少 input≠一定更便宜(cache 重写);开源早期星标会变。

#Thinker #CodeBurn #省Token #上下文压缩 #Coding Agent #账单 #Claude Code #Harness #独立开发 #Cache
先看见再省:Thinker 裁上下文 + CodeBurn 拆账单

先看见再省:Thinker 裁上下文 + CodeBurn 拆账单

上周写过 《复杂 Harness 不如多想?Surge +「Harness 买 token」对照》:固定模型时,换脚手架的过关率往往掉进重跑噪声,账单却能差约 3×。那篇的实用句是——Harness 更像成本杠杆,thinking / 模型更像质量杠杆。

这一篇往下半步:在你还没决定「拧哪根旋钮」之前,先把重复上下文和账单结构看见。 两件开源工具刚好卡在这条链路上:

  • Thinker:裁掉反复付费的旧工具结果、帮你审 AGENTS.md / CLAUDE.md,并把会话学到的笔记本地缓存起来。
  • CodeBurn:读本机各 agent 会话文件,把「月账单一个总数」拆成项目 / 模型 / 任务。

说明:文中数字、示例与基准均据 Thinker 官网/文档、作者 Show HN、CodeBurn README 转述;本文未在本机安装实测,也不编造本机账单。自家 780 只作轻对照。两者都是开源早期产品,星标与对接工具数会变,以仓库与官网为准。

一、为什么「先看见」比「先优化」更值钱

独立开发者撞额度,常见叙事是两句:

  1. 「这周 Max 又见底了,是不是要再买一层 Pro / 再换一家 harness?」
  2. 「我装了 30 个 skills,应该更省事、更省 token 了吧?」

780 已经提醒过:多装不一定更强,更不一定更省。缺的往往不是另一套编排,而是两张可核对的图:

你想看见的 典型盲区 本文对应工具
钱花在哪一类工作上 发票只有月总额 CodeBurn:按项目 / 模型 / 任务拆
同一次会话里,什么被反复送进模型 旧 Read / 测试日志 / 臃肿规则一直跟着 Thinker:压缩旧结果 + Find Savings + 知识缓存

先看见,你才知道该裁「重复上下文」、该降「未调用 MCP」、还是该拧 thinking。看不见就优化,很容易把噪声当杠杆。

二、Thinker:三板斧打在「重复上下文」上

Show HN(item?id=50383228,作者 yoavshmariahu)里的动机很具体:即使有 Max,也常在周中撞 Claude 额度,再切到 Codex / Cursor,又要重新适应另一套 harness。作者认为 prompt cache 只是创可贴,更大的病是 context bloat——尤其是:

  1. 子任务早已结束的工具输出(文件读、Bash、MCP),后面每一轮还在背着;
  2. CLAUDE.md / AGENTS.md 越堆越大,却不清楚哪一节真的被用到——而这一节的每个 token,会乘上会话里的每一次模型调用。

Thinker 的产品页与文档把对策收成三条(据 how-it-works、docs):

  1. Context compression:在支持的 agent 上,自动清掉过旧的工具结果,留给近期与当前轮;
  2. Instruction analysis(Find Savings):按你自己的会话,标出指令文件 / skills / MCP 里「贵且少用」的部分,你审再改;
  3. Knowledge cache:会话结束时蒸馏短笔记,下次相关任务直接塞指针,少搜一轮。

安装入口据文档是:

bash 复制代码
npx thinkersh

要求 Node 20+、git、curl、tar,以及受支持的 coding agent。装在 ~/.thinker,按各 agent 自己的 settings 接线;首次报告可读最近 30 天、最活跃五个仓库的会话,生成该报告本身不需要模型调用(据 docs)。

1. 账单结构:为什么「读同一段上下文」也能烧钱

How-it-works 用 Claude Opus 5.5 价表做示意(文内写明 Checked November 4, 2026;并反复强调 illustrative economics, not measured savings):

类型 相对倍率(示意) 含义
Fresh input 1× 未缓存输入
Cache writes 2× 写入约 1 小时缓存
Cache reads 0.05× 复用缓存
Output 5× 生成

同一页的会话示意:一项任务 20 次模型调用,每次约 10¢,合计约 $2;其中 cache reads 约 80¢——「只是再读同一段上下文」。计数例子:200k cached tokens × 20 calls = 4M input tokens 被读。

重点不在记住 80¢,而在结构:便宜的 cache read 乘上次数,仍然可以是大头。 这和 780 里「短 preamble ≠ 小账单、步数会吃掉前言」是同一张发票的不同切面。

2. 裁一次要付 rewrite;少 input ≠ 一定更便宜

文档原话几乎该裱起来:

Fewer input tokens do not guarantee a lower bill: cache rewrites and extra reads also count.

How-it-works 的压缩示意:每轮携带约 200k tokens,示例中砍到约 120k 保留;一次性 rewrite 约 +28.8¢,之后每轮约 -2.4¢,靠后续调用慢慢回本。作者在 HN 回复里说,成本估计默认按约 20 次调用回本,且偏保守;也承认会有「裁完又要再读」的情况,并继续调「等多久才算安全可裁」。

所以:Thinker 不是「无脑删历史」。Claude Code 路径上,本地 proxy 会用短提醒替换旧结果,并保护当前轮与近期结果;裁剪决策会考虑 prompt-cache rewrite 是否划算(据 docs)。可选的 per-tool output trimming(例如 thinker context --output-compression Read --level moderate)默认关闭,和自动清理是两回事。

3. Find Savings:先量「用没用」,再让你开 PR

文档里的指令浪费示意(示例数据,不是你的仓库):48 sessions、2,500 prompts;某文件每 call 约 5,320 tokens,一周约 13.3M input,其中约 10.9M 标成 wasted。表里「Release process」每 prompt 1,460 tokens、Needed 仅 4%,浪费极高——这类才是优先下手的「大且几乎不用」。

动作路径据文档:

  • thinker ui → Find Savings;
  • 选 compress(模型压到约 1/3,要求保留规则/命令/路径)或 remove;
  • 有 GitHub/gh 时开 PR 给你审;没有则改工作树里未提交的文件;
  • 关 skills / MCP / 部分内置工具时,写回各 agent 自己的配置,并先备份到 ~/.thinker/state/harness-backups/。

正确性立场也很清楚:指令与工具的裁剪是你的选择;自动压缩另线运行。浪费是用量测量,不是「砍了一定不踩坑」的承诺;Find Savings 的 cuts 尚无对外宣称基准,基准主要在知识缓存一侧。

4. 知识缓存:18% / 10% 要连方法一起读

文档称:在真实任务上、有无 Thinker 对照,每个被测模型平均 18% 更少 input tokens / 任务,墙钟约 10% 更短。紧跟着的限定必须一起抄:

  • knowledge-cache benchmarks:每臂一轮,不同模型用不同任务集;
  • 不衡量 Find Savings 那类 cuts;
  • 另有 15% holdout(按 session id + turn 哈希),用你自己仓库的 transcript 比「有笔记 vs 无笔记」的 per-prompt 成本。

笔记存在 .thinker/local/(git ignore),默认本地;学习/校验走你已有的 agent 登录。遥测可关:THINKER_TELEMETRY=off 或配置 "telemetry": false。

仓库:yoavshmariahu/thinker(MIT)。本文抓取时星标仍很低——按开源早期产品对待,对接矩阵以 README 的 agent 表为准(Claude Code 上压缩最完整;Cursor / Codex 等能力面不同)。

三、CodeBurn:月总额拆不开,就谈不上「浪费」

CodeBurn(AgentSeal,MIT)把问题说得更直:

Your bill gives you a month total. It does not break that down by project, by model or by task, and it does not show which part of it was wasted.

做法:各工具本来就会写会话文件;CodeBurn 读本地文件、按价表算账,给出 tool / model / project / task 拆分。Task 类别(coding / debugging / planning 等)据文档是从工具用法与消息规则确定性归类,不另开模型。

六十秒入口:

bash 复制代码
npx codeburn

亦可 npm install -g codeburn 或 Homebrew。安装页要求 Node.js 22.13+(以 installation 为准)。无账号、无注册;箭头键切换时间窗,p 切换工具。

当前 README 宣称对接约 42 款工具(GitHub 简介有时仍写 37——以 README 为准,且会变)。常见家族都在列:Claude Code、Cursor、Codex、Gemini CLI、OpenCode、Devin 等。

1. 看见之后才能修

命令 / 能力 据 README 做什么
codeburn / 桌面 / codeburn web 同一引擎:今日花费、月节奏、近 30 天
Spend 页 按项目、git branch、模型、任务切开;分支视图可近似「一个功能花了多少」
Compare periods 改模型 / 工作流 / prompt 前后对照
codeburn optimize 扫「贵却不挣钱」的配置:每轮重读的文件、几个月没用的 MCP、过长的 CLAUDE.md 等;可 --apply,可 codeburn act undo --last
codeburn context 看单次会话上下文树:tool-result 通常是大头;compaction 次数常是「一小时只办五分钟事」的信号
codeburn plan set / quota / guard 订阅档位、实时额度窗口、可选本地花费帽(Claude Code hooks)

订阅用户要特别注意文档口径:美元数是按 API 价表折算的等价物,不是发票。token 对多数工具是测得的;Cursor 等部分路径会标 estimated。价格来自 LiteLLM,约日更一次。

隐私立场:CLI 默认不外发;桌面/菜单栏可有匿名遥测(可关)。它不是代理——明天坏了,你的 agent 仍正常。

2. 和 Thinker 的分工(不要混成一个产品)

CodeBurn Thinker
主问题 钱与用量结构 会话内重复上下文
默认姿势 读历史会话、出报表 / optimize 建议 hook / proxy / 笔记缓存,改下一轮 context
你仍要审的 --apply 改配置前的 diff Find Savings 的 PR / 设置变更
别指望它单独回答 「裁完 cache 会不会更贵」 「这个月哪个项目烧最多」

两者有重叠(都盯过长指令、闲置 MCP),但一个偏账本,一个偏运行时减肥。先 CodeBurn 定位浪费面,再 Thinker(或手工)动刀,通常比反过来更稳。

四、一条「看见→裁剪」样例流程(示意,非本机实测)

把工具命令串成一条最小闭环,方便周末两小时做完。下列数字全部来自公开文档的示意/基准,用来标定「该看什么」;不要当成你机器上的结果。

  1. 基线快照(10 分钟)
    npx codeburn → 记下:本月 API 等价总额、Top 项目、Top 模型、Top 任务类、最贵 3 个 session id。订阅用户再跑一次 codeburn quota(若已登录对应工具),看 5 小时窗与周窗还剩多少——撞墙常常是窗口问题,不是「今天突然变笨」。

  2. 打开最贵会话(15 分钟)
    桌面点进 Sessions,或终端 codeburn sessions / codeburn context。优先看:tool-result 是否远大于 assistant 正文;compaction 是否频繁;是否同一文件被反复 Read。CodeBurn FAQ 原话大意:一小时只办五分钟事时,compaction 往往是信号。

  3. 对照固定带宽(15 分钟)
    打开该仓库的 AGENTS.md / CLAUDE.md 与 MCP 列表。问三个是非题:

    • 过去一周有没有会话真的执行过这一节命令?
    • 这个 MCP 有没有被调用过一次?
    • 这一节是「规则」还是「过期复盘」?
      若已装 Thinker,用 Find Savings 的 Needed / Wasted 代替拍脑袋;文档示例里 Needed 4% 的大节,就是典型优先项。
  4. 小刀试切(20 分钟)
    先关「从未调用的 MCP / skills」,或 compress 一节高浪费指令——一次只动一类。Thinker 路径走 PR;CodeBurn 路径用 optimize --apply 前先看备份与 diff。不要同一天又砍指令又开压缩又换模型,否则 Compare periods 读不出因果。

  5. 回本观察(至少再跑若干同类任务)
    Thinker 示意里,一次 rewrite 约 +28.8¢、之后每轮约 −2.4¢,回本大约落在十余次调用量级;作者 HN 回复亦按约 20 次偏保守估计。你的任务若常常「开一轮就关」,压缩可能还没回本就结束——这时更该瘦的是每轮必带的指令与闲置工具定义,而不是猛裁短期会话。

  6. 质量门闩仍单独留
    账单好看了,不代表 Zoom 密码不会提前发出。780 的验收教训继续有效:执行与验收拆开;<5 分的 harness 宣称先要 rerun。

五、接回 780:看见 → 再决定拧哪根旋钮

把 780 与本文叠在一起,独立开发者可以收成一条流水线:

  1. 质量旋钮:同一任务先试更高 thinking / 更强模型(Surge 侧 thinking 抬升远大于插件那 2–3 分——据 780 转述)。
  2. 账本旋钮:npx codeburn,看项目 / 模型 / 任务 / 最贵会话;optimize 列出闲置 MCP 与过长规则。
  3. 上下文旋钮:若会话里 tool-result 与固定指令带宽占比吓人,再看 Thinker 的压缩与 Find Savings;同时盯 View Report 的美元,不只盯 input token。
  4. Harness 旋钮:最后才谈复杂多 agent。780 的结论仍然成立——过关≈噪声时,别为 2 分去背 8× 编排。

也请避开两类「假省」:

  • 把视频标题里的「五天烧 58 美元」一类数字当自己的真相——素材包已标待自测,本文不采用;
  • 以为「input 少了 = 账单少了」——Thinker 文档已否;rewrite、重读、步数都会改序。

六、可执行自检(不必本周装完全部)

只读、可勾选:

  1. 打开最近一张发票或订阅用量页:你能说出「哪个仓库、哪类任务」各占多少吗?说不出 → 先跑 npx codeburn(有会话文件的机器上)。
  2. 点开本周最贵的一次会话:tool-result / 固定指令 / 真正新工作各大概多少?(CodeBurn context,或自己数 transcript。)
  3. 列一张「每轮必带」清单:AGENTS.md 各节、已装 MCP、skills。过去 7 天实际调用过的打勾;从未调用的标「候选关掉」。
  4. 若试用 Thinker:先看 Find Savings 的 high waste(大且几乎不用),compress 优先于 remove;合并 PR 前读 diff;用 View Report 看成本是否跟上 token。
  5. 改配置后做 Compare periods:同一类任务改前改后各看一周——没有数字,就不宣称「优化成功」。
  6. 订阅用户:记住 CodeBurn 美元是 API 等价;真正撞墙的是 5 小时 / 周窗口——quota 一类读数比「感觉」管用。
  7. 敏感仓库:Thinker 可 thinker disable;两边都先读隐私页,再决定遥测开关。

极简对照表(自己填):

步骤 你做了什么 最贵项目 最贵任务类 固定指令 token/轮 备注
基线 仅观察一周
账本 CodeBurn optimize 建议
裁剪 关 MCP / 瘦 AGENTS 或 Thinker PR 盯 rewrite
质量 仅提高 thinking 对照 780

七、结尾:省钱是验收问题,不是玄学

「Harness 买 token」之后,下一步不是再买一层更花哨的壳,而是:

  • 用 CodeBurn 把月总额拆开,让浪费有名字;
  • 用 Thinker 打重复上下文,但带着 cache rewrite 的账本意识;
  • 质量仍优先交给 thinking / 模型 / 独立验收,而不是 17 个共享同一错误假设的 reviewer。

先看见,再省。看不见结构的优化,多半只是换了一种方式付钱。若你只带走一句话,就这一句:先用账本命名浪费,再用裁剪减少重复付费,最后才让 harness 去抢那可能落在噪声里的两三分。

参考

最后更新:2026-11-06T15:53:14

评论 (0)

发表评论

blog.comments.form.loading
0/500

暂无评论,快来发表第一条评论吧!