学习使用

原文:Codex 太烧 Token?真正省钱的 7 条原则 + 50%-80% 降本工作流 | DogeSMS

先说结论:最省 Token 的 7 条原则

很多人刚开始用 Codex 的第一反应不是「AI 太强了」,而是「卧槽,Token 怎么烧这么快?」。

这事的根因,不是模型贵,是 workflow 浪费。下面这 7 条立刻执行,通常能省 50%-80%:

  1. 不要一次性喂整个项目 — AI 看到的文件越多,Token 越贵,注意力越分散,输出越不稳定
  2. 一次只解决一个问题 — 「顺便优化一下整个项目」是 Token 黑洞
  3. 长对话一定要重开 Session — 对话越长,历史上下文越贵
  4. 不要让 AI 重复读 README — 固定规则做成 AGENTS.md / coding_rules.md
  5. Debug 比生成代码省 Token 多了 — 真正最贵的是生成大量代码,不是分析问题
  6. Prompt 越模糊,Token 越浪费 — AI 会开始猜、重试、发散
  7. 小步迭代,比一次性生成便宜太多 — 「帮我做完整 SaaS」是最大 Token 黑洞

下面拆开讲为什么。

你可能正在搜什么(快速定位)

你可能在搜什么 本文对应部分
为什么 Codex 越用越贵? 长 Session 问题 / 工作流问题
怎么减少 AI Coding Token? 7 条核心原则
为什么 AI 读仓库特别烧 Token? 整个项目陷阱
为什么长对话特别贵? 长 Session 黑洞
怎么降低 Claude / Codex 成本? Checklist
什么是 Context Engineering? Context Engineering 段
为什么 Cursor 也烧 Token? 不只 Codex 的问题

真正最烧钱的不是输出,是 Context

很多人以为「输出代码最贵」。其实:

上下文(Context)才是真正的黑洞。

什么是 Context?简单说:AI 当前看到的所有内容。包括:

  • 聊天历史
  • 项目文件
  • README
  • 错误日志
  • 打开的文件
  • Prompt
  • 代码 diff
  • Terminal 输出

这些全部都会算 Token

而当 AI 重复读到不需要的 context — 上一轮的聊天历史、不相关的文件、过时的 README — 你就在为没用的信息付费。

为什么长聊天会越来越贵

这是很多人没意识到的最大 Token 陷阱。

第一次:修复登录 bug — 可能只花 5K token。

聊到第 30 轮:AI 需要重新读取前面所有聊天 + 前面所有代码 + 所有 diff + 所有修改记录。这时候一次请求可能已经 100K+ token

真正省钱的人会频繁重开 Session。每个 session 只解决一个问题,解完直接关。

很多人觉得「继续聊更方便」 — 实际上长对话是 Token 绞肉机。

最省钱 Workflow:短 Session + 重新总结

推荐真正省钱的方式:

Step 1:短 Session

一个 Session 只解决一个问题。例如「修登录 bug」 — 解决完,直接开新对话。

Step 2:重新总结上下文

不要让 AI 一直背历史。重新告诉它:

项目:React + Next.js
问题:登录 loading 一直转
相关文件:login.tsx / auth.ts

这会比继续长聊天便宜几十倍

因为短 context 比长历史便宜得多 — 这是数学,不是技巧。

为什么读整个项目特别烧 Token

很多新手最喜欢:帮我分析整个仓库。然后直接把几十万 Token 送进去。

真实翻车案例(过来人经验):

我第一次让 Codex 「分析整个 monorepo」时,一次请求直接吃掉几十万 token。最后真正有用的信息,其实只有 auth 相关的几个文件。

正确做法:只给当前任务相关文件。

不要:整个项目

而是:auth.ts / login.tsx / middleware.ts

AI Coding 的核心不是「大上下文」,而是「高相关上下文」。

为什么模糊 Prompt 特别浪费 Token

例如:优化这个项目

这种 Prompt 特别贵 — AI 不知道:

  • 优化什么
  • 哪部分
  • 目标是什么
  • 限制是什么

