核心概念速览
本教程共 32 篇 · 第 2 篇 · 更新于 2026-07-26 · 约 7 分钟阅读
2. 核心概念速览
本节目标:把 Codex 后面所有章节都要反复用到的核心术语一次性讲透,学完不再被名词绕晕。
用 Codex 之前不搞懂几个概念,你会一直觉得它「时灵时不灵」。其实它一点没乱,是你不知道它头上戴着几道紧箍咒。
这一章就把这些概念掰开揉碎,每个用一句话讲清。
智能体(Agent)
智能体 = 能自己拆解任务、调工具、看结果、再决定下一步的 AI,不是一问一答的聊天框。
Codex 干活的方式是一个循环:调用模型,执行模型指示的动作(读文件、改文件、调工具),直到任务完成或被你取消。翻成大白话就是三个动作反复转:
- 想:读相关文件、看报错、搞清楚状况
- 做:改代码、建文件、跑命令
- 看:跑测试、看输出,不对就回头再来一轮
打个比方,普通聊天机器人像个只会查价格的客服—你问它多少钱,它告诉你,完事。Codex 像个代购:你说帮我买件均码的黑卫衣,它自己翻货、比价、下单、收到货还拆开检查尺码对不对,不对再退换。自己跑完整个流程,才是智能体和聊天框的本质区别。
任务(Task)
任务 = 你给 Codex 的一个目标,它收到后自己拆解成步骤去执行。
你可以把任务理解成一次会话里的一个请求。比如「给这个函数加类型注解」是一个任务,「跑一遍测试把失败的修好」也是一个任务。
Codex 在一个**线程(Thread)**里干活。一个线程就是一次会话,你的提问加上后续的模型输出和工具调用,一个线程里可以有好几轮对话。这意味着你看完它的结果不满意,直接补一句话让它改就行,不用从头解释需求。
审批模式(Approval Mode)
审批模式 = Codex 干活时,什么时候停下来问你、什么时候闷头干。
很多人会把审批和沙箱搞混。官方专门点了一句:沙箱定义的是技术边界,审批策略决定的是 Codex 何时必须停下来、跨界之前先问你。
打个比方,沙箱是那道门禁(物理上拦着你出不去),审批是门口保安的脾气—有的保安见谁都放,有的只拦陌生人,有的你想出门就喊一嗓子问一下。门是死的,保安的松紧是你能调的。
三种审批策略:
| 审批策略 | Codex 的行为 | 大白话 |
|---|---|---|
untrusted | 不在可信集合里的命令,跑之前先问 | 只防陌生命令 |
on-request | 默认在沙箱里干,需要出圈时才停下来问 | 最常用的平衡档 |
never | 不弹审批,闷头干 | 自动化常用,配合完全访问才有意义 |
Tip日常推荐组合:
sandbox_mode = "workspace-write"配approval_policy = "on-request"。围栏锁着、出圈才问,安全又不烦。
沙箱(Sandbox)
沙箱 = 给 Codex 画的一个圈,圈内的事它自己干,要出圈先问你。
它管两样东西:能改哪些文件、能不能联网。三种常见模式:
| 沙箱模式 | 能改文件吗 | 能联网吗 | 啥时候用 |
|---|---|---|---|
read-only(只读) | 不能 | 不能 | 只想让它读代码、做审查 |
workspace-write(工作区可写) | 仅限工作区内 | 默认不能 | 日常开发最常用 |
danger-full-access(完全访问) | 全机器 | 能 | 完全信任的环境,慎用 |
Warning
danger-full-access名字里带 danger 不是吓你的。它意味着 Codex 能在你整台机器上撒欢,只在你 100% 信任的环境用。
一个关键细节:沙箱不只管 Codex 自己的读写,它派生出去的命令也一样受限。哪怕它调用 git、包管理器、测试脚本,这些命令也都被关在同一个圈里。
平台各有各的实现:
- macOS:用系统自带的 Seatbelt 框架,开箱即用
- Windows:原生 Windows 沙箱(分
elevated和unelevated两种模式) - Linux / WSL2:需要先装
bubblewrap,沙箱才正常工作
MCP(Model Context Protocol)
MCP = 一套标准协议,让 Codex 能调用外部工具和数据源,扩展它的能力边界。
Codex 自带的能力有限—读文件、改文件、跑命令。但你想让它查数据库、调 Jira、操作浏览器呢?这就需要 MCP。
在 config.toml 的 [mcp_servers] 段配置,支持两种传输方式:
- stdio:本地启动一个进程,通过标准输入输出通信
- SSE / Streamable HTTP:连一个远程 HTTP 服务
配置长这样:
[mcp_servers.my-server]
command = "node"
args = ["server.js"]
NoteMCP 是 Anthropic 提出的开放协议,Codex 和 Claude Code 都支持。你可以把它理解成「给 AI 装插头」—插什么工具,它就能用什么工具。
技能(Skill)
Skills = 可复用的指令模板,把你反复要交代的需求固化成一个可调用的技能。
比如你每次让 Codex 写代码都要求「必须有类型注解、必须有错误处理」,与其每次都打一遍,不如把这些要求写成一个 Skill,以后一句话就能触发。
Skill 是一个包含 SKILL.md 的文件夹,放在 Codex 的技能目录里。在 config.toml 里可以配置:
[[skills.config]]
path = "~/.codex/skills/code-review"
enabled = true
TipSkills 和 AGENTS.md 的区别:AGENTS.md 是项目级的持久指令,每次开工自动读;Skills 是按需调用的,你想用的时候才触发。
子代理(Subagent)
子代理 = 主智能体派出去干活的「分身」,可以配不同的模型和推理强度。
自 v0.145.0 起,多智能体 V2 已标记为稳定。你可以让主代理用旗舰模型统筹,把简单的批量活儿派给挂着轻量模型的子代理并行跑。
配置示例:
[agents]
enabled = true
default_subagent_model = "gpt-5.6-luna"
default_subagent_reasoning_effort = "low"
打个比方,主智能体像项目经理,子代理像他手下的实习生。经理负责拆活、分配、验收,实习生负责跑腿干体力活。这种分工能让性价比最大化。
记忆(Memory)
记忆 = 让 Codex 把早先会话里学到的有用信息带到后面的工作里。
比如你的技术栈、项目惯例、踩过的坑,省得每开一个会话都重新交代。打个比方,新来的助理你得反复教「我们用 TypeScript、不写分号」;跟你三年的老搭档,你一个眼神他就懂—因为他记着你的习惯。
几个关键事实:
- 默认是关的。需要主动在
[features]段写memories = true开启 - 有地区限制。欧洲经济区、英国、瑞士暂不可用
- 不是实时更新的。它等会话闲置足够久才在后台总结成记忆
- 存在本地。默认放在
~/.codex/memories/下
Warning真正必须每次都生效的团队规矩,老老实实写进
AGENTS.md,别指望记忆。记忆是概率性的,靠它兜底重要规矩迟早翻车。
AGENTS.md
AGENTS.md = 给 Codex 的项目入职手册,写下你项目的规矩,它每次开工先读。
新员工来公司,你不会每天追在后面念叨「我们用 pnpm 不用 npm」「提交信息写中文」—你给他一本手册,他自己看。AGENTS.md 就是这本手册。
它能放在两个层级:
- 全局:
~/.codex/AGENTS.md,你的个人偏好,跨所有项目生效 - 项目:仓库根目录或子目录里的
AGENTS.md,这个项目的规矩,可以提交进 Git 全队共享
Note
AGENTS.md之于 Codex,约等于CLAUDE.md之于 Claude Code—同一个概念,换了个文件名。
小结
把这一章的核心概念收成一张表:
| 概念 | 一句话记住 |
|---|---|
| 智能体(Agent) | 会自己想->做->看的 AI,不是聊天框 |
| 任务(Task) | 你给的一个目标,它自己拆解执行 |
| 审批模式(Approval) | 出圈时问不问你,和沙箱是两个旋钮 |
| 沙箱(Sandbox) | 给它画的圈,管能改哪、能不能联网 |
| MCP | 标准协议,让 Codex 调用外部工具 |
| Skills | 可复用指令模板,按需触发 |
| 子代理 | 主代理的「分身」,可配不同模型 |
| 记忆 | 让它跨会话记住你的偏好,默认关着 |
| AGENTS.md | 项目入职手册,写下规矩它每次先读 |
Codex 不是个许愿池,而是个戴着紧箍咒的能干搭档。你的活儿是给方向、画好它能动手的圈、跑偏时拉一把。把这几个概念吃透,后面学安装、配置、使用,都是在这套地基上添砖加瓦。
下一章咱们正式动手,把 Codex CLI 装到你机器上。