1. AI编程的钱都花哪儿去了先把成本账算明白聊这个标题之前先讲一个真实场景。上个月我给一个外包项目做技术预研需要让AI帮忙读一份两千行的旧工程代码顺便重构里面的一个模块。我当时手边同时开着Codex和Claude Code两边各自开了一个会话喂进去同样的背景信息。一个小时后我停下来对比发现同一个任务两个工具各烧了几十万Token而且大部分Token其实花在了重复阅读同一份文件上。可能有人觉得几十万Token算什么呢Claude的API按输出Token计价长文本模型读得多花得多单次会话十几块钱人民币是眨眼的事。如果你用的是按量付费的API而不是包月订阅这种看似没什么感觉的开销月底一拉账单会发现相当可观。更麻烦的是这种浪费往往不是模型本身笨而是使用习惯在烧钱。这里就得先理清楚一个基本账本。AI编程的成本由三块组成订阅费、API调用的Token费、以及隐性浪费。订阅费最简单Claude Pro每月20美元Codex跟着ChatGPT订阅走这是固定支出好算。Token费则需要精打细算因为你每一次让AI再想想换一种方式实现帮我看下这个文件都是在花钱。第三块隐性浪费最容易被忽略常见表现形式是上下文窗口里堆满了早就不需要的历史对话、模型反复重读同一个大文件、因为你提示词没写清导致AI给出完全不能用的一版代码然后返工。我见过不少人选工具时只看谁的能力强完全不考虑成本系数。其实Codex和Claude Code在能力上各有胜负但计费逻辑完全不同选错了对自己使用习惯的组合一个月多花几百上千块非常正常。这篇笔记就是梳理我在成本控制这件事上踩过的坑和验证过的方法核心思路就四个字开源节流——开源指把便宜、开放的模型路线用起来节流指把每一次Token花费掰开揉碎地管理。2. Codex 和 Claude Code两个派系两条省钱路线很多人把Codex和Claude Code当成两个差不多的AI编程助手其实它们的出身决定了完全不同的成本结构和使用逻辑。一个比较恰当的说法是Codex更像一个智能体框架Claude Code更像一个深度集成的结对老手。2.1 Codex自带调度器但Token燃烧速度更快Codex定位是自主智能体它适合你在终端里丢一个任务让它自己规划、写代码、跑测试、修bug。这种工作方式在复杂一点的重构任务上确实爽但代价是它会在内部反复推理每次多一步规划就多一次模型调用。如果你开启的是全自动模式让Codex自己循环执行那个Token消耗速度比我手动按Tab输出还快。我在一个CRUD后端项目里试过让Codex帮我加一个分页查询接口顺便补上单元测试。它先扫描了目录结构读取了三四个相关文件然后写方案、写代码、写测试、跑测试、修复失败用例完整流程下来总共消耗了差不多16万Token。这个任务如果是我自己在编辑器里手写大概三千行代码以内就能完成。所以结论很清楚Codex的价值在于替你想过程但这个想过程的成本需要你评估值不值。2.2 Claude Code更克制的终端助手Claude Code如果跑在订阅版下它不会像Codex那样疯狂自治。它更倾向于你说一步、它走一步在交互中频繁与你确认自然消耗也更可控。对大多数以改代码、读代码、解释代码为主的日常开发Claude Code的Token效率其实比Codex高一截。这不是说Claude Code不能自治它也有完整的Agent模式。但它的默认交互节奏更适合人来控制进度这也是我在做精细修改时优先选它的原因。比如改某个函数时我不希望AI自作主张把整个文件重写了Claude Code这种问一句做一步的模式反而帮我省了返工费。2.3 混用策略不同任务选不同工具根据我的经验可以把这个选择做成一张简单的对照表任务类型推荐工具理由大型重构、跨文件改动Codex自治能力强能自己串联多个步骤局部函数修改、代码解释Claude Code交互克制Token性价比高快速原型验证Codex让它自己跑不看过程只看结果学习、审计老代码Claude Code对话式讲解更清晰不会随便动手批量机械修改任意都行但建议用脚本处理别让AI来付Token注意上面的混用不是让你把两个工具同时挂在一个项目里产生冲突而是按任务特征切换主力工具。这本身就是一种节流让该烧钱的地方烧不该烧的地方就别让它烧。3. 开源路线怎么落地把DeepSeek这类模型接进Codex接下来是开源的部分。很多人一听到接开源模型下意识觉得是折腾、麻烦、还得自己部署。其实现在的路径已经相当成熟了特别是Codex本身在设计上就支持自定义模型端点这意味着你可以把它的后端从OpenAI的模型换成DeepSeek等更便宜、甚至本地部署的开源模型。3.1 为什么要接开源模型最直接的原因是成本。DeepSeek的API定价比OpenAI的旗舰模型便宜一个数量级尤其是在输入Token上差距非常明显。如果你的日常任务以读取大量代码、总结、小规模生成为主用DeepSeek做后端同样的任务量成本可能只有原来的十分之一。其次是数据边界。有些公司的项目代码不能出内网以前这会直接劝退AI编程工具的使用但现在完全可以用本地部署的开源模型把链路打通。代码留在本地模型也跑在本地既享受了AI辅助的效率又不用把代码送到外部API。3.2 接入的具体操作以Codex接入DeepSeek为例Codex支持通过环境变量或者配置文件指定API端点。基本逻辑是Codex只是个壳真正做推理的模型挂在远端你只需要把远端地址和API Key指过去。第一步拿到兼容OpenAI格式的API地址。DeepSeek的接口设计上兼容OpenAI规范所以Base URL直接指向它的地址然后把你的Key填进去。这步骤对大部分人来说比想象中简单——不需要下载额外的东西代码也不需要改。第二步配置Codex的模型选择。在Codex启动时指定模型名和端点。比如环境变量里设置一个指向DeepSeek的Base URL再在启动参数里选择对应模型。这样Codex的整个调度系统不变只是脑袋换了个更省电的。第三步验证连通性。你可以先问一句你能看到当前项目里哪些文件来确认链路是通的。如果这一步能正常返回说明模型已经接管了。需要提醒的是不同供应商对工具调用的支持程度不同。Codex工作流里很多能力依赖模型的工具调用规范如果模型不支持完整规范Codex可能只能做纯文本问答没法直接改文件。所以接入前先看看你选的模型在API文档里是否明确标注了支持工具调用。3.3 本地部署的取舍如果你要彻底本地化部署一个开源模型比如Qwen系列或者DeepSeek开源版到一台有显卡的机器上再用兼容层把本地端点暴露给Codex整个链路就闭环了。我自己的体验是这一套比较适合隐私敏感、代码量中低频的团队。本地模型在日常小任务上表现足够好但遇到复杂架构问题和大型在线模型还是有差距。所以我的建议是本地部署适合跑量大的机械任务真正难啃的骨头还是留给在线强模型。4. 别让Token偷偷溜走节流实操的五个细节节流听起来像是不用AI就省钱那意思就全拧了。真正的省法是在保持效率的前提下把每一次调用都用在刀刃上。4.1 拆会话别让一个问题聊到天荒地老一个会话的Token成本是历史累加的。你从上午问帮我看看这个报错开始到下午聊到那顺便把那个模块也改了吧中间所有对话历史都会被模型重新计算。哪怕后面的任务和前面毫无关系模型也会把前面几千行代码小心翼翼地放在上下文里。这就像你开着一个App后台挂了十几个页面内存白白占着。所以我现在的习惯是一个任务开一个新会话。改A文件的绝不在改B文件的会话里续。短会话不但省Token响应速度也快——模型要处理的内容少了首字输出得更快相当于用更少的时间花更少的钱。4.2 明确要求模型只关注指定文件很多人一上来就是帮我看看这个项目模型一高兴把整个项目的文件全扫了。如果是很小的项目还好但一个像样的仓库动辄几十上百个文件全扫一遍的Token费用会直接让你怀疑人生。我试过一个很有效的写法先把项目结构打印出来然后明确指定只需要看src/utils/format.js这个文件其他文件不需要读。Claude Code和Codex都支持这样的约束通常一两句话就能省下大半Token。这也是提示词工程里最被低估的省钱技巧给模型划好边界它才不会满世界乱跑。4.3 优先讨论方案再要求实现有一种浪费特别隐蔽就是写给AI的需求直接是快给我写一个xxx然后AI基于没想清楚的方案写了两百行代码你用不上推倒重来。这两百行代码的Token费就白花了而且下一次你还得再花一遍让AI按正确方向重写。正确做法是先让AI用几句话说明实现思路确认思路没问题再让它写代码。虽然多了一轮讨论的Token开销但这笔开销是几十倍收益的保险。就好比你煮饭前先量好米和水总比煮成一锅粥再倒掉划算得多。4.4 用自动化接口跑大批量任务如果你的任务本质上是批量修改几十个文件里同样格式的代码直接上手写个脚本或者用Codex批量处理别一个文件一个文件地跟AI对话。一次给AI十个文件的修改清单让它一次性产出所有补丁比十次单文件对话省几乎一半Token——因为共享的指令和项目背景只需要加载一次。4.5 留意用量统计把监控做在前面我踩过最痛的坑是没用用量监控直到月底看账单才知道某天有次失控的会话烧了大几百块。后来我习惯是每隔一段时间看一次平台自带的用量报表也偶尔用一些终端小工具直接统计每个会话的Token消耗。不是说非得弄多复杂的采集系统哪怕是随手记录一下大概烧了多少也会让你在使用时更有成本意识。人一旦对数字敏感浪费就会自动减少。5. 从安装到奔跑搭环境实录与四个高频报错的排查思路既然聊到Codex和Claude Code的使用安装配置这关绕不过去。热词里我看到大量Codex安装教程Claude Code安装windows配置Claude Code的搜索说明很多人在环境阶段就被劝退了。我把遇到的几个高频报错和我排查的思路写在这里都是实际踩过的坑。5.1 cc switch local proxy failed while handling codex endpoint /responses这个报错出现的位置是在用Codex切换配置或调用API时信息说的是处理responses端点时本地代理切换失败很容易让人误以为是网络问题。我实际排查下来通常是本机配置了系统级代理或本地代理转发工具而Codex在启动时要切换代理状态以匹配当前端点的访问方式切换动作没有正确完成就会在端点握手时报错。排查思路很简单先临时关掉系统代理或跳过代理设置确认Codex是否能正常调用远端模型。如果关掉后一切正常说明问题就出在代理切换逻辑与本地环境冲突。解决方向是调整Codex对代理的设置或者把访问远端模型的流量从代理中排除。我见过有人怎么调都调不好最后发现是两个代理工具同时挂在本地端口冲突了。你如果也在用这类多代理叠加的环境建议保留一个把不用的那个退出。5.2 codex auth token is unavailable: 登录态失效这个报错常见于Codex装好后用了一段时间然后某次启动突然无法获取授权Token。我的经验是这不是配置坏了而是Token过期或本地登录信息被清理了。最简单的方法是去重新走一遍登录流程重新唤起授权页面登录一次。如果你是在一台远程机器上跑Codex需要注意这种场景下没有浏览器可以交互得用命令行的无头登录模式或者拷贝登录链接到本地浏览器处理。这个问题的另一个隐藏诱因是你同时装了多个Codex版本或多套配置文件导致启动时用了错误的配置目录自然就读不到正确的登录信息。排查方式是检查当前终端里Codex实际读取的配置路径确认你登录的那个账号对应的配置是不是正在被使用。5.3 Claudes workspace requires the virtual machine platform on Windows这个报错非常Windows特色了。Claude Code在Windows上依赖WSL或者需要启用Windows的虚拟化平台组件如果你在安装或启动时看到requires the virtual machine platform多半是你没打开Windows的虚拟机平台功能或者WSL的基础组件没装全。解决路径是打开控制面板-程序-启用或关闭Windows功能勾选上虚拟机平台和适用于Linux的Windows子系统然后重启。如果已经装了WSL可以先在PowerShell里执行wsl --status看看内核是否正常。这本质上就是Claude Code在Windows上的运行环境要求没什么玄学把虚拟化层补上就好了。5.4 模型名写错引发的不支持报错热词里有句很典型的错误提示the gpt-5.6-sol model is not supported when using codex。这属于典型的模型名写错。可能是你在配置文件里手输了一个不存在的模型标识或者某个上游面板给的模型名列表里有一个看起来很接近但Codex根本不认识的代号。排查这个很简单回到Codex当前端点的模型列表复制一个它明确支持的模型名替换掉配置文件里那个不存在的名字。我建议新手不要自己发明模型名直接从官方文档复制。这个小坑看着低级但真的很常见因为它报错的方式很容易让人误判成网络或版本问题我亲眼见过有人因为这个问题重装了三遍Codex。6. 提示词也是钱把话说明白的三个层面前面提到的节流技巧很大程度要靠提示词来落实。如果你留意AI编程提示词这个热词下的搜索结果会发现大多数人问的还是怎么让AI写得更准很少有人意识到提示词还直接影响着你的Token开销。同一个任务写得好和写得烂成本能差出三四倍。6.1 明确边界让AI只处理你让它处理的事我在第四节里提到过指定文件这里再展开讲。一个常见的浪费场景是帮我看看这个项目哪里有问题。AI为了回答这个问题会把项目从头到尾读一遍整个扫描动作的Token成本你自己扛。更省的做法是只读src/modules/user/目录下的文件分析用户模块里有没有潜在的空指针问题。边界的价值不仅在于答案质量更在于你帮AI划掉了大量不需要读的内容。这个动作的Token节省幅度几乎是立竿见影的。6.2 给出约束条件减少尝试性输出另一种浪费是模型试错它会给出一个完整方案然后说如果不合适我还可以改成另一个方案。大部分AI编程模型倾向于在输出的后半段附带一个备选方案看起来贴心但完全没问你是否需要。你在提示词里如果写明不需要备选只按第一个方案输出代码它的输出长度就能降下来。类似的约束还有代码里不需要注释以外的解释文字不要重复我已经提供的代码。我在用Claude Code生成模板代码时会在开头说一句直接输出完整代码文件内容不要说明不要分点阐述输出直接少了大概三分之一的篇幅。你可能觉得三分之一的Token无所谓但积少成多。6.3 分步确认避免大返工提示词写得再精准模型也偶尔会跑偏。与其让它一口气干完所有事再返工不如分阶段确认尤其适合复杂任务。先让它列计划你审一眼再让它改关键文件的核心函数你跑一遍测试最后才让它实现外围改动。这个模式的好处是每步的实际Token消耗小而且一旦方向错了止损点也早。这其实就是我前面说的先讨论方案再实现的思路放在提示词场景下依然成立。我在实际使用中还会让AI在输出前自己检查一遍比如提醒它输出之前先确认没有引入未定义的变量。这个要求可能会导致它多跑一小段内部推理但能显著减少你手动review返工的概率。总体算下来这笔Token是花的值的。7. 花钱要花得明白我的几条实用建议把上面所有内容浓缩成几条可以直接用的建议大概就是下面这样。第一能订阅就别按量。如果你预计每个月使用量不低订阅版的单价优势非常显著。Claude Code在订阅模式下跑日常任务费用封顶Token随便造也不会月底爆单。Codex同理跟着订阅走更省。第二重活和杂活分流。复杂架构任务交给最强的模型批量机械任务要么自己写脚本要么接便宜的模型。别让旗舰模型去干给一百行代码加注释这种事。第三每周末花五分钟看用量统计。现在的平台后台都有很清晰的用量报表扫一眼很快但能及时发现异常消耗。你要是连这一步都懒那就相当于不打方向盘闭着眼开车。第四及时更新工具版本。Codex和Claude Code这类工具迭代非常快新版经常修掉一些导致Token浪费的旧逻辑比如某些场景下重复读文件的问题。保持更新本身就是一种节流。最后我始终觉得AI编程这事工具是买不完的能力是聊不完的真正拉开差距的是你怎么花这每一分钱。开源节流这句话放在AI编程里既是指技术路线也是指使用心态该花的地方大方花不该花的一分也别烧。这套笔记后续我会继续更新下一篇大概会专门聊聊Codex的批量处理模式那才是真正把Token利用率榨干的玩法。
