找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1352

积分

0

好友

172

主题
发表于 昨天 03:37 | 查看: 1| 回复: 0

本文基于 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
  • 其他

因此,最近也多花了一些时间去对 Codex 多做了一些了解,比如:

GPT 的 codex 系列模型是和 Codex 框架一同训练出来的,也就是说,codex 系列模型和 Codex 框架互为 native!因此,如果你想把 gpt-5.3-codex 的能力发挥到最大,最好是配合 Codex(VS Code 插件/CLI/桌面应用)一起使用,而不是非要把它搞到 Claude Code 里面去!

以上只是一个很小的例子,下文是写给对 Codex 感兴趣的朋友们的,希望 Codex 也能帮你提高效率~

后续争取多出一些关于Codex的相关文章!

OpenAI 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 理解为三个层次的有机结合:

  1. 模型层(Model) —— 提供核心智能
    • OpenAI 的旗舰编程模型(如 gpt-5.3-codex)
    • 在响应前执行结构化推理
    • 理解代码逻辑、架构设计和最佳实践
  2. 框架层(Harness) —— 连接真实环境
    • 开源的执行框架,实现“执行”而非仅仅是“建议”
    • 使用 “compaction” 等技术管理上下文窗口
    • 让模型能够真正操作文件、运行命令、测试代码
  3. 界面层(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界面截图,展示Vite + Vue 3 + TypeScript项目的并行任务与代码编辑

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

  1. 新建线程时选择 “Worktree” 模式
  2. 选择基础分支(main、feature 或当前未提交的更改)
  3. 发送 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 任务:

  1. 点击 “Run in Cloud” 按钮
  2. 任务在后台云端执行
  3. IDE 内预览更改并应用 diff
  4. 保留对话上下文

模型切换与推理强度

  • 聊天输入框下方切换模型
  • 调整推理强度: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 中可见,反之亦然
  • 状态同步:文件更改双向实时反映

配置方法:

  1. 在 Codex App 设置中开启 “IDE Sync”
  2. IDE 扩展中登录同一账号
  3. 自动同步,无需额外配置

2.5 Cloud 模式—— 后台执行的形态

Cloud 模式让 Codex 在 OpenAI 的云端环境中执行任务,不占用本地资源。

2.5.1 使用场景

  • 长时间任务:几小时的代码分析、重构
  • 并行计算:同时处理多个独立任务
  • 后台执行:关闭电脑,任务继续运行
  • GitHub 集成:自动创建 Pull Request

2.5.2 设置

  1. 访问 https://chatgpt.com/codex
  2. 连接 GitHub 账号
  3. 授权 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 配置文件位置与优先级

优先级从高到低:

  1. CLI 标志--config key=value
  2. Profile 配置--profile <name>
  3. 项目配置.codex/config.toml
  4. 用户配置~/.codex/config.toml
  5. 系统配置/etc/codex/config.toml
  6. 内置默认值

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(通知)

功能需求:

  1. API 端点管理(CRUD)
  2. 定时健康检查(HTTP GET,记录响应时间和状态码)
  3. 异常告警(连续 3 次失败发送 Slack)
  4. 历史数据查询接口
  5. Web 仪表板(显示当前状态、响应时间图表、告警历史)

请先给出:

  1. 项目结构设计
  2. 数据库 schema
  3. 核心模块代码框架

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 的实战心得,欢迎到 云栈社区 一起探讨。




上一篇:Google WebMCP 标准详解:浏览器 Agent 性能提升 89% Token 节省与 97.9% 成功率
下一篇:AiShort (ChatGPT-Shortcut):开源Prompt管理工具,提升AI交互效率
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 09:00 , Processed in 0.639615 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表