Appearance
AI Coding工具圈正在形成两个互不理解的回音壁——一边坚信Claude Code最强,另一边坚信Codex最强。这两种工具虽然外观相似,但底层的产品哲学和Agent设计思路其实不同,只用一种就会形成认知盲区。
Codex是什么:一个能控制你电脑的Coding Agent
Codex的本质和Claude Code一样——一个具备agentic loop的AI Agent,在你的机器上读、写、运行代码。区别是它的"操作面"已经被显著拓宽了:
- 除了通过bash控本地,还能用自己的鼠标和键盘直接驱动macOS上的GUI应用(Computer Use)
- 做原生App测试、跨应用工作流,不再受限于命令行可达的世界
底层主力模型:GPT-5.5与GPT-5.4系列
四个入口形态
| 入口 | 说明 |
|---|---|
| Codex App | Electron桌面应用,macOS与Windows都正式支持 |
| VS Code扩展 | 把Codex嵌入VS Code |
| CLI | 命令行版本,类似Claude Code |
| Codex Cloud | 云端虚拟机运行,每个会话用session ID锚定 |
一条隐藏的战略主线
Codex的工作流被刻意设计成"把工作推离本机"——大量功能围绕GitHub、围绕云端虚拟环境展开。
- Claude Code偏向"和我的本地环境共生"
- Codex偏向"把Agent变成一个可以在云端、在Slack、在PR评论里独立运转的工种"
Codex App的三种执行模式
进入Codex App后,每个项目右下角可以切换执行位置:
| 模式 | 说明 |
|---|---|
| Local | 所有命令在你当前目录里跑,和Claude Code终端没本质区别 |
| Cloud | 必须先把仓库连到GitHub,任务推到云端虚拟机执行,本机不消耗 |
| Worktrees | 原生集成Git worktree——把当前仓库克隆到另一个分支目录 |
Worktrees的价值:对个人项目用处不大,但在公司项目里几乎一定会用——因为公司代码同一时间往往要并行推进多条改动线,不希望它们互相污染。
真正的"杀手特性":项目侧边栏+持久化上下文
Codex App的核心结构是**项目(Project) → 线程(Thread)**的两层模型:
- 顶层是项目,相当于"一个仓库/一个工作目录"
- 项目下挂多个线程,每条线程相当于一个独立的会话实例
和终端使用方式的关键差异
线程是被App本身缓存的:关掉App再打开,所有上下文都在。终端模式下,一旦关闭窗口、断开SSH,会话基本就死了。
三层上下文结构
| 层级 | 说明 |
|---|---|
| 会话上下文 | 单条线程内累积的信息 |
| 线程缓存 | 关App不丢,长期保留每条线程作为可复用资产 |
| Memory | 偏好、项目约定、反复纠正的风格被自动抽取并跨session复用 |
原本要靠agents.md硬编码的"项目惯例",现在有相当一部分可以让Memory自己捕获——你只需要纠正一次。
必须记住的快捷键
| 分类 | 快捷键 | 功能 |
|---|---|---|
| 导航 | Ctrl+N | 新建线程 |
| 导航 | Cmd+B | 折叠侧栏 |
| 导航 | Cmd+Opt+B | 开关Git变更面板 |
| 导航 | Cmd+J | 开终端 |
| 导航 | Cmd+[ / Cmd+] | 在历史里前后跳 |
| 检索 | Cmd+K | 全局命令面板 |
| 检索 | Cmd+F | 模糊搜索 |
| 输入 | Ctrl+M | 启动语音听写 |
| 输入 | @ | 引用文件来构建上下文 |
| 能力调用 | / | 触发内置"原语"斜杠命令 |
| 能力调用 | $ | 触发用户自定义Skills |
一个有趣的差别:Claude Code把slash当作所有命令的统一入口,Codex则把"内置原语"和"用户技能"用两个不同符号分开。
模型与推理强度:两个独立维度
用/models列出可选模型:GPT-5.5、GPT-5.4、GPT-5.4 mini、Codex系列。Max套餐用户多一个Spark主打极速。
关键点:模型和推理强度是两个独立维度
| 推理强度 | 适用场景 |
|---|---|
| low | 简单查询 |
| medium | 日常主力 |
| high | 复杂任务 |
| extra high | 真正的硬骨头 |
实战习惯:把两个维度合在一起按任务分层匹配
| 任务类型 | 模型+推理 |
|---|---|
| 主线程默认 | GPT-5.5 + medium |
| 子Agent | 5.4 mini + low/medium |
| 大代码库、难定位bug | GPT-5.5 + extra high |
把extra high当默认是典型的浪费:既慢、又烧token、收益却不明显。
Prompting的"四大支柱"
| 支柱 | 说明 |
|---|---|
| Goal | 你到底要做什么 |
| Context | 相关的文件、文件夹、文档 |
| Constraints | 框架、架构、团队约定 |
| Done When | 完成判据,这是Codex文档里的"魔法关键词" |
一个反直觉的建议
少用@符号显式引用文件。除非你已经精准知道目标文件在哪,否则把工作交给模型自己去做语义检索,往往比人手指文件更可靠。
这一点和Claude Code社区里"喂越多文件越好"的做法形成对照。
Done When为什么重要
给Agent验证标准,是单点提升Agent质量最有效的杠杆——它让Agent从"我猜我做完了"变成"我能确认我做完了"。
Codex已经把这件事进一步产品化为持久化的/goal工作流:你可以显式创建一个带验证标准的目标,跨线程跟踪它的状态。
Plan Mode几乎是所有非琐碎任务的正确起点
用Shift+Tab切换到Plan Mode,先在plan mode里把上下文收集完、把spec谈拢,再切换到执行。
定制:让通用工具变成"你的"工具
agents.md
和Claude的claude.md等价。但agents.md是开源社区已经在事实上形成的标准命名——Open Code等其他工具也认它。
判断标准:写"模型自己看代码看不出来"的所有东西——构建命令、PR规范、团队代码评审约定,特别是遗留项目里的雷区。
Skills
可复用的工作流,用skill creator创建。Codex内置Marketplace(Sora、ImageGen、Docs、Playwright等)。
产品取向差异:Claude也有连接器市场,但藏得比较深;Codex把Skills和Plugins主动推到用户脸上。
Plugins
Skills的超集,可以打包MCP和其他能力。Plugin市场目前已经覆盖Jira、GitLab、Microsoft 365等主流企业工具栈,数量一次性扩到了九十多个。
MCP
和其他工具一致的MCP。反复强调的原则:让Codex自己装——别手动配JSON,告诉它"装一下X MCP",让Agent管理自己的环境。
子Agent:上下文保护比并行更重要
子Agent的常见叙述是"用于并行加速",但同等重要的是第二个用途:保护主线程的上下文。
很多工具调用、调研、日志解析过程会向主线程倾倒大量"噪声 token"。把这些任务剥离到子Agent里执行,主线程只接收结论摘要。
子Agent也是降级模型最自然的落脚点。调研型任务不需要顶级推理,用mini反而更快、更便宜,还顺便保护了主线程。
IDE vs 终端:一个诚实的判断
IDE形态的根本优势是富渲染
| 能力 | 说明 |
|---|---|
| 计划文档 | 可以排版、下载 |
| 图片预览 | 直接在UI里看 |
| diff | 内联点开评论 |
| In-App Browser | 直接打开本地dev server或公网页面,对元素圈点评论 |
| 原生图像生成 | gpt-image-2,mockup、UI概念在工作流内直接生成 |
加上Computer Use——Codex直接在GUI里替你点鼠标。
终端形态的天花板就是TUI
长期来看,IDE形态会赢。理由
