1. 引言

摘要:本文系统梳理 OpenAI Codex 的核心机制与实战用法。首先介绍 Codex 的沙箱安全模型(项目内全权限、项目外需 Escalate 审批),随后讲解对话模式与 Steer 纠偏技巧、内置图像生成能力,以及借助 VS Code 和 Git 进行代码管理与回滚的协作方式。文章还深入介绍了工作树并行开发、AGENTS.md 记忆机制,以及插件、Skills、MCP 三种扩展能力,最后涵盖定时自动化、Computer Use(仅 Mac)和 Netlify 部署实践,帮助读者从入门到进阶安全高效地驾驭 Codex。

OpenAI Codex 作为一款强大的 AI 编程助手,正在改变我们与代码交互的方式。然而,很多用户对 Codex 的能力边界、安全机制以及高级用法存在误解。本文基于实际使用经验,系统梳理 Codex 的核心机制、安全模型、Git 协作方式、扩展能力(Skills、MCP、插件)以及自动化实践,帮助你从入门到进阶,真正用好这款工具。

需要说明的是,AI 工具迭代速度极快,本文所描述的功能细节可能随版本更新而变化,建议以官方文档为准。

2. 沙箱机制:Codex 的安全边界

2.1 什么是沙箱

沙箱(Sandbox)是 Honeycomb Engineering 概念的一个典型工程实现,用于约束 AI 的不可控能力并进行强制隔离。Codex 基于沙箱运行,这是其底层操作系统的机制。

2.2 Codex 沙箱的权限范围

  • 读取与修改权限:Codex 可以直接读取和修改当前项目文件夹内的所有内容,拥有项目内的完整操作权限。
  • 边界限制:Codex 不能修改沙箱外的文件,也无法直接访问外部网络(默认禁止联网)。

2.3 权限审批机制

沙箱权限审批机制就像套在马上的马具——当 Codex 需要修改沙箱外文件或访问网络时,必须提前执行 Escalate(权限升级) 操作。这一过程由人工或一个小模型进行自动审查,通过后才能放行。

实践建议:在同一个项目下,有时"清空重来"比"不断压缩修改"更高效。当项目状态混乱时,不妨考虑重新初始化。

3. 对话模式与引导技巧

3.1 复杂任务建议开启对话模式

Codex 支持对话模式(对话式交互)。对于复杂任务,建议始终开启对话模式,先与 AI 对齐任务颗粒度,明确需求和边界,再让 AI 执行。这样可以显著减少误解和返工。

3.2 Steer:控制与引导

Steer 是 Codex 中的控制引导机制。当 AI 理解错了你的意图时,不要让它继续执行,应立即介入引导,纠正方向。及时纠偏比事后返工高效得多。

3.3 利用内置浏览器与批注

Codex 内置浏览器,你可以直接在 UI 上通过添加批注的方式对页面或内容进行修改,无需切换到其他工具。

4. 图像生成能力

Codex 内置图像生成模型 GPT Image 2(gpt-image-2),可以直接在对话中生成或编辑图像。在加号(+)菜单中也可以添加图片、计划模式等更多功能。

5. 代码管理与 Git 协作

5.1 Codex 不能直接修改代码?

这是一个常见的误解。准确地说,Codex 内部不能直接管理代码版本,但你可以借助第三方 IDE(如 VS Code)进行代码管理。前提是先把项目初始化为一个 Git 工程。

提示词示例:把项目初始化为一个 Git 工程,注意排除不需要的文件(如 node_modulesdist 等)。

5.2 使用 VS Code 管理代码

将项目初始化为 Git 工程后,即可使用 VS Code 的 IDE 功能进行代码管理:

  • 在 VS Code 中点击 Source Control 按钮查看所有 Git 提交。
  • 点击 Copy Commit Hash 复制提交哈希。
  • 回到 Codex,让 AI 把代码回退到指定提交:你先把代码回退到刚刚提取的 commit hash 对应的状态

5.3 提交与回滚

  • 提交:完成一个新的功能模块后,点击提交并填写提交消息,最新代码就以 Git 的方式保存下来了。
  • 回滚:使用 Git 对开发过程进行回滚。Git 加分叉(Fork)等于回滚——分叉派生到本地,就是从你点击的位置把对话重新复制一份。

注意:分叉只能回退对话历史,不能回退代码。代码回退必须通过 Git 操作完成。

5.4 推送到 GitHub

  • 在 GitHub 上手动创建一个仓库,把目标仓库地址发给 Codex。
  • 通过对话方式执行一切 Git 与 GitHub 操作(push、pull、merge 等)。
  • 点击推送、继续,代码就同步到了 GitHub。

5.5 云端运行环境

Codex 的云端运行环境支持:

  • 先把代码全部同步到 GitHub。
  • 关联 Codex Web,把项目变成一个网页版可用的项目。
  • 在手机上完成工作,并同步到本地电脑,非常方便。
  • 创建拉取请求(PR)、查看 PR、点击 Merge 按钮合并进主干分支。
  • 本地有 Sync Changes 按钮,可同步云端变更。

6. 工作树(Worktree):并行开发

Jit Worktree(Git Worktree)允许主文件夹和分支文件夹并行工作,在两个文件夹内各自修改代码,互不干扰。

使用场景:比如想让第一个分支树专注优化"客户评价"这个部分,而主分支继续其他开发。

合并与清理

  • 分支完全可以轻松合并到主文件。
  • 在新开的对话里右键创建永久工作树,直接在对话框中输入"合并回主干"。
  • 假如这个分支是临时的,合并完成后也可以移除。

7. Agent 与记忆机制

7.1 项目级 AGENTS.md