于是开始疯狂输出。

最省 Token 的 Prompt:

只优化登录逻辑。

不要改 UI。
不要改数据库。
不要新增依赖。

限制越明确,Token 越省

为什么一次生成完整系统是 Token 自杀

例如 帮我做一个 SaaS — 这属于 Token 自杀行为。AI 会:

  • 建数据库
  • 建 API
  • 建登录
  • 建后台
  • 建权限
  • 建 UI
  • 建部署

最后输出巨量代码。

正确做法 — 拆 phase:

Phase 范围
1 先分析
2 只设计数据库
3 只做 auth
4 只做 dashboard
... ...

小步迭代比一次性生成便宜非常多。

AGENTS.md / coding_rules.md:每次复制规则 = 烧 Token

很多人每次都复制:

- 不要重构
- 保持 diff 小
- 不要新增依赖

这其实特别浪费。

正确做法:在项目根目录建一个 coding_rules.md:

Coding Rules:

- Keep diffs small
- No unnecessary dependencies
- Preserve architecture
- Do not rewrite unrelated code

然后让 Codex 任务开始前读一次这个文件 — 比每次复制规则便宜得多,而且更稳定(规则不会因为复制时漏一行而变形)。

真正最贵的不是输入,是输出

一个很多人不知道的事实:真正最贵的通常不是输入,而是输出。尤其是代码生成。

生成 500 行 React 组件,会比解释一个 bug 贵很多

省钱限制:

Keep answer concise.
Only show changed code.
Do not explain basics.

输出 Token 也收费 — 让它只输出 diff,不输出长篇解释。

为什么「先分析」反而更省 Token

很多新手觉得「分析 = 多一步」。其实恰恰相反:

  • 错误生成一次:可能浪费 20K / 50K / 100K Token
  • 先分析:可能只花 2K Token

最省钱 Debug Workflow

Do NOT fix yet.

First:
1. identify root cause
2. explain why
3. compare fixes
4. recommend smallest safe fix

小 diff = 少 Token。这套流程能把 debug 一轮花的 Token 砍到原来的 1/5-1/10。

不只 Codex — Claude / Cursor / Gemini 都一样

这个问题其实不只是 Codex。Claude Code、Cursor、Gemini CLI、ChatGPT Coding Agent,本质上都有同样的问题:Context 太大

AI Coding 最大成本永远不是「模型本身」,而是「上下文管理」。

错误方式 vs 正确方式速查表

错误方式 正确方式
一直用同一个 Session 一个问题一个 Session
让 AI 读整个仓库 只给相关文件
一次生成完整系统 小步迭代
模糊 Prompt 限制范围
输出不设限制 只输出 diff
每次重复规则 使用 AGENTS.md / coding_rules.md
长聊天累积 30 轮 解决完一个问题立刻重开

Context Engineering:未来最重要的能力

这个词以后你会越来越常看到:Context Engineering

简单说:控制 AI 看到什么

真正厉害的人,不是「疯狂塞上下文」,而是「只给最相关上下文」。

一个非常重要的原则:

不是「更多上下文 = 更好」,而是「更相关上下文 = 更好」。

最省钱 Codex 使用 Checklist

  • [ ] 一个 Session 只解决一个问题
  • [ ] 长聊天及时重开
  • [ ] 不让 AI 读整个项目
  • [ ] 只给相关文件
  • [ ] Prompt 限制范围
  • [ ] 限制输出长度(只输出 diff)
  • [ ] 使用 AGENTS.md / coding_rules.md
  • [ ] 不一次生成完整系统
  • [ ] Debug 先分析再修改
  • [ ] 用「先找根因」Prompt 模板

一句话总结

最省 Token 的方式,不是少用 AI,而是让 AI 每一步都更精准

很多人觉得「AI 太贵」,但实际上是 Workflow 太浪费。AI Coding 真正最贵的东西不是模型,而是失控 — 失控的对话长度、失控的修改范围、失控的输出长度。

未来真正拉开差距的不是模型,是 Context Engineering。

更多推荐