AI Pulse

Codex省Token绝招:用Skills配置省下大笔费用

利用Codex Skills的渐进式加载和AGENTS.md分层指令,大幅减少上下文消耗。

为什么Skills能省Token?

Codex Skills采用渐进式披露(progressive disclosure)机制:启动对话时,模型只看到每个技能的名称、描述和文件路径,这部分的上下文预算被严格限制——最多只占模型上下文窗口的2%,或者在窗口大小未知时不超过8000字符。只有当模型决定使用某个技能时,才会加载完整的SKILL.md指令。这种设计避免了把大量冗长的指令塞入初始上下文,从而直接节省了大量Token消耗。

四招Skills配置省Token实操

第一招:把重复指令打包成Skill

如果你经常对Codex说“先运行测试”、“使用pnpm安装依赖”等固定规则,不要每次都手动输入,而是创建一个复用Skill。创建方法很简单:在Codex CLI或IDE中执行 $sk 启动内置创建器,或者在 ~/.codex 下新建目录并编写SKILL.md。例如:

`
my-skill/
SKILL.md
scripts/
references/
`

SKILL.md 中必须包含 name 和 description,描述要“简明而有清晰边界”,因为Codex依赖描述来匹配任务。一旦匹配,完整指令才被加载,之后每次复用同一个Skill时,这部分指令只消耗一次Token,而不是每轮对话都重输。

第二招:分层瘦身AGENTS.md

AGENTS.md 文件是Codex读取的自定义指令链,按全局→项目→目录顺序层层合并,直到总大小达到上限(默认32 KiB)。过多冗长指令会直接吃掉宝贵的上下文空间。建议:

全局层:在 ~/.codex/AGENTS.md 中只写最通用的规则,例如“优先使用pnpm”、“修改JS后运行npm test”。(来自Codex AGENTS.md官方指南)

项目层:在仓库根目录的AGENTS.md中写项目特定规则,例如“运行npm run lint后提交”。

临时覆盖:使用 AGENTS.override.md(优先级高于AGENTS.md)临时替换,避免删除基础文件。

保持每个AGENTS.md精炼,合并后总大小不接近32KiB。这样既能让Codex了解约束,又不会浪费Token在重复或无关指令上。

第三招:精确引用文件,避免全文扫描

视频《18 Insane Codex Token Hacks》中提到的一个关键技巧:直接引用需要修改或阅读的精确文件名或路径。例如在提问时写明“请参考 src/utils/helpers.ts 中的 parseConfig 函数”,而不是笼统地“看看我的代码库”。这样Codex不会自动扫描整个项目,只加载你指定的文件,大幅减少输入Token。同样的思路可以应用到Skills的 references/ 目录中,只链接必要的文档。

第四招:控制初始技能列表规模

Codex每次启动时会把所有安装的Skill列表塞入上下文(最多2%预算)。如果安装了几十个Skill,描述会被自动缩短,甚至部分Skill被直接忽略并提示。因此:

只保留日常必须的技能,测试类、临时性技能可以手动卸载。

每个Skill的描述要开门见山,把最关键的功能词前置,即使被截断也能匹配正确。

官方文档强调:“Because implicit matching depends on description, write concise descriptions with clear scope and boundaries. Front-load the key use case and trigger words so Codex can still match the skill if descriptions are shortened.”

省钱效果与注意事项

以上方法能显著减少每个对话的Token消耗,尤其是长期项目中。需要留意的是:Token账单取决于输入+输出总量,Skill虽然节省了指令的重复加载,但实际调用时还会耗费输出Token。建议定期检查 Codex设置中的用量统计(Settings → Usage),对比优化前后的成本。截至2026年6月,这些技巧均基于Codex的公开文档和用户社区经验,适用于CLI、IDE扩展和Codex App。

记住:省Token的核心不是减少功能,而是减少冗余上下文。用Skills封装重复工作流,精简AGENTS.md,精确引导文件读取——这些习惯一旦养成,每月账单会明显下降。

📎 参考来源

📬 订阅 AI Pulse

每天三次更新,不错过重要信号

▲ 回到顶部