本文基于 OpenAI 官方文档撰写,确保所有信息准确可靠。
开篇:为什么是 Codex?
为什么要写这篇文章?
在之前的文章中,我反复提到 gpt-5.3-codex 有个能力是“一击必杀”。截至目前,我遇到的所有 Vibe Coding 相关的问题,几乎其他所有大模型(包括 Opus)和 Coding Agent 都需要若干次才能搞定的问题,gpt-5.3-codex(推理强度=high)全部是一击必杀,绝无例外!
当然,你要忍受 gpt-5.3-codex 每个任务都要跑个十分钟起步...最长几个小时也不稀奇。
你一旦适应了这个节奏,你会惊奇的发现,你的 Vibe Coding 习惯会发生巨大的变化。从前你总是需要提心吊胆,担心 Coding Agent 不知在某个隐秘的角落里给你堆出了一座屎山,但有了 gpt-5.3-codex,你几乎完全无须有这种担心了!所以,即便其他家的大模型和 Coding Agent 也在飞速进化中,但,对我来说,现在大模型/Coding Agent 只有两种:
因此,最近也多花了一些时间去对 Codex 多做了一些了解,比如:
GPT 的 codex 系列模型是和 Codex 框架一同训练出来的,也就是说,codex 系列模型和 Codex 框架互为 native!因此,如果你想把 gpt-5.3-codex 的能力发挥到最大,最好是配合 Codex(VS Code 插件/CLI/桌面应用)一起使用,而不是非要把它搞到 Claude Code 里面去!
以上只是一个很小的例子,下文是写给对 Codex 感兴趣的朋友们的,希望 Codex 也能帮你提高效率~
后续争取多出一些关于Codex的相关文章!

第一章:Codex 到底是什么?
1.1 官方定义 vs 实际体验
官方说法:
Codex 是 OpenAI 开发的编程助手,用于软件开发。它可以帮助你编写代码、理解陌生代码库、审查代码、调试问题以及自动化开发任务。
实际体验:
Codex = 一个愿意花 10+ 分钟思考一次性给你写出生产级代码的狠角色
1.2 Codex vs 其他 Coding Agent
| 维度 |
Codex |
其他 Agent |
| 推理时间 |
10 分钟起步 |
几秒到几分钟 |
| 输出质量 |
一击必杀 |
需要多次迭代 |
| 屎山风险 |
极低 |
中-高 |
| 适合场景 |
复杂任务、生产代码 |
快速原型、简单任务 |
| 模型集成 |
Native 集成 |
插件式调用 |
1.3 为什么 Codex 能一击必杀?
核心原因:模型和框架一同训练
- Codex 模型不是“通用模型 + 代码微调”
- 它是和 Codex 框架一起训练出来的
- 这意味着:模型理解框架的内部机制,框架理解模型的输出模式
- 结果:更少的误解、更准确的输出、更少的迭代
更深层理解:Codex 的三层架构
开发者 Gabriel Chua 提出了一个精辟的视角,将 Codex 理解为三个层次的有机结合:
- 模型层(Model) —— 提供核心智能
- OpenAI 的旗舰编程模型(如 gpt-5.3-codex)
- 在响应前执行结构化推理
- 理解代码逻辑、架构设计和最佳实践
- 框架层(Harness) —— 连接真实环境
- 开源的执行框架,实现“执行”而非仅仅是“建议”
- 使用 “compaction” 等技术管理上下文窗口
- 让模型能够真正操作文件、运行命令、测试代码
- 界面层(Surfaces) —— 多样化交互方式
- Codex App:支持并行工作流的桌面应用
- CLI:终端和 CI/CD 集成
- VS Code 扩展:在编辑器内迭代
- Mini:轻量级远程任务执行
Chua 的关键洞察:“模型和框架不是后来拼凑的,而是一起设计的”(“The model and the harness aren‘t separate pieces assembled later — they’re co-designed.”)
这正是 Native Coding 的本质——不是把模型塞进现成的工具,而是从底层就开始协同设计。
1.4 Codex 的能力边界
能做什么:
- ✅ 编写生产级代码
- ✅ 理解复杂代码库
- ✅ 代码审查和优化
- ✅ 调试和修复问题
- ✅ 自动化开发任务
- ✅ 多步骤项目规划
重要提醒:
Codex 写的代码,你仍然需要 review。它不是魔法,是工具。
第二章:Codex 的四种形态——完整配置指南
这是本文最重要的章节。Codex 的强大之处在于它提供了四种不同的使用形态(官方称为 “Surfaces”),每种形态都有其独特的优势和适用场景。理解这四种形态的区别和配置方法,是掌握 Codex 的关键。
2.1 形态概览
| 形态 |
适用场景 |
核心优势 |
平台支持 |
| Codex App |
主力开发、并行任务、Git 工作流 |
并行多任务、Worktree、自动化 |
macOS (Apple Silicon) |
| CLI |
终端操作、CI/CD 集成、脚本化 |
功能最完整、开源、可编程 |
macOS/Linux/Windows |
| IDE 扩展 |
代码编辑、实时迭代、无缝集成 |
编辑器内直接交互、上下文感知 |
VS Code/Cursor/Windsurf/JetBrains |
| Cloud |
后台任务、并行计算、GitHub 集成 |
云端执行、不占用本地资源、自动 PR |
Web |
2.2 Codex App(桌面应用)—— 最推荐的形态

