两个Agent,两种脾气

Codex vs Claude Code

用Codex和Claude Code也有一段时间了。抛开底层模型不谈(事实上两家都在往同一个模型水平卷),这两个产品在"怎么用"这件事上,走出了两条完全不同的路。

先澄清一个容易搞混的事:OpenAI的"Codex"目前包含两个东西。一个是Codex CLI,一个开源的终端工具,跑在你本地,直接对标Claude Code。另一个是ChatGPT里的Codex云端代理,异步执行,没有直接对位产品。这两者的体验差异非常大,下面分开聊。

有意思的是,几条路最终可能通向同一个地方。但在到达之前,它们给你的体验差异,远比你想的大。

先说Codex CLI vs Claude Code:都是终端里的搭档

Codex CLI和Claude Code都是开源的命令行工具,都跑在你本地,都能读代码、改文件、跑命令。用法也差不多:在项目目录下启动,用自然语言描述你要做的事,它就动手了。

但细节上差异不少。

Claude Code的可扩展性明显更强。它支持Hooks——你可以在agent执行特定动作前后插入自定义的shell命令,比如每次编辑文件后自动跑prettier格式化,每次commit前自动跑lint。这个能力看似简单,但它意味着你可以把自己的开发流程强约束到agent的行为里。Codex CLI目前没有这个机制。

Claude Code还有Skills——可以把重复性的工作流(比如"/review-pr"、"/deploy-staging")封装成可复用的命令,团队内共享。以及MCP(Model Context Protocol)——一个开放协议,让agent可以连接外部数据源,Google Drive、Jira、Slack都能接进来。

Codex CLI的简洁性也是它的优势。配置更轻量,启动更快,依赖更少。如果你的需求就是"帮我在终端里快速改代码跑测试",Codex CLI的上手成本更低。而且它是开源的,社区可以根据自己需求扩展。

一个值得注意的细节:Codex CLI默认用的是codex-mini模型(o4-mini的变体),走API计费;而ChatGPT里的Codex云端代理用的是codex-1(o3的变体),走订阅额度。两边的模型能力、上下文长度、推理深度都不一样。所以虽然都叫"Codex",实际用起来是两种体验。

在CLI这条赛道上,Claude Code目前的功能覆盖面更广——Hooks、Skills、MCP、管道组合、跨平台配置同步(终端/VS Code/JetBrains/Desktop/Web共享一套CLAUDE.md)。Codex CLI更像是一个精简的起点,适合不想过度配置、快速上手的人。

再看Codex云端:一个没有对位产品的形态

ChatGPT里的Codex完全是另一种东西。你的任务跑在云端的一个独立沙箱里。你把仓库连上ChatGPT,提交一个任务("给auth模块补测试"、"重构这个函数"),它在云端起一个容器,加载你的代码,独立执行。你在侧边栏看进度条,也可以走开去干别的,完成后回来看结果。一个任务快的话1分钟,慢的话30分钟。

用Codex云端像是给一个远程同事发了个任务单——你描述清楚需求,他拿走去干,干完给你交一个PR。你没法在他干活的过程中插嘴说"等一下,方向不对"。事实上Codex在任务执行过程中确实不支持中途纠正(官方文档原话:"the ability to course-correct the agent while it's working"是未来的计划)。

Claude Code目前没有完全对等的产品形态。Claude Code Web版可以在浏览器里启动任务,也能后台运行,但它的核心设计仍然是"你在旁边看着、随时介入"。Codex云端的设计初衷就是"你扔出去就不用管了"。

不过Claude Code也在补这块能力。Routines(定时任务,云端运行,电脑关了也能跑)、Background Agents(后台并行session)、Scheduled Tasks——这些功能都在让Claude Code能"异步帮你干活"。只是目前还没做到Codex云端那种纯粹的"提交→走开→收结果"的体验。

并行的哲学

三个产品都支持并行任务,但方式不同。

Codex云端的并行最自然——每个任务自动在独立沙箱里执行,你同时提交5个任务,它就同时跑5个。OpenAI自己的工程师团队最常用的模式就是早上花20分钟把一堆小任务分配出去,然后各自干自己的事,回头挨个review结果。

