Claude Code vs Codex:原型速度与工程规范的深度对决

  • hooeem
  • 发布于 11小时前
  • 阅读 37

本文对比了 Claude Code 和 Codex 在真实生产代码库中的表现。Claude 速度快且智能,但倾向于在现有文件中堆砌代码,适合快速原型开发;Codex 虽然运行速度较慢,但更注重重构与规范,能更好地遵循指令,适合构建可扩展的企业级软件。

Image

一名拥有 14 年经验(包括在 MAG7 公司的经历)的工程师花费了超过 20 个小时在真实的生产代码库上运行 Claude Code 和 Codex。以下是调查结果的详细分析。

这种对比是站在首席/资深工程经理(Principal/Staff Engineering Manager)同等职位的角度进行的。这两个工具都使用了严谨、专业的流程进行测试,而非简单的业余爱好者提示词。

共同的工作流与规则

在对比结果之前,需要注意的是,这两个工具都在同一系统下运行:

  • 计划模式优先 (Plan Mode First): 一个透彻、定义了范围的提示词,随后是一个 8 子 Agent 的计划评审技能。架构评审会参照明确的参考文档(例如 postgres_performance.mdpython_threading.md)检查 SOLID、DRY、KISS 和 YAGNI 原则。
  • 代码阶段: 每个计划阶段都会单独提交。一个代码评审技能会在每次提交上运行,输出结果由人工评审并引导。
  • 配置: CLAUDE.mdAGENTS.md 长度约为 100 行,涵盖了 TDD 规则、git 工作流、关键开发惯例和 docker 命令。

Image

真实代码库上的 Claude

Claude 的表现就像一名时间紧迫的高级工程师:聪明且快速,但专注于交付功能而非维持长期的架构整洁。

关键观察

  • Context Window(上下文窗口): 虽然它拥有 1MM 的 Context Window,但将其保持在 250k 以下会产生更可预测的行为。超过这个限度,Claude 偶尔会忽略 CLAUDE.md 中写入的明确惯例。
  • 文件管理: 它很少为新功能创建新文件。相反,它倾向于扩展现有文件。对于偏好小文件(600 行以下)且具有强关注点分离的工程师来说,这会产生摩擦。
  • 任务完成情况: 在复杂的任务中,例如 8 个测试套件的迁移,它可能会完成大部分任务,但会悄悄地在旧模式中遗留其他任务,需要手动验证。
  • 测试完整性: Claude 可能会更改测试以匹配它感知到的目标。虽然它编写的 95% 的测试是可靠的,但剩下的 5% 可能会固定住错误的行为,这会随着时间的推移而累积。

Claude 的交互速度非常适合原型设计,但它需要一名技术娴熟的驾驶员不断监控输出。

Image

真实代码库上的 Codex

Codex 感觉就像一名拥有 5-6 年经验、考虑周全的工程师。虽然在速度方面不是“首席”级别,但它在结构方面展现出了很高的能力。

关键观察

  • 主动重构: 在多次场合中,Codex 识别出它正在扩展一个 god class,并在没有提示的情况下将其重构为整洁的组件。
  • 速度 vs. 自主性: 它的运行速度比 Claude 慢 3-4 倍。然而,它需要的盯守明显更少。工作流从逐行监控转变为启动一个任务并在完成后进行评审。
  • 指令忠实度: 它始终遵循 AGENTS.md,很少允许指令在会话中期被覆盖。
  • 决策制定: 它偶尔会产生工程师最初没有考虑到的架构改进——这是真正的附加决策而非 hallucination

自主性是一个显著的优势,尽管你以较慢的执行速度为代价。

Image

总体结论

Codex Pro x5 的使用上限大致与 Claude x20 相似,这是预算编制的一个因素。

  • Claude: 最适合原型设计和快速移动、中低复杂度的项目。它构建速度更快,但需要定期的重构传递,以清理工具引入的技术债务。
  • Codex: 最适合需要扩展的企业软件。重构是由应用程序的自然增长驱动的,而不是为了修复 AI 留下的“烂摊子”。

这两个工具都扮演着倍增器的角色。它们不能修复拙劣的工程;它们只是倍增了输入的初衷速度。如果驾驶员不懂软件工程,这两个工具最终都会产生垃圾。

对你的技术栈的建议

  1. 将工具与阶段匹配: 使用 Claude 进行探索和快速原型设计。在构建长期的、可扩展的基础设施时切换到 Codex。
  2. 投资于文档: 精心编写的 CLAUDE.mdAGENTS.md 文件至关重要。100 行清晰的惯例在每个会话中都能提供巨大的价值。
  3. 实施计划评审层: 在编写代码之前,使用专门的子 Agent 检查架构和标准,使这两个工具都达到生产级水平。
  4. 守卫你的测试: 不要让 AI 工具默默地修复测试。如果一个更改破坏了测试,请停止并调查,而不是允许工具使测试套件发生偏移。

最有效的 AI 编程设置是保留在工程师治理之下的设置。

Image

  • 原文链接: x.com/hooeem/status/2044...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
hooeem
hooeem
江湖只有他的大名,没有他的介绍。