Codex App 是“专注于并行处理 Codex 任务的桌面体验,内置 worktree 支持、自动化和 Git 功能”。如果你是 macOS 用户,这是最推荐的使用方式。
2.2.1 安装与初始化
1. 下载:https://persistent.oaistatic.com/codex-app-prod/Codex.dmg
2. 用 ChatGPT 账号或 OpenAI API Key 登录
3. 选择项目文件夹
4. 选择模式(Local/Worktree/Cloud),发送第一条消息
2.2.2 三种工作模式
Local 模式
- 直接在项目目录工作
- 适合快速原型、小改动
- 修改立即反映在本地文件系统
Worktree 模式(推荐)
- 为每个任务创建独立的 Git worktree
- 更改完全隔离,不影响主分支
- 支持并行开发多个功能
- 自动清理(4天或超过10个worktree时)
Cloud 模式
- 任务在云端执行
- 本地电脑可以关机
- 完成后应用 diff 到本地
2.2.3 核心功能详解
并行多任务
一个窗口可同时运行多个任务,自由切换。如果你在一个仓库中有多个应用或包,建议将不同的项目拆分为独立的 App 项目。
操作方式:
- 点击侧边栏 “+” 添加新项目
- 使用 Cmd+数字 快速切换
- 任务在后台继续运行
内置 Git 工具
无需离开 App 即可完成 Git 操作:
- 查看 diff:点击文件查看更改
- 行内评论:在特定行添加评论
- 分块 stage:选择性提交部分更改
- 创建 PR:直接推送到 GitHub 并创建 Pull Request
集成终端
每个线程有独立终端(Cmd+J 切换):
# 常用命令
git status
git pull --rebase
npm test
pnpm dev
语音输入
按住 Ctrl+M 口述需求,自动转为文字。
悬浮窗口
可将线程弹出为独立窗口,支持“置顶”显示。
IDE 同步
当 Codex App 和 VS Code 扩展同时打开同一项目时:
- 自动同步 Auto Context(自动跟踪查看的文件)
- 线程状态双向可见
- 文件更改实时反映
2.2.4 Git Worktrees 详解
Worktrees 是 Codex App 最强大的功能之一,让你可以在同一仓库的多个分支上并行工作。
创建 Worktree:
- 新建线程时选择 “Worktree” 模式
- 选择基础分支(main、feature 或当前未提交的更改)
- 发送 prompt,Codex 在 detached HEAD 状态的 worktree 中工作
两种工作流:
方式一:只在 Worktree 工作
- 使用 “Create branch here” 转换为分支
- 提交、推送、创建 PR
- 添加到侧边栏永久访问
方式二:与本地同步
- 使用 “Sync with local”
- Overwrite:完全匹配源到目标
- Apply:补丁方式,保留目标历史
高级技巧:
- 可在同一 feature 分支创建多个 worktree,将工作拆分为并行线程
- 使用 Local Environments 管理 worktree 依赖
2.2.5 Automations(自动化)
将 Skills 与自动化结合,实现“无人值守”的后台任务。
工作原理:
- 自动化在 Codex App 本地运行(App 需要保持运行)
- Git 仓库:每个自动化运行在新 worktree 中,不干扰主分支
- 非 Git 项目:直接在项目目录运行
创建自动化:
- Schedule:设置运行时间(定时任务)
- Prompt:定义 Codex 要执行的操作
典型用例:
1. 代码审查自动化:每次提交后自动运行 /review
2. 文档更新:监控代码变更,自动更新 API 文档
3. Bug 修复:从遥测数据中检测错误并提交修复
4. 自我改进:扫描会话文件,基于问题更新 skills
安全配置:
- 自动化使用
approval_policy = “never”(如果允许)
- 沙盒模式:建议使用 read-only 或 workspace-write
- 管理员可通过
requirements.toml 限制
2.2.6 Local Environments(本地环境)
定义项目特定的环境设置脚本和快捷操作。
配置位置:项目根目录的 .codex/ 文件夹
Setup Scripts(初始化脚本):
创建新 worktree 时自动运行。
# .codex/local-env.toml
[setup]
commands = [
“npm install“,
“npm run build”
]
# 平台特定覆盖
[setup.macos]
commands = [“brew install ffmpeg”]
[setup.linux]
commands = [“apt-get install ffmpeg”]
Actions(快捷操作):
在 Codex App 顶部栏显示为快捷按钮。
[actions]
run = “npm start“
test = “npm test”
lint = “npm run lint“
# 带图标的动作
[actions.deploy]
command = “npm run deploy“
icon = “rocket”
可提交的模板:
将 .codex/local-env.toml 提交到 Git,团队成员共享相同配置。
2.3 CLI(命令行工具)—— 最灵活的形态
Codex CLI 是开源的 Rust 程序,功能最完整,适合终端操作和自动化集成。
2.3.1 安装
# npm 安装
npm install -g @openai/codex
# 升级
npm install -g @openai/codex@latest
# 登录
codex login
# 或指定方式
codex login --with-api-key
平台支持:macOS、Linux、Windows 全平台支持
2.3.2 使用模式
交互模式(默认)
启动全屏终端 UI:
codex
# 直接带 prompt
codex “帮我重构这个函数“
# 完整自动模式(无需确认)
codex --full-auto “修复所有 bug”
非交互模式(脚本化)
# 执行单个命令,输出 JSON
codex exec --json “分析这个文件” > result.json
# 输出最后消息到文件
codex exec --output-last-message result.txt “生成报告“
# 不保存会话(一次性)
codex exec --ephemeral “临时任务”
恢复会话
# 列出所有会话
codex resume --all
# 恢复最后一个
codex resume --last
# 恢复指定会话
codex resume <SESSION_ID>
# Fork 会话到新线程
codex fork --last
2.3.3 核心功能
模型切换
# 命令行指定
codex --model gpt-5.3-codex “任务“
# 交互模式内切换
/model gpt-5-codex
推理强度调整
# 低强度(快速)
codex --config model_reasoning_effort=low “简单任务“
# 高强度(深度思考)
codex --config model_reasoning_effort=high “复杂架构设计”
图片输入
# 单张图片
codex -i screenshot.png “把这个 UI 实现出来“
# 多张图片
codex --image design1.png,design2.png “对比这两个设计”
代码审查
# 交互模式内执行
/review
# 审查特定提交
/review against main
# 审查未提交的更改
/review uncommitted
网页搜索
# 实时搜索(需要 full access)
codex --search “查找最新的 React 19 文档“
# 或通过配置
codex --config web_search=live “搜索最新信息”
多智能体(实验性)
# 启用多智能体
codex --enable multi_agent “并行处理这个大型项目”
MCP 管理
# 添加 MCP 服务器
codex mcp add context7 -- npx -y @upstash/context7-mcp
# 列出所有 MCP
codex mcp list
# 移除 MCP
codex mcp remove context7
2.3.4 命令行选项完整参考
| 全局选项: |
选项 |
说明 |
示例 |
--model, -m |
指定模型 |
--model gpt-5-codex |
--ask-for-approval, -a |
审批策略 |
-a never |
--sandbox, -s |
沙盒模式 |
-s read-only |
--full-auto |
全自动模式 |
--full-auto |
--image, -i |
附加图片 |
-i screenshot.png |
--search |
启用实时搜索 |
--search |
--profile, -p |
使用配置 profile |
-p work |
--config |
覆盖配置项 |
--config web_search=live |
子命令:
# 云任务
codex cloud list # 列出云任务
codex cloud exec --env prod “部署” # 在指定环境执行
codex apply <TASK_ID> # 应用云任务的 diff
# 会话管理
codex resume # 恢复会话
codex fork # Fork 会话
# 工具
codex completion bash # 生成 shell 补全
codex sandbox -- ls # 在沙盒中运行命令
# 功能标志管理
codex features list # 列出功能标志
codex features enable multi_agent # 启用功能
codex features disable <feature> # 禁用功能
# 执行策略检查
codex execpolicy check --rules ~/.codex/rules -- git status
# 打开 Codex App
codex app /path/to/project # 在指定项目打开 App
2.4 IDE 扩展(VS Code/Cursor/Windsurf)—— 最集成的形态
IDE 扩展让你在编辑器内直接与 Codex 交互,无需切换窗口。
2.4.1 安装
VS Code:
1. 打开扩展面板 (Cmd+Shift+X)
2. 搜索 “OpenAI Codex”
3. 安装并登录
Cursor/Windsurf:
1. Cursor: vscode:extension/openai.chatgpt
2. Windsurf: windsurf:extension/openai.chatgpt
JetBrains:单独的安装包,参见官方文档。
2.4.2 核心功能
编辑器上下文感知
- 自动使用打开的文件和选中的代码作为上下文
@filename 语法引用特定文件
- 右键菜单快速操作
| 三种审批模式 |
模式 |
说明 |
适用场景 |
| Chat |
只聊天,不做更改 |
询问、规划 |
| Agent(默认) |
自动读写文件、运行命令 |
日常开发 |
| Agent (Full Access) |
包含网络访问 |
需要搜索时使用 |
Cloud 任务委托
从 IDE 启动 Cloud 任务:
- 点击 “Run in Cloud” 按钮
- 任务在后台云端执行
- IDE 内预览更改并应用 diff
- 保留对话上下文
模型切换与推理强度
- 聊天输入框下方切换模型
- 调整推理强度:minimal/low/medium/high/xhigh
- 高强度适合复杂任务,但消耗更多 token
| 快捷键 |
快捷键 |
功能 |
| Cmd+Shift+A |
打开 Codex 面板 |
| Cmd+Enter |
发送消息 |
| Shift+Enter |
换行 |
| @ |
引用文件 |
2.4.3 IDE 与 App 同步
当同时打开 Codex App 和 IDE 扩展:
- Auto Context 同步:IDE 中查看的文件自动作为上下文
- 线程同步:在 IDE 启动的线程在 App 中可见,反之亦然
- 状态同步:文件更改双向实时反映
配置方法:
- 在 Codex App 设置中开启 “IDE Sync”
- IDE 扩展中登录同一账号
- 自动同步,无需额外配置
2.5 Cloud 模式—— 后台执行的形态
Cloud 模式让 Codex 在 OpenAI 的云端环境中执行任务,不占用本地资源。
2.5.1 使用场景
- 长时间任务:几小时的代码分析、重构
- 并行计算:同时处理多个独立任务
- 后台执行:关闭电脑,任务继续运行
- GitHub 集成:自动创建 Pull Request
2.5.2 设置
- 访问 https://chatgpt.com/codex
- 连接 GitHub 账号
- 授权 Codex 访问你的仓库
2.5.3 工作方式
从 App/IDE 启动:
1. 选择 “Cloud” 模式
2. 选择环境(可自定义 setup 步骤和工具)
3. 发送任务
4. 关闭 App,任务继续运行
5. 完成后通知,应用 diff 到本地
从 GitHub 触发:
在 Issue 或 PR 评论中 @codex
例如:“@codex 修复这个 bug”
Codex 自动创建 PR 解决问题
2.5.4 环境配置
自定义 Cloud 环境的 setup 步骤:
# Cloud 环境配置
dependencies = [“python”, “nodejs”, “docker”]
setup_commands = [
“pip install -r requirements.txt“,
“npm install”
]
网络访问:
- 可配置是否允许访问公共互联网
- 敏感操作需要额外确认
2.5.5 Cloud vs Local 对比
| 特性 |
Cloud |
Local |
| 执行位置 |
OpenAI 云端 |
你的机器 |
| 后台运行 |
✅ 关闭电脑继续 |
❌ 需要保持运行 |
| 并行任务 |
✅ 支持 |
受本地资源限制 |
| GitHub PR |
✅ 自动创建 |
需手动推送 |
| 本地文件访问 |
通过 GitHub |
直接访问 |
| 适用场景 |
长时间/并行任务 |
实时交互开发 |
2.6 配置系统详解
Codex 使用 TOML 格式的配置文件,支持多层覆盖。
2.6.1 配置文件位置与优先级
优先级从高到低:
- CLI 标志(
--config key=value)
- Profile 配置(
--profile <name>)
- 项目配置(
.codex/config.toml)
- 用户配置(
~/.codex/config.toml)
- 系统配置(
/etc/codex/config.toml)
- 内置默认值
2.6.2 核心配置项
模型配置:
# 默认模型
model = “gpt-5.3-codex“
# 推理强度:minimal | low | medium | high | xhigh
model_reasoning_effort = “high“
# 推理摘要详细程度:auto | concise | detailed | none
model_reasoning_summary = “detailed“
# 输出详细程度:low | medium | high
model_verbosity = “medium“
# 自动压缩上下文阈值(token 数)
model_auto_compact_token_limit = 32000
审批与沙盒:
# 审批策略:untrusted | on-request | never
# untrusted: 需要确认所有操作
# on-request: 需要确认外部/网络访问
# never: 全自动(谨慎使用)
approval_policy = “on-request“
# 沙盒模式:read-only | workspace-write | danger-full-access
sandbox_mode = “workspace-write“
# workspace-write 的额外配置
[sandbox_workspace_write]
writable_roots = [“/tmp”, “/var/log”]
network_access = true
网页搜索:
# 搜索模式:disabled | cached | live
web_search = “cached“
# cached: 使用缓存结果(默认,速度快)
# live: 实时搜索(需要更多权限)
# disabled: 关闭搜索
通知设置:
# 通知方式
notify = [“osx”, “slack”]
# TUI 通知配置
[tui]
notifications = true
notification_method = “osc9” # osc9 | bel | auto
历史记录:
[history]
persistence = “save-all” # save-all | none
max_bytes = 104857600 # 100MB
MCP 服务器:
[mcp_servers.context7]
command = “npx“
args = [“-y”, “@upstash/context7-mcp”]
[mcp_servers.figma]
url = “https://mcp.figma.com/mcp“
bearer_token_env_var = “FIGMA_OAUTH_TOKEN”
# MCP 详细配置
[mcp_servers.github]
command = “npx“
args = [“-y”, “@github/mcp-server”]
enabled = true
required = false # 启动失败不阻断
startup_timeout_sec = 30
tool_timeout_sec = 120
env = { GITHUB_TOKEN = “${GITHUB_TOKEN}” }
多智能体(实验性):
[features]
multi_agent = true
[agents]
max_threads = 4
[agents.architect]
description = “负责架构设计“
config_file = “architect.toml”
[agents.implementer]
description = “负责代码实现“
config_file = “implementer.toml”
Skills:
[skills.config]
path = “/path/to/custom-skill“
enabled = true
Profile 配置:
# 默认使用的 profile
profile = “work“
[profiles.work]
model = “gpt-5-codex“
model_reasoning_effort = “high”
web_search = “live“
[profiles.personal]
model = “gpt-5.3-codex“
model_reasoning_effort = “medium”
approval_policy = “never”
2.6.3 项目级配置
在项目根目录创建 .codex/config.toml:
# 项目特定配置
model = “gpt-5.3-codex“
approval_policy = “on-request”
# 项目特定说明(注入到每次会话)
developer_instructions = “”“
这是一个 Python 项目,使用 FastAPI 框架。
请始终使用 async/await 模式。
测试使用 pytest。
”“”
AGENTS.md 支持:
在项目根目录创建 AGENTS.md,Codex 会自动读取作为项目说明:
# 项目说明
## 架构
- 使用 Clean Architecture
- 领域层在 src/domain/
- 应用层在 src/application/
## 编码规范
- 所有函数必须有类型注解
- 使用 black 格式化
- 提交前运行 pre-commit
## 测试
- 单元测试:pytest tests/unit/
- 集成测试:pytest tests/integration/
2.6.4 管理员配置(requirements.toml)
企业环境可创建 requirements.toml 强制执行安全策略:
# 允许的审批策略
allowed_approval_policies = [“on-request”, “never”]
# 允许的最大沙盒权限
allowed_sandbox_modes = [“read-only”, “workspace-write”]
# 允许的网页搜索模式
allowed_web_search_modes = [“disabled”, “cached”]
# 允许的 MCP 服务器白名单
[mcp_servers.allowed]
context7 = { identity = { command = “npx -y @upstash/context7-mcp” } }
# 命令规则
[rules]
prefix_rules = [
{
pattern = [{ token = “rm” }, { token = “-rf” }],
decision = “forbidden”,
justification = “禁止强制删除文件”
}
]
2.6.5 完整配置示例
#:schema https://developers.openai.com/codex/config-schema.json
# === 基础配置 ===
model = “gpt-5.3-codex“
model_reasoning_effort = “high”
model_verbosity = “medium”
# === 安全设置 ===
approval_policy = “on-request“
sandbox_mode = “workspace-write”
# === 功能配置 ===
web_search = “cached“
[features]
multi_agent = false
shell_tool = true
# === MCP 服务器 ===
[mcp_servers.context7]
command = “npx“
args = [“-y”, “@upstash/context7-mcp”]
[mcp_servers.playwright]
command = “npx“
args = [“-y”, “@executeautomation/playwright-mcp-server”]
# === 通知 ===
[tui]
notifications = true
animations = true
# === 历史记录 ===
[history]
persistence = “save-all“
max_bytes = 104857600
# === Profile ===
[profiles.fast]
model = “gpt-5-codex“
model_reasoning_effort = “low”
[profiles.deep]
model = “gpt-5.3-codex“
model_reasoning_effort = “xhigh”
approval_policy = “on-request”
2.7 如何选择合适的形态
决策树:
你是 macOS (Apple Silicon) 用户?
├── 是 → 需要并行处理多个任务?
│ ├── 是 → 使用 Codex App
│ └── 否 → 喜欢终端操作?
│ ├── 是 → 使用 CLI
│ └── 否 → 使用 Codex App
└── 否 → 使用 VS Code/Cursor?
├── 是 → 使用 IDE 扩展
└── 否 → 需要脚本化/CI 集成?
├── 是 → 使用 CLI
└── 否 → 使用 Web 版或 CLI
| 组合使用建议: |
场景 |
推荐组合 |
| 主力开发 |
App(主力)+ IDE 扩展(快速编辑) |
| 团队协作 |
Cloud(后台任务)+ App(代码审查) |
| CI/CD 集成 |
CLI(自动化脚本)+ Cloud(并行测试) |
| 快速原型 |
IDE 扩展(实时迭代) |
| 大型重构 |
App(Worktree 隔离)+ Cloud(长时间运行) |
第三章:提示词工程——如何让 Codex 听懂你的需求
3.1 好提示词 vs 烂提示词
烂提示词:
帮我写个程序
好提示词:
用 Python 写一个异步 HTTP 客户端,支持:
1. GET/POST/PUT/DELETE 方法
2. 超时控制(默认 30 秒)
3. 自动重试(最多 3 次,指数退避)
4. 请求/响应日志
5. 使用 aiohttp 库,不要用 requests
3.2 提示词公式
目标 + 技术栈 + 输入输出 + 约束条件 + 质量要求 = 完美提示词
拆解示例:
【目标】写一个批量处理 Excel 文件的工具
【技术栈】Python + pandas + openpyxl
【输入】./input 目录下的所有 .xlsx 文件
【输出】汇总到 summary.xlsx,生成 report.txt
【约束】
- 只读取每个文件的 B 列
- 跳过空文件并记录日志
- 处理大文件时分块读取
【质量要求】
- 添加类型注解
- 每个函数有文档字符串
- 异常处理要具体
3.3 迭代式提问
Codex 支持多轮对话,善用追问:
第一轮:
写一个 FastAPI 用户认证接口
第二轮(发现缺少 JWT):
加上 JWT token 生成和验证,用 HS256 算法
第三轮(添加刷新机制):
再添加 refresh token 机制,access token 15 分钟过期,refresh token 7 天
第四轮(添加速率限制):
登录接口需要速率限制,每分钟最多 10 次请求
3.4 让 Codex 解释代码
遇到看不懂的代码,直接问:
请逐行解释这段代码的逻辑,特别是:
1. 这个装饰器的作用是什么
2. 为什么这里要用异步
3. 异常处理的覆盖范围
3.5 调试技巧
代码报错了?直接复制错误信息:
代码运行报错:
Traceback (most recent call last):
File “main.py“, line 42, in <module>
result = process_data(data)
File “main.py“, line 28, in process_data
return data.groupby(‘category’).sum()
File “/venv/lib/python3.10/site-packages/pandas/core/groupby/groupby.py”, line 1234, in sum
return self._agg_general()
ValueError: No numeric types to aggregate
数据文件格式:
```csv
id,category,value
1,A,100
2,B,200
帮我分析问题原因并修复
## 第四章:实战——用 Codex 构建生产级工具
### 4.1 项目一:API 监控服务
**需求**:
* 监控 50+ API 端点的可用性
* 每 5 分钟检查一次
* 异常时发送 Slack 通知
* 历史数据存入 PostgreSQL
* 提供 Web 仪表板查看状态
**提示词**:
设计一个 API 监控系统,技术栈:
- Python + FastAPI(后端)
- PostgreSQL(数据存储)
- React + Recharts(前端仪表板)
- APScheduler(定时任务)
- Slack SDK(通知)
功能需求:
- API 端点管理(CRUD)
- 定时健康检查(HTTP GET,记录响应时间和状态码)
- 异常告警(连续 3 次失败发送 Slack)
- 历史数据查询接口
- Web 仪表板(显示当前状态、响应时间图表、告警历史)
请先给出:
- 项目结构设计
- 数据库 schema
- 核心模块代码框架
Codex 会输出:
project/
├── app/
│ ├── main.py # FastAPI 入口
│ ├── models.py # SQLAlchemy 模型
│ ├── schemas.py # Pydantic 模型
│ ├── api/ # API 路由
│ │ ├── endpoints.py
│ │ └── deps.py
│ ├── services/ # 业务逻辑
│ │ ├── monitor.py # 监控服务
│ │ └── notifier.py # 通知服务
│ └── db/ # 数据库配置
├── frontend/ # React 前端
├── scheduler.py # 定时任务
├── config.py # 配置管理
└── requirements.txt
然后逐步实现每个模块。
4.2 项目二:数据管道自动化
需求:
- 每天从 S3 拉取原始数据
- 执行数据清洗和转换
- 加载到数据仓库
- 生成质量报告
- 失败时重试并通知
提示词框架:
构建一个 ETL 数据管道,使用:
- Python + Apache Airflow(编排)
- boto3(S3 访问)
- pandas(数据处理)
- SQLAlchemy(数据加载)
数据流:
S3 (raw) → 清洗 → 转换 → PostgreSQL (analytics)
请实现:
1. Airflow DAG 定义
2. 数据处理任务
3. 错误处理和重试机制
4. 数据质量检查
4.3 项目三:CLI 工具开发
需求:
- 内部使用的命令行工具
- 支持多个子命令
- 配置文件管理
- 进度条和日志
提示词示例:
用 Python 的 Click 库写一个 CLI 工具,包含以下命令:
deploy:
- 从配置读取部署目标
- 打包项目
- SCP 上传到服务器
- 执行远程部署脚本
config:
- 初始化配置文件
- 编辑配置
- 验证配置
logs:
- 拉取远程日志
- 支持 grep 过滤
- 实时 tail 模式
要求:
- 使用 rich 库美化输出
- 添加 --dry-run 选项
- 支持 verbose 模式
第五章:进阶技巧
5.1 自定义 Rules
Codex 支持自定义规则,让它遵循特定的编码规范。
创建规则文件:~/.codex/rules/default.rules
# 规则示例:始终使用 async/await
rule async_first:
when: “用户请求编写 I/O 相关代码“
then: “优先使用异步实现”
priority: high
# 规则示例:添加类型注解
rule type_annotations:
when: “生成 Python 代码“
then: “所有函数必须有类型注解”
priority: medium
# 规则示例:添加错误处理
rule error_handling:
when: “生成可能失败的代码“
then: “必须包含 try-except 和具体错误处理”
priority: high
5.2 使用 Skills 扩展能力
Skills 是 Codex 的插件系统,可以封装特定的工作流程。
内置 Skills:
skill-creator - 帮助创建新 skill
plan - 项目规划
安装更多 Skills:
$skill-installer install <skill-name>
调用方式:
- 显式:
/skills <skill-name> 或 $<skill-name>
- 隐式:Codex 根据任务自动匹配
5.3 Codex App 进阶技巧
Codex App 的详细配置方法请参考第二章(2.2.4 - 2.2.6 节)。这里补充一些实用技巧:
语音输入加速:
- 按住
Ctrl+M 口述需求,特别适合快速记录想法
悬浮窗口工作流:
- 将线程弹出为独立窗口,开启“置顶”模式
- 适合边参考文档边与 Codex 交互
| 快捷键速查: |
快捷键 |
功能 |
| Cmd+J |
切换终端 |
| Cmd+数字 |
切换项目 |
| Ctrl+M |
语音输入 |
| Cmd+Shift+N |
新建线程 |
5.4 MCP 集成
MCP(Model Context Protocol)让 Codex 能访问第三方服务。
配置示例(~/.codex/config.toml):
# Context7 - 开发者文档搜索
[mcp_servers.context7]
command = “npx“
args = [“-y”, “@upstash/context7-mcp”]
# Figma - 设计稿访问
[mcp_servers.figma]
url = “https://mcp.figma.com/mcp“
bearer_token_env_var = “FIGMA_OAUTH_TOKEN”
| 常用 MCP 服务器: |
服务器 |
用途 |
| Context7 |
开发者文档搜索 |
| Figma |
访问设计稿 |
| Playwright |
浏览器自动化 |
| GitHub |
GitHub API 访问 |
| Sentry |
错误日志查询 |
5.5 多 Agent 协作(实验性)
对于复杂任务,可以让多个 Codex agent 协作完成。
启用方式:
# ~/.codex/config.toml
[features]
multi_agent = true
使用场景:
- 大型项目规划(一个 agent 负责架构,一个负责实现)
- 代码审查(一个 agent 写代码,一个 agent 审查)
- 数据探索(多个 agent 并行分析不同数据源)
写在最后
当你渐渐习惯了 gpt-5.3-codex 的稳准狠一击必杀,你就再也回不去了...
OpenAI Codex 代表了一种全新的编程范式,它通过模型、框架和界面的深度协同,将人工智能的能力无缝融入软件开发流程。无论是构建复杂的后端架构、编写生产级代码,还是自动化繁琐的开发任务,Codex 都能显著提升开发者的效率与代码质量。希望这篇详尽的指南能帮助你快速上手,将 Codex 的强大能力应用到你的实际项目中。如果你想与其他开发者交流更多关于 AI 编程或 Codex 的实战心得,欢迎到 云栈社区 一起探讨。