
群里刚才聊到一个很有意思的问题:为什么在 Codex App 里切到 ChatGPT,会感觉没有 ChatGPT App 和网页版那么聪明?同一个账号,同样是 OpenAI 的模型,为什么一个像在认真想,一个像在急着干活?
我觉得这个问题不能简单理解成“模型变差了”。
更准确地说,是入口变了,任务也变了。
你在 ChatGPT App 或网页版里问一个问题,它默认把你当成一个正在对话的人。你可能是在想一个方案,写一篇文章,分析一个产品,判断一个方向,或者只是希望它陪你把一个问题想清楚。所以它的行为会偏向解释、展开、比较、补充、推演。慢一点也可以,只要最后答案有深度。
但 Codex 不是这样。Codex 的主场不是聊天,是干活。
它面对的是代码仓库、文件、终端、测试、diff、commit、bug、依赖、构建错误。你给它一个任务,它会天然倾向于拆步骤、读文件、改代码、跑命令,然后继续往下走。它要的是“把事情推进掉”,不是“在这里陪你慢慢想”。
所以你会有一个很明显的体感:Codex 很快,但有时候快得像没想透。
这就像你找两个人帮忙。一个是顾问型的人,你跟他说一个问题,他会先问背景、问目标、问限制,然后给你几种可能性。另一个是工程型的人,你说“这个坏了”,他马上打开机器开始拆。前者不一定会动手,后者也不一定会把问题讲得漂亮。但两个人的价值不一样。
我之前说“模型是任务型的 5.6”,其实想表达的就是这个意思。不是说它智商只有 5.6,而是说它被调成了一个偏任务执行的状态。它不一定愿意花大量时间在开放式推理上,因为 Codex 的产品定位不允许它一直“想”。它要响应快,要能连续操作,要控制成本,还要避免在工程环境里乱来。
这里面至少有几个层面的差异。
第一,系统提示词不一样。
同一个模型,放在不同系统提示词下面,出来的状态会完全不同。ChatGPT App 可能更鼓励解释和推理,Codex 可能更强调文件事实、命令执行、代码修改、不要乱猜、不要过度展开。这些限制叠在一起,就会改变回答的气质。
有些人会说,那不就是提示词问题吗?是,但又不只是提示词。提示词像方向盘,能改变行驶方向,但车本身的油门、刹车、路况、任务目标也都在影响结果。
第二,推理预算不一样。
我们平时说一个模型“聪明”,很多时候感受到的不是参数,而是它愿不愿意多想一会儿。它多比较几个方案,多模拟一下后果,多走几步推理,答案就会显得深。反过来,如果它被要求快速响应,或者默认进入执行模式,它就会压缩中间思考,直接给动作。
Codex 适合这样。因为很多工程任务不需要写一篇论文。它需要先找到文件,定位问题,改一处,再跑测试。这个过程如果每一步都长篇分析,反而烦。工程代理太爱解释,也是一种低效。
但问题来了:当你在 Codex 里问一个开放问题,比如“这个方向怎么判断”“为什么这个产品会这样”“这个架构有什么隐患”,它如果还是用任务型节奏回答,就会显得浅。你要的是慢思考,它给的是快执行。
第三,工具环境会反过来塑造模型。
ChatGPT App 大部分时间是在语言空间里工作。它的主要动作是回答。Codex 不一样,它身边有文件系统、shell、测试命令、编辑器和仓库状态。它每一步都可能产生真实修改。所以它会更保守,也更动作导向。
这也是为什么 Codex 有时候会“直接就干,干错”。
不是因为它不知道可以先问你,而是它被设计成一个代理。代理的核心冲动就是行动。行动带来效率,也带来风险。尤其是当你的需求还没被想清楚,它已经开始落地了,这时候错的不是某一行代码,而是前面的判断还没稳定。
所以我现在越来越觉得,正确的工作流不是把所有问题都丢给 Codex。
更好的方式是分层:
- 用高推理模型先把问题想清楚。
- 人参与判断,确认目标、边界和取舍。
- 再把确定后的任务交给 Codex 执行。
- Codex 执行完,再由人或另一个模型 review。
这有点像以前的软件流程。产品需求没想清楚,直接让工程开干,大概率返工。AI 时代只是把这个问题放大了。以前返工的是人,现在返工的是 agent,但浪费的仍然是你的判断力和注意力。
我觉得很多人现在用 AI 的问题就在这里:把“思考”和“执行”混在一起了。
ChatGPT 适合帮你想,Codex 适合帮你做。两者当然会有重叠,但不要指望一个入口在所有场景都表现最好。你让 Codex 写战略分析,它可能给你一个还能看的答案,但那不是它最舒服的状态。你让 ChatGPT 去一个大型仓库里改二十个文件,它也能说方案,但它没有 Codex 那种工程现场感。
这背后还有一个很现实的因素:服务器和成本。
深度推理很贵,也慢。尤其是高版本模型,如果每个 Codex 操作都用最大推理预算,那工程任务会变得又慢又贵。用户只是让它改一个按钮颜色,它如果像写博士论文一样推理三分钟,这个产品根本没法用。
所以从运维或产品管理上,把入口区分开是合理的。聊天入口偏深度,工程入口偏效率。不同用户、不同任务、不同成本结构,本来就应该有不同服务方式。
但这也给用户提出了一个新要求:你得知道自己当前到底需要什么。
如果你还在想问题,不要急着丢给 Codex。先和 ChatGPT 或更高推理模型聊,把问题拆开,把目标定准,把不要做什么也说清楚。等你能写出一句明确任务,比如“请在现有项目里修复 X 页面移动端按钮遮挡问题,保持现有设计风格,跑相关测试,不改无关文件”,这时候 Codex 就会非常好用。
如果你只说“帮我优化一下这个项目”,它可能也会干,但那就危险了。因为“优化”这个词太虚,什么都能装进去。它可能改性能,可能改结构,可能改样式,可能开始重构。最后你会觉得它乱动,其实是你前面没把问题收窄。
这也是我为什么说:高版本模型相互推理,人工参与,确定后再给 Codex。
不是因为 Codex 不行。恰恰相反,Codex 很强,但强在执行。执行型工具最怕目标不清。目标越清楚,它越像一个能连续工作的工程助理;目标越模糊,它越像一个很勤快但方向感不稳定的人。
所以这次讨论真正有价值的地方,不是判断 Codex 和 ChatGPT 谁更聪明。
真正的问题是:我们要开始学会给 AI 分工。
有的 AI 负责想,有的 AI 负责查,有的 AI 负责写,有的 AI 负责改代码,有的 AI 负责审。人不应该退到后面等结果,而应该站在中间做判断,把任务从“模糊愿望”变成“可执行指令”。
这可能就是以后用 AI 的基本能力。
不是会不会写提示词那么简单,而是你能不能判断:这个问题现在该思考,还是该执行?该发散,还是该收敛?该交给 ChatGPT,还是该交给 Codex?该让模型继续推理,还是该人类拍板?
想清楚这一层,就不会再纠结“为什么 Codex 里的 ChatGPT 没有网页版聪明”了。
它不是没那么聪明。
它只是被放在了一个更急、更重、更偏执行的工位上。 而我们要做的,是别把所有工位都当成同一个人。
