Codex 核心概念:Agent、Sandbox、Approval、AGENTS.md、Memory 与 Chronicle 本文主要面向刚开始使用 Codex 的开发者。本文不讲安装流程,重点解释几个最容易混淆的核心概念:Codex 到底是什么、为什么会
|
Codex 核心概念:Agent、Sandbox、Approval、AGENTS.md、Memory 与 Chronicle 本文主要面向刚开始使用 Codex 的开发者。本文不讲安装流程,重点解释几个最容易混淆的核心概念:Codex 到底是什么、为什么会被权限拦住、什么时候需要审批、项目规则应该写在哪里,以及 Memory / Chronicle 适合解决什么问题。 1. 背景很多开发者第一次使用 Codex 时,会遇到类似情况:
这些行为看起来像“不稳定”,实际大多和 Codex 的几个基础机制有关:
理解这些概念后,再使用 Codex 做代码修改、测试修复、项目分析,会更容易判断问题出在哪里。 2. Codex 为什么不是普通聊天机器人普通聊天机器人通常负责“回答问题”。你问它一段代码怎么写,它给你一段代码;你问某个报错可能是什么原因,它给你几个排查方向。 Codex 的定位更接近编程代理,也就是 Agent。 它的工作方式不是只回答,而是可以围绕一个目标完成闭环:
可以把区别理解成:
因此,Codex 的关键价值不只是“会生成代码”,而是能在代码库里完成从分析到验证的任务闭环。 3. Agent:从回答问题到执行任务Agent 可以理解为“带目标执行能力的助手”。 当你给 Codex 一个任务时,它通常会经历这样的过程:
这和普通问答最大的区别是:Codex 会动手。 例如你输入:
一个典型的 Agent 流程可能是:
这也是为什么 Codex 需要权限控制。它不仅能给建议,还可能真正修改文件、执行命令。如果没有边界,风险会比普通聊天机器人高得多。 4. Sandbox:限制 Codex 的操作边界Sandbox 可以理解为 Codex 的操作围栏。它决定 Codex 能访问哪里、能不能写文件、能不能执行某些命令。 常见沙箱模式可以这样理解:
如果 Codex 无法修改文件,先不要直接判断它“没执行”。更合理的排查顺序是:
对大多数日常开发任务来说,workspace-write 是比较合适的默认选择。 5. Approval:控制高风险操作是否需要确认Sandbox 和 Approval 容易被混在一起,但它们解决的是两个问题。
例如,当前环境是只读模式,Codex 想创建一个文件:
比较稳妥的日常组合是:
这个组合的含义是:
不建议在不熟悉的项目里直接使用高权限模式,尤其是项目中包含 .env、密钥、生产配置、客户数据时。 6. AGENTS.md:项目级规则应该写在这里AGENTS.md 可以理解为给 Codex 的项目入职手册。 项目里的很多约定不适合每次都在对话里重复,例如:
这些内容适合沉淀到 AGENTS.md。 一个简单示例:
AGENTS.md 不需要写得很长。重点是具体、可执行、可验证。 推荐写入:
不推荐写入:
如果 Codex 经常犯同一个项目级错误,不要只在对话里纠正一次,更应该把规则补进 AGENTS.md。 7. Memory 与 Chronicle:长期记忆和当前上下文Memory 和 Chronicle 都和上下文有关,但适用范围不同。 可以按下面方式区分:
关键规则应该放在 AGENTS.md,而不是只依赖 Memory。 原因是:
Chronicle 能增强 Codex 对当前工作状态的理解,但也意味着它可能接触更多屏幕上下文。处理包含密钥、客户数据、内部文档的场景时,需要谨慎开启。 8. 最小实验:观察沙箱如何拦截写文件下面用一个最小实验观察 Sandbox 和 Approval 的效果。 创建一个空目录并启动 Codex:
Windows PowerShell 可以使用:
进入 Codex 后,切换到只读或最严格权限模式:
然后输入:
如果当前是只读模式,创建文件会被拦截,因为这是写操作。此时你应该能看到 Codex 说明它需要更高权限,或者请求你确认。 再切换到工作区可写模式,让它重新创建文件。如果文件位于当前工作区内,这次应该可以正常完成。 这个实验可以帮助你直观看到:
9. 实际使用建议使用 Codex 时,可以按下面顺序检查:
如果你发现 Codex “不听话”,可以优先排查:
10. 总结Codex 的核心不是“更会聊天”,而是能围绕代码库完成任务闭环。 这也决定了使用它之前必须理解边界:
一句话总结:边界越清楚,自动化越可靠。 |
2026-06-02
2026-06-24
2026-06-01
2026-06-25
2026-05-31