首页 / Codex 教程 / 核心概念速览

Codex 教程

核心概念速览

本教程共 32 篇 · 第 2 篇 · 更新于 2026-07-26 · 约 7 分钟阅读

CodexCodex 教程智能体审批模式沙箱MCPSkills核心概念

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 沙箱(分 elevatedunelevated 两种模式)
  • 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"]
Note

MCP 是 Anthropic 提出的开放协议,Codex 和 Claude Code 都支持。你可以把它理解成「给 AI 装插头」—插什么工具,它就能用什么工具。

技能(Skill)

Skills = 可复用的指令模板,把你反复要交代的需求固化成一个可调用的技能。

比如你每次让 Codex 写代码都要求「必须有类型注解、必须有错误处理」,与其每次都打一遍,不如把这些要求写成一个 Skill,以后一句话就能触发。

Skill 是一个包含 SKILL.md 的文件夹,放在 Codex 的技能目录里。在 config.toml 里可以配置:

[[skills.config]]
path = "~/.codex/skills/code-review"
enabled = true
Tip

Skills 和 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 装到你机器上。