编程 Agent 已进入实际开发流程。
Codex 和 Claude 的编程能力记录。
对比对象:
- OpenAI Codex。
- Anthropic Claude Code。
观察维度:
- 项目上下文理解。
- 多文件修改。
- 代码风格一致性。
- 边界条件处理。
- 命令执行与结果验证。
一、共同能力
Codex 和 Claude 都具备以下能力:
- 可以阅读项目文件。
- 可以理解已有代码结构。
- 可以修改多个文件。
- 可以根据报错继续修复。
- 可以运行测试或命令验证结果。
- 可以解释一段陌生代码的设计意图。
二、Codex
Codex 的特征集中在执行链路。
在真实项目中,常见工作流程是:
- 读取相关文件。
- 定位改动点。
- 修改代码。
- 运行测试、lint 或构建命令。
- 根据结果继续修复。
表现较稳定的场景:
- 修 Bug。
- 小到中型功能开发。
- 多文件重构。
- 根据现有模式补代码。
- 写测试、补测试。
- 做代码审查和风险提示。
观察结果:
- 对已有代码结构的遵守程度较高。
- 对测试、lint、构建结果的依赖较强。
- 多文件任务的推进能力较好。
- 在需求边界不清时,可能扩大改动范围。
- 在缺少测试的项目中,仍然需要人工复核。
使用条件:
- 改哪些文件。
- 哪些文件不改。
- 需要跑哪些验证。
- 最终以什么结果为准。
三、Claude
Claude 的特征集中在理解和表达。
在长文档、复杂需求、历史代码解释中,Claude 的输出通常更完整。
表现较稳定的场景:
- 需求拆解。
- 架构讨论。
- 长代码阅读。
- 复杂逻辑解释。
- 文档整理。
- 生成比较清晰的初版方案。
观察结果:
- 长上下文整理能力较强。
- 技术方案表达清晰。
- 对复杂代码的解释通常更顺。
- 方案落地时,细节严谨性需要复核。
- 连续改文件、跑命令、修测试的稳定性取决于具体工具链。
限制:
- 解释通顺不等于代码正确。
- 方案完整不等于改动可直接合并。
- 缺少验证时,输出只能作为草案。
四、任务对照
Codex 更适合明确的代码落地任务:
- 修复具体报错。
- 给现有页面增加功能。
- 重构指定模块。
- 补充测试。
- 根据 lint 或 CI 结果修问题。
Claude 更适合前置分析任务:
- 这个系统该怎么设计。
- 这段历史代码到底在干什么。
- 某个技术方案有什么风险。
- 这篇技术文档怎么整理。
- 一个需求可以拆成哪些模块。
五、影响结果的变量
模型能力之外,结果还受以下条件影响:
- 任务是否清楚?
- 项目是否有测试?
- 代码结构是否稳定?
- 是否允许 Agent 执行命令?
- 人有没有审查最终 diff?
没有测试、没有边界、没有 review 时,模型输出的风险会上升。
边界清楚、反馈及时、验证充分时,模型输出的可用性会上升。
结论
Codex 偏向执行型工程助手。
Claude 偏向理解型技术顾问。
前者适合把明确任务推进到代码层面。
后者适合把复杂问题解释清楚、讨论明白。
组合使用,流程可以拆成三步:
- Claude 做问题分析。
- Codex 做项目修改。
- 人做代码审查和结果验收。
参考: