先确定比较轴
“谁更强”会随模型版本、配置和基准变化。更稳定的比较是:
- 谁承载 Agent Loop;
- Context 如何取得;
- 修改如何落盘;
- 权限在哪里强制;
- 过程如何暴露;
- 面向最终用户还是 Agent 开发者。
官方文档 本章仅使用各项目的官方文档和公开仓库。闭源产品的内部实现没有证据时标为未知,不从 UI 反推架构。
架构对比表
| 方案 | 核心定位 | 执行宿主 | 公开的上下文/修改线索 | 控制与扩展 |
|---|---|---|---|---|
| Codex CLI | 通用本地 Coding Agent | 开源 Rust runtime + 模型 API | 工具循环、ContextManager、Shell、Patch、Op/Event 可追踪 | Sandbox、Approval、AGENTS.md、MCP、App Server |
| Claude Code | 终端中的 agentic coding 工具 | 本地 CLI,模型服务由 Anthropic 提供 | 官方文档公开 memory、tools、hooks 等产品表面;完整内部 runtime 并非同等开源 | 权限、hooks、MCP、subagents 等公开配置 |
| Aider | Git 原生 pair programming | 开源 Python CLI | 公开 repo map、编辑格式和自动 Git 工作流 | 多模型、命令行、Git-centric;控制面相对直接 |
| Cursor Agent | IDE 原生 Agent 体验 | Cursor 编辑器/服务 | 公开产品展示代码库理解、终端与编辑能力;内部实现闭源 | IDE 审查、规则与产品集成;细节以当前文档为准 |
| OpenAI Agents SDK | 构建任意领域 Agent 的框架 | 你的 Python/JS 应用 | Runner 执行 agent loop,提供 tools、handoffs、guardrails、sessions | 高度可编程,但 Coding Agent 工具与沙箱要自行设计 |
Codex vs Claude Code
相同点很明显:两者都在本地项目中读取、修改、运行命令,也都支持仓库指令和 MCP 一类扩展。
更重要的差别在可观察的实现边界。Codex 的本地核心、协议枚举、工具路由与沙箱编排在 openai/codex 中可追踪。Claude Code 官方文档详细描述产品使用、memory 和 hooks,但不能据此声称其内部 runtime 与 Codex 同构。
参考:Claude Code overview、Memory、Hooks。
怎么选:若你重视开源本地 runtime、明确 Op/Event 集成面,Codex 更容易做源码级研究;若团队已围绕 Anthropic 生态与 hooks 建立工作流,应基于实际仓库任务评估,不必为了架构审美迁移。
Codex vs Aider
Aider 的公开设计更鲜明地围绕 Git 和 repo map。它生成面向模型的仓库地图,帮助在 token 预算内理解符号关系,并自动将变更纳入 Git 工作流。
Codex 则展示了更宽的 runtime:多类工具、审批、沙箱、事件协议、TUI/App Server 等。两者都不是简单聊天,但产品重心不同。
参考:Aider repository map、Git integration。
怎么选:希望极简终端 pair workflow、多模型和强 Git 习惯时,Aider 很有吸引力;希望研究可嵌入 runtime、工具政策和多界面事件流时,Codex 提供更多相应结构。
Codex vs Cursor Agent
Cursor 的核心优势是 IDE 原生上下文与交互:编辑器状态、代码导航、diff 审查和终端都在一个产品里。Codex CLI 则天然更适合终端、脚本、远程 shell 和宿主集成。
Cursor 是闭源产品,本章不声称其 Context、索引或 sandbox 内部一定怎样实现。只比较官方公开体验:Cursor 产品页。
怎么选:日常工作中心是图形 IDE、希望低摩擦审查时,Cursor 形态更自然;需要终端优先、自动化或研究 runtime 时,CLI/App Server 边界更合适。
Codex vs OpenAI Agents SDK
这两个最容易因同属 OpenAI 而混淆:
- Codex 是已经具备仓库探索、Shell、Patch、安全策略和编码交互的专用 Agent;
- Agents SDK 是构建 Agent 应用的通用框架,提供 runner、tools、handoffs、guardrails、sessions 和 tracing 等原语。
SDK 的 Runner 也会循环调用模型与工具,但“如何安全读写代码仓库、执行进程、应用 patch、显示 diff”仍由应用开发者负责。
参考:Running agents、Tools、Human-in-the-loop。
选择矩阵
| 你的优先级 | 优先评估 |
|---|---|
| 开源 runtime 与源码级可追溯 | Codex、Aider |
| IDE 原生工作流 | Cursor Agent |
| 终端 Agent 与成熟产品体验 | Codex、Claude Code、Aider |
| 多模型 Git pair programming | Aider |
| 自建非编码 Agent 产品 | OpenAI Agents SDK |
| 深度自定义编码安全边界 | Codex App Server/源码,或基于 SDK 自建 |
下一章不再比较,而是提炼这些结构,动手 实现最小 Coding Agent。