Communitygithub.com

kitorz/token-step-tracker

估算每个智能体步骤的 token 使用量,触发可配置的告警,并提供实用的上下文节省建议。

token-step-tracker 是什么?

该技能为 AI Agent(如 Claude Code、Cursor、Codex 等)提供轻量级的 Token 使用估算和告警功能。它通过将任务分解为有意义的步骤,在每个步骤完成后生成一个紧凑的检查点,报告当前步骤和累计的 Token 估计范围(基于观察到的输入和输出内容,如英文、中文、代码等)。当累计 Token 超过用户指定的告警阈值时,技能会发出纯文本告警(如 `:red_circle: TOKEN ALERT`),并自动推进下一个告警阈值。同时,它还会基于最大可观测成本给出实用的上下文节省建议(如减少大文件读取、复用结果、压缩输出等),但不会建议跳过必要的验证或安全检查。最后,技能会生成一个完整的摘要,包括总步骤、估计范围、最大步骤、告警数量以及最有效的改进建议。该技能不依赖额外的 API 调用或系统通知,完全基于纯文本和 Markdown 格式,适用于所有支持 Markdown 输出的 Agent 平台。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add kitorz/token-step-tracker

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Token 告警(非强迫症慎用)

在不中断任务或不声称计费准确性的前提下,追踪近似的 Token 使用量。

开始追踪

  1. 将任务分解为有意义的、基于结果的步骤。如果已有计划,则保留现有计划。
  2. 明确说明一次:Token 数值仅为估计值,不包含隐藏的系统、推理和平台开销。
  3. 从用户的请求中读取一个正整数告警间隔,例如 5000(对应“每 5000 token 告警一次”)。当用户请求告警但未指定间隔时,使用 10000。明确说明一次当前使用的间隔。
  4. 将下一个告警阈值设置为一个间隔,每次告警后将其推进一个间隔。
  5. 不要为了改善估计值而额外调用工具、重新读取文件或生成额外内容。

报告每个完成的步骤

在报告该步骤的有用结果后,追加以下紧凑检查点:

Token 检查点 · 步骤 {n}: {名称}
当前步骤:≈{低}–{高} token | 累计:≈{低}–{高}
主要驱动因素:{最大的可观察来源}
下次节省建议:{一个可行的建议,或“没有值得改变的改进——保持当前方法。”}

仅在该步骤产生了有意义的结果时才进行计数。不要为状态消息、批准、等待或琐碎的内部操作创建检查点。

显示阈值告警

每次检查点后,将累计范围的中点与下一个告警阈值进行比较。当它达到或超过阈值时,追加以下内容:

> :red_circle: TOKEN 告警 | **{阈值} 估计 token 已使用**

使用红色圆圈加粗数字作为可移植的降级方案。如果宿主支持安全的行内 HTML 颜色,可将值渲染为 <span style="color:#d00"><strong>{阈值}</strong></span>;切勿输出原始的终端转义码。纯技能无法创建操作系统通知或保证文本颜色,因此请将其称为告警,而非系统弹窗。

如果一个步骤跨越了多个阈值,则仅发出一个针对最高跨越阈值的告警,并将下一个阈值推进到累计中点之后。切勿重复已经发出过的阈值。

一致性估算

根据该步骤处理或产生的可观察内容进行估算:

  • 英文散文:大约每 4 个字符 1 个 token。
  • 中文散文:大约每 1.5–2 个字符 1 个 token。
  • 代码和结构化数据:大约每 3 个字符 1 个 token。
  • 包括相关的提示文本、新读取的工具输出、生成的内容以及该步骤中明显复用的上下文。
  • 避免在一个步骤内重复计算同一工件。
  • 使用至少 ±25% 的范围;当上下文复用不明确时,扩大范围。
  • 将边界四舍五入为合理的数值。优先使用 ≈800–1,200,而不是 ≈917–1,143。
  • 将步骤范围累加到累计范围中。

切勿推断隐藏的推理 token、平台指令、缓存行为、计费或货币成本。如果运行时明确提供了用量,请将其单独作为运行时实际用量报告,不要混入估算值中。

推荐节省方法

每个检查点最多给出一个推荐。针对观察到的最大可避免成本:

  • 大文件读取:先搜索,然后只读取匹配的部分。
  • 重复读取或搜索:复用已获得的结果。
  • 宽泛的工具输出:限定路径、字段、日期范围或结果数量。
  • 过大的上下文:在继续之前总结稳定的发现。
  • 冗长的生成输出:在不需要细节时请求或生成更紧凑的格式。
  • 重复失败:检查错误并改变方法后再重试。
  • 过多的示例:除非需要比较,否则只保留一个代表性示例。

不建议仅仅为了减少 Token 而跳过验证、安全检查、必要证据或用户要求的细节。如果没有有意义的节省空间,应如实说明,而不是编造建议。

结束追踪

在任务的最终结果之后,包含一个简短的摘要:

Token 估计摘要
步骤数:{计数} | 总计:≈{低}–{高} token
最大步骤:{步骤名称} (≈{低}–{高})
告警间隔:{间隔} token | 已发出告警数:{计数}
下次运行最佳节省建议:{一个最具影响力的建议}
准确度:仅为估计值;不包含隐藏的系统、推理、缓存和平台开销。

将检查点和摘要始终置于用户实际任务之后,保持其辅助地位。

相关技能