Codex CLI是本地单session的,不支持原生并行(你可以在不同终端窗口开多个session,但它们之间不协调)。

Claude Code的并行走了一条更复杂的路。它支持在主agent里spawn子agent,每个子agent独立执行一部分工作,主agent负责协调和合并结果。这更像是"项目经理带着几个下属分头干活"。Desktop版还有一个agent view,可以同时看多个session的实时进度。

简单说:Codex云端擅长"5个互不相关的任务同时做",Claude Code擅长"一个大任务拆成几块协作完成",Codex CLI目前主要是单任务模式。

跨平台体验

Claude Code在这块领先不少。同一套配置(CLAUDE.md、MCP服务器、settings)在终端、VS Code、JetBrains、Desktop App、Web、甚至手机端都是通用的。你可以从手机发一条消息给Dispatch,它会在Desktop端创建一个session;也可以在Web上启动一个长时间运行的任务,回到终端用claude --teleport把它拉到本地继续。甚至有人在Slack里@Claude报一个bug,agent直接生成PR回复。

Codex的两个形态目前不太互通。Codex CLI和ChatGPT里的Codex是两套系统,session不共享。CLI侧有AGENTS.md做项目配置,云端侧也有AGENTS.md,但它们的执行环境不同,同样的配置未必产生同样的效果。这是目前OpenAI在Codex产品线上一个比较明显的割裂点。

任务适合度

这几种形态各有所长,擅长的任务类型很不一样。

Codex云端擅长"明确、独立、可验证、可以等"的任务。比如:给一个函数写单测、修一个有明确复现步骤的bug、批量重命名。它的沙箱环境天然适合"跑测试验证结果",而且因为不占用你的本地资源,你可以把一堆不想打断自己工作流的脏活累活全扔给它。

Codex CLI和Claude Code都擅长需要实时交互的工作,但侧重不同。Codex CLI更轻量,适合快速完成"一个具体的修改";Claude Code因为Hooks、MCP、Skills这些扩展能力,更适合复杂的工程场景——比如你的项目有特殊的多步骤部署流程,或者需要连接外部系统获取上下文。

用一句话说:Codex云端像一个勤快的实习生,你给活它干活;Codex CLI像一个随叫随到的助手,简单利落;Claude Code像一个能对话的搭档,你跟它一起想、一起做。

但它们正在走向同一个方向

有意思的是,两家都在往对方的方向靠。

OpenAI在Codex的发布文章里明确说了愿景:"实时配对和任务委派两种交互模式最终会融合(converge)"。他们计划支持任务执行中途介入、提供方向指导、实时进度更新。这其实就是Claude Code一直在做的事。

Claude Code这边则在补异步能力。Routines、Background Agents、Scheduled Tasks——这些功能都在让Claude Code能"后台帮你干活",不用你一直盯着。

两家都看到了同一个未来:开发者既能在终端/IDE里跟agent实时协作,又能把明确的委派任务扔出去让agent后台处理。区别只是从哪头出发——OpenAI从异步走向交互,Anthropic从交互走向异步。

选择即工作方式

我观察过不少团队的使用习惯,大部分人并不是只选一个,而是根据任务类型切换。

偏"执行型"的工程师倾向于Codex云端——早上花十几分钟把一批明确的小任务分配出去,然后专心做自己的事,回头批量review结果。偏"探索型"的工程师更喜欢Claude Code——他们喜欢在交互中把问题想清楚,随时调整方向。也有不少人主力用Codex CLI做日常开发,因为它够轻量、够快,遇到复杂问题才切到Claude Code。

这个差异可能比产品功能对比更有意思。工具的选择,本质上是在选一种工作方式。

不过话说回来,这几个产品都在快速迭代,可能再过半年回头看这篇对比,很多差异已经不存在了。但"异步委派 vs 实时协作"这个底层哲学分歧,我觉得会持续很久。不是因为技术做不到融合,而是因为不同的开发者就是喜欢不同的工作方式。这跟有人喜欢远程办公、有人喜欢坐一起结对是一个道理。

工具最终会被拉平。选择哪种工作方式,取决于你是什么样的人。

You voted 1. Total votes: 1

添加新评论