在新对话中,AI 不知道之前发生了什么。建议创建一个通用的根目录 AGENTS.md 文件,这是 Agent 每次对话时必读的指南

提示词示例:通读当前文件夹,把你学到的关于项目的信息保留保存到 AGENTS.md 文件里,用中文来写,格式要清晰。

7.2 全局 AGENTS.md

你也可以编写全局的 AGENTS.md,在 Codex 的自定义指令中配置,对所有项目生效。

7.3 安全删除规则

在自定义指令中建议加入:

禁止批量删除文件或目录。需要删除文件时,只能一次删除一个明确的文件。如果需要批量删除文件,应停止操作,并向用户请求让用户手动删除。

7.4 记忆机制

Codex 有一个实验性的记忆功能,可以从对话中获取新的记忆。执行过程中,如果 AI 学习到了经验,还会写进一个 memory.md 文件。

8. 扩展能力:插件、Skills 与 MCP

8.1 插件(Plugins)

Codex 内置了 PPT、Word、Excel 以及 Web 检索等插件。在加号(+)菜单中也可以添加图片、计划模式等。第三方软件包也可以把自己的能力以插件的形式注入 Codex。

8.2 Skills:专业技能包

Skills 是给 AI Agent 的专业技能包,或者一份带目录的说明书。可以把工作流、专业能力或某些规范封装定制成一个个 Skill 交给 AI Agent。

三种安装 Skills 的方法

  1. 官方 Skills:Codex 官方提供的技能。
  2. 第三方 Skills:社区或第三方开发者提供的技能。
  3. 自己编写 Skills:根据自身工作流定制。

Skill 示例

  • Motion:让 AI 用代码的方式来编写、实现动画。添加 Skill 后,说"帮我生成一个 3D 圆锥摆的动画视频,注意要有受力分析、角速度、半径等关键指标的展示,角速度随时间缓慢增大"。
  • 网页版 PPT:用 AI 以某种风格制作网页版 PPT,可用于线下分享行业内部讲话,带有强烈个人风格。
  • 视频转图文教程:把视频转换为图文 Markdown 格式的图文教程,发到各个软件。把这个工作流编制成一个 Skill,后续遇到类似工作都调用它处理。

Skill 创建示例

使用 skill create 创建一个帮助我们创建技能的技能。例如,当我提供视频和字幕文件时:

  1. 第一步,读取字幕文件,转换成 Markdown 笔记。
  2. 可以提要求,比如:语言使用中文,保留必须的专有名词英文输出,只返回 Markdown,正文不要用代码块包裹,只需要一个层级的段落,使用井号(#)作为段落标题,第一个段落是引言,不需要段落标题。
  3. 还有截图占位符:如果某句涉及代码讲解、UI 交互,或者某句里提到"这里"“这么”,或者某句提到带来什么网址或地址,或者对比关键技术概念,或任何借助视觉材料能帮助理解的内容,请在该句的末尾插入一个截图提示。
  4. 第二步,截图替换:调用 fm-pg1,在每个截图提示位置截图,然后用本地图片的形式替换 Markdown 里面的截图占位符。
  5. 清理测试文件,每次只删一个(因为之前的自定义指令里增加了全局提示词,让它一次只能删一个明确路径的文件)。

之后 Codex 就会按照你点名的技能来做:先读它的流程要求,再看工作区里的视频和字幕文件,接着生成 Markdown。

8.3 MCP:模型上下文协议

MCP(Model Context Protocol,模型上下文协议) 是 AI 大模型的标准化工具箱。大模型可以利用这些工具与外界交互、获取信息并完成具体任务。

使用示例

  • 在 MCP 服务器里点击"添加 MCP 服务器"。
  • 使用 Supabase MCP 创建一个预约业务表。需求是:把用户的表单存入预约表里面,数据库写入操作应该从后端用 PostgreSQL 的方式写入。
  • Codex 就会创建预约表,在后端使用 PostgreSQL 写入数据库,并且修改前端的表单提交。
  • 需要在配置文件里填上 SQL 的连接地址。

8.4 斜杠调用

Skills 可以通过斜杠(/)方式调用插件,例如 /skill-name

9. 自动化任务

9.1 定时自动化

Codex 支持自动化任务,例如:

  • 每周五下午 4 点发邮件给指定的人。
  • 简单的自动化任务,选择 mini 模型即可。

9.2 Computer Use(电脑自动化)

Computer Use 目前只有 Mac 可以使用。它使用一个虚拟鼠标在后台运行,可以:

  • 用浏览器打开某个地址,把里面的项目进展汇总一下,做个英文简报发送给老板。
  • 用内置浏览器打开某个网站,点击签到按钮签到。
  • 用 Computer Use 打开微信,把聊天记录汇总成工作日报,发送给老板。

10. Netlify 部署

Netlify 是一个免费提供静态网页、Node.js 或 Next.js 项目部署的网络服务平台。它可以进行部署,并提供一个访问域名,而且这个网站的域名在国内是可以直连的。

11. 总结

Codex 是一个功能强大的 AI 编程助手,理解其沙箱机制、权限模型和扩展能力,能帮助你更安全、高效地使用它:

能力维度核心要点
沙箱机制项目内全权限,项目外需 Escalate 审批
对话模式复杂任务先对齐颗粒度,用 Steer 及时纠偏
Git 协作借助 VS Code 管理,Git 提交与回滚
工作树并行开发,互不干扰,轻松合并
扩展能力插件、Skills、MCP 三种方式
自动化定时任务 + Computer Use(仅 Mac)
部署Netlify 免费部署静态/Node/Next 项目

希望本文能帮助你更好地驾驭 Codex,让 AI 真正成为你的高效开发伙伴。如果你有更多实战经验,欢迎在评论区交流分享。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