六个月后,从每月700美元到一个真正的企业 我不再教Claude, 开始让它自主经营整个环境。
然后,这一环境花了52天时间写出2 340行的日志,其中每个成本都是零的——它从未抱怨过。
为什么从克洛德代码开始的大多数人 都用它来方便聊天 但一旦月收入超过某一门槛,你的思维就会转变。
而不是"发布指令和获得输出",你移动到"让整个环境运行自己".
具体区别如下.
在第一个模式中,每次输入一个提示,然后得到结果.
在第二作中,在入睡时会钩起火来,脚本会被执行,而日志会累积.
就我而言,有十几个工作 运行在时间表 通过启动, 和克洛德代码停止钩 火在每会结束。
我醒来时只记得昨天坐在我的桌面上的简短发言,以及每场会议消耗了多少象征物的记录——不管怎样,这是理想的。
为什么跟踪成本?
Claude Code的MAX计划是固定的月费,但有一个直观的天花板,其中"使用太多有效扼杀下个月的能力".
没有能见度,哪个会话使用哪个模型和多少, 你运行的自主代理 零成本意识。
一个自主的环境越方便,就越能默默地吃.
故以量为先.
停止钩是处理这种测量的机制.
当一个 Claude 代码会话结束(当用户运行时,或超时时),它会运行在 .
将成本汇总脚本放在那里,然后得到"会话结束=自动录制"的管道.
电子表格中不再包含手写成本 。 "正跑"和"正跑"是不同的东西——任何工程师都知道这种感觉.
带有全零内容的日志流出比出错还糟糕.
出错很容易被注意到;一个充满了零的日志保持了"正常记录"的外观,而内部却完全空洞.
我错过了52天2 340行。
成本聚合"静静地撒谎"的根本原因是一个简单的事实:Stop hook's stdin并不包含或字段.
最早的版本是在假设"停止钩子的sdin必须包含符号计数"的基础上被写出.
了解管道流(v2)运行情况的总体流程使其余部分更容易遵循。
关键点是设计原理:"Stop hook中唯一值得信赖的数据源是抄本文件".
而不是期望能直接到达 标准有效载荷, 你读JSONL文件 Claude代码 在整个会话中 一直写。
这是切换到v2的核心.
按模式计算的比率表 实际费率由档案第34-38行规定。
三层:海库(Haiku),索内特(Sonnet)和奥普斯(Opus).
根据模型名字符串是否包含或.
发送,并将其他东西作为索内特处理.
简单的字符串匹配在这里是很多的;这不值得一个 regex.
在成本计算上 缓存问题比你预期的要多 (初始缓存写出)是1.25x普通输入,(从第二次读出)是0.1x.
如果你和Opus大量使用缓存,读取率会达到每百万个活字币1.50美元——这比Haiku的正常输入要便宜.
扫描线条的函数 57–90 是这个修复的核心。
它逐行解析 JSON , 只选择条目 。
对于模型名称,它使用最后发现的模型名(假设即使模型开关会中,最终的助手转会也带有正确的模型).
处理错误是故意松开的 。
如果无法读取文件, ; 如果一行无法解析, .
在这两种情况下,目标是避免整个Stop悬钩失败.
缺失的成本记录比Stop悬钩扔出出错误并影响克洛德代码会话终止的问题要小.
阅读 stdin 和 Full Fl