52 天,2,340 行,所有成本均记为零:停止钩陷阱”
作者的学生副业通过自主运行 AI 环境,发展成了真正的商业项目。该设置超越了单纯下达指令,使系统能够独立运行,即便作者在睡眠中也能持续运作。关键组件是“停止钩子”(Stop hook),它在会话结束时自动触发。该钩子对于追踪 AI 使用成本至关重要,因为自主代理可能在缺乏直接监督的情况下静默消耗资源。初始的成本追踪机制因“停止钩子”的输入缺少必要的用量和模型数据,导致在 52 天内、超过 2,300 条日志记录中失效。修订后的方法专注于直接读取会话的转录文件,因为这是唯一可靠的数据源。该转录文件包含助手响应的详细日志,包括 token 用量和所用模型。该系统利用费率表,定义了不同模型(如 Haiku、Sonnet 和 Opus)每百万 token 的成本。同时,它也考虑了 AI 缓存带来的成本影响,其中缓存读取的成本可能显著低于常规输入。系统实施了健壮的错误处理机制,以确保诸如文件不可读或日志行无效等 minor 问题不会中断整个追踪流程。该脚本包含三重后备机制用于确定会话 ID,确保即使在多变的执行上下文中也能捕获会话标识符。最后,成本计算采用特定的舍入技术,将精度维持在六位小数,以减轻浮点运算误差。日志条目的累积设计使得即使会话意外终止,仍能实现部分数据恢复。