Communitygithub.com

dff652/codex-token-saver

减少不必要的 Codex token 和上下文使用,同时不削弱正确性。

codex-token-saver 是什么?

该技能旨在优化开发工作流以降低 token 和上下文消耗,同时严格保持正确性、验证、安全性和用户预期结果。它提供了一系列轻量级干预措施,例如重复利用持久化上下文而非反复读取文件、在长时间运行的任务中采用高效等待策略(如事件驱动等待或最长的安全轮询间隔),以及通过 `DEV_STATE.md` 对长周期项目进行检查点记录,从而避免不必要的重新读取、轮询和对话漂移。技能支持所有基于 Codex 的平台(如 Claude Code、Cursor、Codex),并强调在模型选择或委托可用时,将模糊目标解读和最终集成任务交给最强模型,将边界明确的任务交给低成本模型,同时遵循环境的授权规则。它不鼓励为节省 token 而引入额外流程开销或委托可能导致返工的任务,并在最终报告中陈述实际优化效果,避免凭主观声称节省比例。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add dff652/codex-token-saver

在你喜欢的 AI 中提问

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

文档

Codex Token Saver

在不削弱正确性、验证、安全性或用户期望结果的前提下优化工作流。将 token 节省视为次要约束:切勿仅仅为了减少使用量而跳过必要的文件、源代码、测试或审批。

选择最轻量的有效干预措施

在更改工作流之前,识别实际浪费:

  • 反复读取未变化的项目上下文;
  • 在另一个进程仍在运行时频繁轮询;
  • 长对话中携带过时的决策;
  • 能力强大或成本高的模型执行有边界的机械工作;
  • 漂移、推测性扩展或重复返工。

仅应用下面相关的措施。不要为简短且边界明确的任务增加流程开销。

重用上下文而非重新读取

  • 将持久化上下文与变化中的证据分离。持久化上下文包括项目目标、架构、编码约定、固定约束和标准命令。变化中的证据包括新需求、编辑、失败、日志和测试结果。
  • 当可信时重用简洁的持久化摘要。仅重新读取可能已更改或当前决策实际依赖的文件或部分。
  • 在打开大文件之前搜索符号和路径。优先使用目标范围和有焦点的查询,而不是广泛的目录或文档读取。
  • 当正确性依赖于当前文件内容时,不要依赖记忆。在决定无需重新读取之前,检查时间戳、差异、搜索结果或相关源。
  • 对于大型文档,在布局无关时一次提取可搜索文本。当图像、表格、分页或格式影响任务时,保留并检查原始文档。

高效等待长时间运行的工作

  • 优先使用事件驱动等待或当前工具支持的最长安全等待间隔,而不是快速的空轮询循环。
  • 当之前的操作已经返回可重用的会话或单元标识符时,不要重复调用空输入/轮询操作。
  • 当外层执行调用封装了内部等待时,给外层调用足够的时间接收内部结果,包括合理的缓冲区。尊重平台的当前最大值和更高优先级的指令;不要硬编码当前环境禁止的间隔。
  • 在真正长时间等待期间,按照当前环境要求的频率发送简洁的用户可见进展更新。

为长项目设置检查点

对于跨越多个阶段或可能在其他任务中恢复的工作,仅在持久化有用且写入在范围内时,在项目中创建或刷新 DEV_STATE.md。保持其简洁且基于事实:

# Development State

## Goal
## Verified current state
## Decisions and reasons
## Files changed
## Tests and results
## Next action
## Blockers or open questions
  • 记录已验证的状态,而不是逐字记录。
  • 删除被取代的计划,而不是累积它们。
  • 将仓库和测试结果视为事实来源,当它们与检查点冲突时。
  • 在恢复时,先读取检查点,然后只检查需要验证其是否仍然最新的文件。

在授权的情况下按难度分配工作

当模型选择或委派可用且允许时:

  • 将模糊目标解读、架构决策、任务分解和最终集成保留给最强的合适模型。
  • 为低成本模型分配边界明确的任务,包括明确的输入、输出、约束和验收检查,例如聚焦审查、独立实现或测试失败分类。
  • 不要仅仅为了节省 token 而委派任务,如果协调或返工可能成本更高。
  • 不要假设当前的模型价格或配额倍数。如果成本是建议的一部分,请使用当前官方的 OpenAI 文档进行验证。
  • 遵循环境的授权规则;该技能不授予生成子代理或更改模型的权限。

防止漂移和返工

  • 如果执行偏离了请求,停止无用的分支,重新陈述目标和当前证据,然后从最小的有效下一步继续。
  • 当产品提供单独的侧边对话且答案在主历史中不需要时,将临时附带问题留在主实现上下文之外。
  • 选择满足所述需求的最简单实现,在可选的扩展之前构建可运行的最小版本,在适当时使用成熟的依赖项,避免会导致可预见的维护债务的捷径。
  • 不要在没有检查失败并改变方法的情况下反复重试相同的失败操作。

报告结果

在完成时,简要说明哪些优化对工作流产生了实质性改变,仍然读取或测试了哪些内容以确保正确性,以及任何剩余的不确定性。除非基于实际使用数据测量,否则避免声称节省了特定百分比的 token。

相关技能