Codex vs. Claude Code: 生产环境单体架构视角

在为生产系统寻找 AI 代码助手时,过程可能非常复杂,尤其是在处理已建立且复杂的代码库时。本文详细记录了一位开发者为期一年的历程,以及最近一个月在真实、多层 Python 后端单体架构上对 OpenAI 的 Codex 与 Anthropic 的 Claude Code(特别是 Opus 4.6 和 4.7)进行的对比。所分享的见解并非来自受控的基准测试,而是来自日常运营使用,为这些工具在遗留代码和特定业务逻辑的约束下表现如何提供了实用的视角。

生产环境单体架构的挑战

所涉及的代码库是一个拥有数年历史的 Python 后端,其特点是混合了多种架构风格。它包含较新的、实验性的领域驱动设计(DDD)风格层,较旧但结构良好的遗留组件,以及一些非常陈旧、脆弱的“面条代码”。该单体架构的运营策略是除非绝对必要,否则避免重写,倾向于让旧部分保持原样,直到自然替换或移除。这不仅仅是一个简单的 CRUD 应用;它是一个拥有众多 A/B 测试和高度特定业务逻辑的复杂系统,这使得它成为任何 AI 助手的挑战性环境。

为什么 Codex 在后端开发中表现出色

针对该生产环境 Python 单体架构的具体需求,Codex 一致地展示了卓越的性能以及与开发者工作流的高度契合。

遵循 Harness Engineering 原则

Codex 受到青睐的一个主要原因是它能更好地遵循 OpenAI 所概述的 harness-engineering 原则。这种方法强调构建稳健、可测试的系统。相比之下,Claude 往往需要通过 AGENTS.md 文件提供非常明确且简短的指令(例如,“阅读 exec_plan.md 并遵循它”)才能可靠地遵循类似的工作流。

优先使用现有工具

在拥有多年开发历史的代码库中,复用现有的项目特定工具和模式对于一致性和可维护性至关重要。Codex 被证明在尝试创建新工具之前,能更熟练地在代码库中搜索现有工具。而 Claude 则经常生成新的工具,导致不必要的重复并偏离了既定模式。

卓越的上下文理解与规划能力

Codex 在处理复杂任务时表现出更有效的规划模式。它更频繁地识别出提示词(prompt)缺乏足够的上下文,并在提出架构变更建议之前主动询问澄清性问题。这种主动的方法最大限度地减少了大量往复修正的需求,而这正是 Claude 的一个显著痛点。

Claude 在复杂后端环境中的局限性

尽管功能强大,但 Claude 在应用于生产单体架构的复杂细节时表现出了若干挑战。

倾向于“重新发明轮子"

如前所述,Claude 倾向于创建新工具而不是发现并利用现有工具,这是一个反复出现的问题。这种行为在模式已确定的成熟代码库中可能会引入不一致性和技术债。

上下文掌握不足

Claude 在建议放置新功能的位置之前,经常阅读的代码或文档过少。这往往导致错误的架构决策,例如建议在 controller 中添加新功能,而不是在适当的 module 中,或者误解 API 响应。

迭代修正的成本

修正 Claude 的输出往往涉及多轮特定的指令。例如:“请将此功能放在 module A 中,而不是在 controller 中。那才是正确的位置。”或者“不要使用你在请求中发送的状态来构建响应对象。API 已经返回了更新后的对象——请使用该响应,将其包含在结果中,并验证其状态是否符合我们的预期。”这种迭代修正过程非常令人疲惫且效率低下,凸显了 Claude 在处理复杂后端任务时的初始规划和上下文集成方面的差距。

不同的领域:前端开发

虽然 Codex 在后端工作方面具有优势,但在前端开发方面,情况却发生了反转。

Claude 在 UI 任务中的优势

开发者发现,与 Codex 5.3 和 GPT-5.4 相比,Claude Opus 4.6 在前端工作方面表现显著更好。对于 UI 任务,Claude 是首选工具。其他开发者也表达了同样的观点:

"Codex 在前端方面表现糟糕。我给它一个现有的 repo,并要求它参考那里的 UI 样式和模式,但它仍然创造出那种经典的‘代码感’外观(即使我已经在另一个 repo 中定义了所有内容)。Claude 做得非常完美。(Claude/design 显然优于 claude code & codex)"

这表明 Claude,特别是其专注于设计的变体,对 UI 样式和模式具有更强的理解力,使其在生成视觉一致且现代的前端代码时更加有效。

关于新模型的新视角

一位评论者指出,在使用新模型时有不同的体验:

"我最近从 Claude 切换到了 Codex + GPT-5.5(带有 image2)进行开发,UI-first 开发的感觉确实非常不同。"

虽然原作者尚未针对 UI 密集型工作测试 GPT-5.5,但这条评论表明, Codex/GPT 的新迭代版本,特别是具有 image2 等多模态能力的版本,可能会改变前端开发的格局, potentially 正在为 UI-first 工作流提供新的途径。

Sources