根本原因是Codex无差别加载无关上下文和长对话导致上下文膨胀;具体包括自动扫描不跳过node_modules等目录、多步追问重复载入历史、错误日志未截断、新会话重复扫描、推理模式与任务错配。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

大项目在 Codex 中 token 消耗异常高,根本原因不是文件数量多,而是 Codex 被迫反复加载大量无关上下文——比如 docs 目录里的 Markdown、node_modules 里的压缩包、测试用的 mock 数据、甚至被忽略的 .gitignore 文件,这些内容全被塞进模型输入窗口,每 KB 都按 token 计费。
自动扫描机制无差别读取
Codex 启动分析时,默认执行项目结构探测命令(如 tree -L 3 或 find . -name "*.ts" | head -n 50),但不会主动跳过 【node_modules、dist、build、docs】 这类高密度低价值目录。一旦项目含 30+ 子包,tree 命令输出轻松超 2000 行,直接吃掉 8K+ token。
你没写“别读 node_modules”,Codex 就真去读——它甚至会尝试 cat 第一个 package.json 来判断框架类型,哪怕你只问“登录页按钮怎么居中”。
长对话导致上下文雪球式膨胀
第一步:问“为什么登录失败”。Codex 读取 auth_service.ts + login_controller.ts(约 1200 token)。
第二步:追问“那 token 刷新逻辑在哪”。Codex 不仅再读 refresh_token.ts,还会把前两轮的全部聊天记录 + 已读文件 diff + terminal 输出重新载入(+3500 token)。
第五步之后:上下文里已堆积 7 个文件全文、4 次命令输出、3 轮分析结论——模型实际处理的输入,80% 是自己之前说过的话。
错误日志和命令输出未经截断
方法一:直接运行 npm run dev → 把完整启动日志(含 webpack 编译警告、source map 路径、内存占用统计)一股脑喂给 Codex。单次输出常超 50KB,等效消耗 15K+ token。
方法二:用 head -n 50 截断日志 → 【危险!某些日志是单行超长 JSON,head -n 50 可能只切掉开头 50 字符,实际仍传入 4MB 内容】。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
正确做法:所有不确定大小的命令,强制加字节限制 → npm run dev 2>&1 | head -c 6000。
AGENTS.md 缺失导致重复认知成本
第一步:Codex 进入新会话,先执行 ls -R | head -c 10000 扫描项目结构(消耗 2.1K token)。
第二步:你告诉它“重点看 src/api 和 src/auth”,但它刚花 token 读完的 12 个无关目录,依然留在上下文里。
第三步:新开会话重来一遍 → 又烧 2.1K token 认识同一个项目。
真正省 token 的做法:维护一份 HANDOFF.md,控制在 800 token 内,只写三件事:当前目标、关键路径、已排除项。每次新会话第一句就让它读这个文件。
推理模式与任务错配
写单元测试时用“超高”推理:模型会逐行检查边界条件、生成 12 个 mock 场景、附带覆盖率分析建议——输出翻倍,但你只需要 3 个基础 case。
查语法报错时用“快速”模式:token 消耗是标准模式的 1.5 倍,而响应快 0.8 秒对 debug 毫无意义。
实测切换策略:分析/阅读用“高”,生成代码用“中”,执行脚本用“低”——整体 token 下降 37%。

















