☰
小白程序员必备:收藏!从零开始掌握 Codex 大模型核心技术
2026/10/13 3:18:43 网站建设 项目流程

本文深入解析 Codex 大模型的六层架构,涵盖模型、Runtime、Context、Tool、Sandbox 和 Environment 的功能与关系。通过分析 Agent Loop 的工作原理,揭示 Token 的计量方式以及 Context Window 与 Memory 的关联。文章还探讨了长任务中出现的“忘记”现象、Compaction 的作用、Sandbox 与 Approval 的区别,以及 AGENTS.md、Skills 和 MCP 如何影响 Agent 行为。最后,本文从“使用 Codex”升级到“设计 Agent 工作系统”,帮助读者全面理解并应用 Codex 大模型技术。

第一篇 认识 Codex 的六层架构

  1. 先给结论:理解 Codex,必须拆成六层

如果只记一个架构图,请记住下面这个:

上图对应的核心分工是:

层核心问题典型对象
Goal用户到底要什么?Prompt / Task
Runtime谁负责组织 Agent 的运行?Agent loop / state / policy
Model谁负责理解、推理、决策?GPT 模型
ToolsAgent 如何观察和行动?shell / file / search / MCP
SandboxAgent 被允许做到什么程度?filesystem / network / process policy
EnvironmentAgent 实际改变了什么?repo / Git / tests / services

高阶使用的关键,不是“把 Prompt 写得更长”,而是知道这六层分别能解决什么问题。


  1. Codex Agent 到底是什么?

  2. 1 它不是“一个模型”


这是理解 Codex 的第一道门槛。

很多人会把:

Codex = GPT + 编程能力

当成完整模型。

实际上,从 Agent 的角度更合理的抽象是:

Codex = Model + Agent Runtime + Context + Tools + Policy + Environment

模型负责:

  • 理解自然语言
  • 分析代码
  • 推理
  • 规划
  • 决策下一步行动
  • 产生工具调用

Runtime 负责:

  • 组织上下文
  • 管理 Agent Loop
  • 调用工具
  • 接收工具结果
  • 执行权限/沙箱策略
  • 维护任务状态
  • 将新的观察重新交给模型

所以:

模型是“大脑”,但 Agent 不是只有大脑。


  1. Agent Loop:为什么 Codex 能“自己干活”?

普通聊天更接近:

Agent 则是一个闭环:

可以抽象为:

这意味着:

Agent 的能力不是“一次回答有多好”,而是连续做出多少次正确决策,并能根据环境反馈纠错。


  1. 1 一个实际例子

用户说:

修复登录接口偶发 500。

Agent 可能经历:

1. **查看项目结构** 2. **搜索 login** 3. **找到 controller** 4. **找到 service** 5. **找到 session/cache** 6. **读取异常日志** 7. **形成假设** 8. **查看相关代码** 9. **修改代码** 10. **运行测试** 11. **测试失败** 12. **分析失败** 13. **再次修改** 14. **再测试** 15. **测试通过**

所以用户看到的是:

“修复 Bug”

而 Agent 实际完成的是:

十几次甚至更多次 Observe → Think → Act

  1. Runtime 与 Model:到底是谁在做什么?

这是高级用户非常需要建立的边界。

  1. 1 Model

Model 更像:

输入:当前 Context 输出:下一步应该说什么 / 做什么

例如:

我需要先看看 UserService。

或者产生一个 tool call。


  1. 2 Runtime

Runtime 更像:

因此:

模型决定“想做什么”,Runtime 决定“怎么执行、是否允许执行、执行结果是什么”。


第二篇 Context、Token 与 Memory

  1. Context:模型究竟“看到了什么”?

这是整个 Agent 系统最重要的概念之一。

  1. 1 Context Window 不等于项目大小

假设你的项目:

500 MB

并不意味着模型一次可以“看到 500 MB”。

模型真正面对的是:

当前这一次 inference 所提供的 context

Context 可能包括:

System / Developer instructions + Project instructions + User request + Conversation history + Tool calls + Tool results + 被读取的文件 + 搜索结果 + 其他 runtime state

  1. 2 “Agent 看过一个文件”是什么意思?

不要把它理解成:

文件永久进入模型记忆。

更准确的是:

之后如果上下文被压缩、重新开始 Session、或者相关信息没有被保留:

模型未必还拥有完整文件内容。

因此:

读取 ≠ 永久记忆。


  1. Token:到底什么东西在消耗 Token?

Token 是理解 Agent 成本和性能的基础。

OpenAI 当前模型文档将输入、缓存输入、输出等作为独立计量维度;推理模型还存在 reasoning token 支持。当前 GPT-5.3-Codex 文档显示其 context window 为 400K、最大输出为 128K,并支持 reasoning effort。

当前 GPT-5.6 Sol 的官方模型页则列出 1.05M context window、128K max output,并支持none/low/medium/high/xhigh/maxreasoning effort。


  1. 1 Token 不等于“字数”

例如:

hello world

和:

你好世界

不会简单按照字符数一比一计算。

代码、JSON、路径、日志也都会被 tokenizer 切分。

因此不要使用:

字符数 × 固定比例 = Token

这种粗糙公式。


  1. 2 Agent 的 Token 来源

可以建立下面的模型:

一次模型调用的输入 = instructions + user input + history + tool results + selected context

输出则可能包括:

final answer + tool calls

而 reasoning model 还会产生 reasoning computation。


  1. Input Token、Cached Token、Output Token、Reasoning Token

  2. 1 Input Token


模型本次调用实际接收到的输入 token。


  1. 2 Cached Input

如果请求中的部分上下文可以复用缓存,则对应部分可以按 cached input 计价。

例如当前 GPT-5.3-Codex 官方价格页面列出:

Input $1.75 / 1M Cached input $0.175 / 1M Output $14 / 1M

这意味着 cached input 的单位价格明显低于普通 input。

注意:

缓存计价不等于:

“缓存内容不占 Context。”

这是两个完全不同的问题。


  1. 3 Output Token

模型产生的输出。

包括最终回答,也可能包括工具调用相关输出。


  1. 4 Reasoning Token

Reasoning model 会投入额外的计算预算用于推理。

因此:

最终只回答 300 token

并不代表:

模型只进行了 300 token 的计算。

高级用户必须把:

Final output

和:

Model computation

分开理解。


  1. Context Window 与 Token Usage 不是一回事

这是非常容易混淆的一点。

三者不是一回事

Context Window回答:这一轮模型最多能处理多大的上下文?

Token Usage回答:这次调用实际处理/产生了多少 token?

Session回答:整个 Agent 任务过程中积累了多少状态?

所以:

Context Window ≠ 单次 Token Usage ≠ 整个 Session 的历史长度

  1. 为什么 Agent 读大量代码会变慢?

假设 Agent 做:

read A.java read B.java read C.java read D.java ... read Z.java

问题不仅是:

这些文件很大

还包括:

所以真正的问题是:

无效上下文会污染后续推理。


  1. Context Engineering:高级 Agent 使用的核心

高阶用户真正应该优化的是:

Signal / Noise Ratio

即:

有效上下文 ──────────── 全部上下文

越高越好。


  1. 1 错误方法

把整个项目全部塞给 Agent。

  1. 2 更好的方法

也就是:

Progressive Disclosure(渐进式暴露上下文)


  1. 为什么“Context 越大越好”是错误理解?

更大的 Context 提供更多容量。

但:

更多 Context ≠ 更多有效信息

如果 Context 中充满:

无关日志 旧失败尝试 重复代码 巨大 diff

模型反而更难找到重点。

所以真正应该追求:

Context Density,而不是 Context Size。


  1. 高级工作方式:Progressive Disclosure

推荐:

而不是:

一开始把所有东西全部塞进去。

这与人类高级工程师调查大型系统的方式其实非常相似。


  1. Compaction:Context 满了以后怎么办?

长任务不可能无限把所有历史保留在原始形式中。

因此 Agent 系统需要一种机制:

OpenAI 的 Responses API 已提供 conversation compaction 能力,用于将长会话上下文压缩成后续调用可继续使用的状态。


  1. 1 Compaction 不应该理解成“简单删聊天”

更准确的抽象是:

  1. 2 什么状态最值得保留?

例如:

任务目标 当前方案 已经完成 关键设计决定 失败过的方案 测试结果 剩余问题 重要约束

  1. 3 为什么 Compaction 后 Agent 可能“忘记”?

因为:

原始信息

和:

压缩后的状态

不是完全等价的。

尤其是:

低价值细节

可能被丢弃。

所以大型任务不能只依赖“聊天历史”。


  1. Memory:Codex 到底有没有记忆?

建议把“记忆”拆成 5 层。

层级例子生命周期
Context Memory当前上下文短
Session State当前任务状态Session
Project StateGit、文件、文档持久
External StateDB、Issue、服务外部持久
Product Memory产品提供的持久记忆依产品而定

  1. 1 最重要的认知

如果 Codex 第二天还能“知道”:

这个项目应该怎么测试

可能不是:

模型永久记住了。

而可能是:

AGENTS.md

仍然存在。

或者:

README docs Git

提供了状态。

因此:

工程系统里的“持久记忆”,最好不要依赖模型本身。


  1. Repository 是 Agent 的外部记忆

这是一个非常重要的高级思想。

传统程序:

程序状态 → DB / File

Agent 工程:

Agent State → Repository / docs / tests / Git / issue system

例如:

这些东西可以成为:

Agent 的外部化长期状态。


  1. Codex 的“记忆”应该怎样工程化?

不要依赖:

模型应该记得。

应该依赖:

Repository + Documentation + Tests + Git + External Systems

形成:

第三篇 能力、边界与扩展

  1. Sandbox:为什么 Agent 不能随便操作机器?

Agent 如果拥有:

模型 + Shell + Filesystem + Network

那么它已经具有非常强的计算机操作能力。

因此必须增加:

Policy Boundary

也就是 Sandbox。


  1. 1 Sandbox 的本质

不要理解为:

“限制 AI 智力”。

更准确:

限制 Agent 对执行环境拥有的能力。

可以抽象为:

  1. Sandbox 主要限制什么?

可以从几个维度理解:

Filesystem Network Process Environment Privileges

主要限制维度

Filesystem:例如:可以读取哪些路径? 可以修改哪些路径?

Network:例如:是否允许访问外部网络? 哪些网络操作被限制?

Process:例如:允许执行什么命令? 子进程有什么限制?

Environment:例如:哪些环境变量可见? 哪些 Secret 不应该暴露?

  1. Sandbox 和 Approval 不是一回事

这是高级用户一定要区分的。

Sandbox = 系统能力边界

而:

Approval = 用户授权边界

例如:

Sandbox 允许 shell

不代表:

用户已经批准某个危险操作

反过来:

用户批准

也不代表:

Sandbox 一定允许执行

所以完整判断更像:

  1. Tool:Agent 的“手”

模型本身不能直接:

ls git diff pytest

模型只能产生一个:

tool call

由 Runtime 执行。


  1. 1 Tool 的三个关键阶段

  1. 2 为什么 Tool Schema 很重要?

模型需要知道:

工具叫什么 需要什么参数 参数类型是什么 返回什么

因此工具定义本身也是模型上下文的一部分。

这也是为什么:

工具太多也可能增加 Context Noise。


  1. Skills:能力模块化

Skill 更像:

可复用工作能力

例如:

Code Review Skill Release Skill Migration Skill Incident Analysis Skill

它和 Tool 不同。

简单理解:

Skill = 怎么做 Tool = 做什么动作

例如:

Skill: 执行数据库迁移审查流程 Tool: 读取 SQL 文件 执行测试 查询数据库

  1. MCP:Agent 的外部接口层

MCP 可以理解为:

把外部系统能力以 Agent 可以发现和调用的工具形式暴露出来。

例如:

因此:

Skills = 能力 / 流程 MCP = 外部工具 / 系统接口

二者可以组合。


  1. AGENTS.md:为什么它有效?

AGENTS.md最重要的价值不是“多一个 Markdown 文件”。

而是:

把项目级行为规则从每次 Prompt 中抽离出来。

例如:

不要修改 migration 必须使用现有 logger 修改业务代码必须有测试 不要自动 push

这些是:

Project Policy

而不是某一次 Task 的临时要求。


  1. Instructions 的优先级

高级 Agent 使用必须有一个概念:

不是所有指令都拥有相同优先级。

抽象来看:

具体优先级会随运行环境而变化,不能把上图当成 Codex 内部的固定私有实现。

真正需要掌握的是:

Agent 永远不是只听最后一句 Prompt。


第四篇 可靠性与反馈闭环

  1. 为什么 Agent 会犯错?

可以把 Agent 错误分成几个类别。

五类错误来源

Model Error:模型本身判断错误。

Context Error:模型没有看到关键事实。

Tool Error:工具执行失败或返回异常。

Environment Error:例如:

依赖缺失 网络不可用 服务没启动 测试环境异常

Verification Error:没有足够好的测试告诉 Agent:

你错了。
  1. Agent Reliability 的核心公式

可以把它作为一个工程上的近似思维模型:

Agent Reliability ≈ Model Capability × Context Quality × Tool Quality × Environment Quality × Verification Quality

这不是官方数学公式,而是一个工程抽象模型。

它解释了一个非常重要的事实:

换更强模型只是提升一个乘数。

如果:

Context = 0.3 Verification = 0.2

即使模型从:

0. **8 → 0.95**

整体可靠性仍然可能很差。


  1. Test:为什么测试是 Agent 的“反馈传感器”?

Agent:

我觉得代码应该正确。

测试:

失败。

于是:

这实际上形成:

闭环控制

因此:

测试不是 Agent 工作的附属品,而是 Agent 环境中的反馈传感器。


  1. Git:为什么 Git 对 Agent 特别重要?

Git 同时提供:

State History Diff Rollback Isolation

对于 Agent 来说非常重要。

Agent 可以:

必要时:

rollback

所以:

Git 是 Agent 的“可恢复状态系统”。


第五篇 规模化:Subagent、长任务与状态

  1. Subagent:为什么多个 Agent 有时比一个 Agent 更好?

不是因为:

2 个模型 > 1 个模型

而是因为:

Context Isolation。

例如:

每个 Agent 有自己的:

任务 Context 推理路径
  1. Subagent 的真正优势

三大优势

Context Isolation:避免一个巨大上下文污染所有推理。

Parallel Exploration:不同方向可以并行调查。

Specialized Reasoning:不同 Agent 可以承担不同角色。

但 Subagent 不是免费午餐

会增加:

模型调用 Context 协调成本 结果汇总成本

所以:

并行不是越多越好。


  1. 长任务为什么越来越难?

长任务有几个典型问题:

Context 增长 Tool Output 增长 Decision 增长 错误假设累积 Context Pollution Compaction State Drift

可以理解成:

短任务 → 局部最优 长任务 → 状态管理问题

  1. 高阶 Agent 的核心能力:State Management

真正的大型 Agent 项目,不应该把所有状态都放在聊天里。

应该外部化:

  1. 1 一个好的 status.md

# Current Status ## Goal ... ## Completed - ... ## Current Step ... ## Decisions - ... ## Known Problems - ... ## Next Step ...

这样即使:

Session 结束 Context 被压缩 Agent 重新启动

仍然可以恢复工作。

最后

当下AI大模型是当下实打实的优质风口,岗位缺口大、发展前景广、薪资待遇突出,对比内卷严重、涨薪晋升困难的传统技术岗,是普通人转行逆袭的绝佳选择。

但很多想要入局大模型领域的朋友,都面临无系统学习路径、无实战资源、求职无方向的难题,一个人硬啃最容易走弯路、浪费大量时间精力。这里我结合多年一线实战与教学经验,整理出一套零基础大模型专属资料,包含:

  • 系统化学习路线图(零基础到精通)
  • 大模型学习书籍 & 文档(电子版)
  • 2026 最新行业报告
  • 项目实战 & 配套源码
  • 大厂面试真题

需要的朋友,微信扫描下方 CSDN 官方认证二维码免费领取,保证 100% 免费。

👇👇扫码免费领取全部内容👇👇

下面简单介绍一下资料包含的内容:

1、大模型系统化学习路线图

专属定制从零基础入门到企业级实战的全阶段学习体系,划分清晰的四大学习阶段,规避碎片化学习弊端,适配新手

2、0基础到进阶视频教程

配套完整高清实操教程,覆盖Prompt提示工程、RAG知识库搭建、Agent智能体开发、模型微调、部署落地等核心知识点,所有课程搭配实操演示,零基础也能轻松看懂、上手实操。

3、大模型学习书籍 & 文档

汇总30+本行业经典AI、大模型、深度学习精选书籍,涵盖理论原理、开发实战、算法基础、AI产品思维等各类内容

4、AI大模型最新行业报告

整理2024-2026年最新大模型行业白皮书、市场分析报告,清晰展现行业发展趋势、技术迭代方向、岗位需求变化,帮助学习者精准把握行业风口,找准学习和就业方向

5、大厂面试真题

汇总了常见的AI大模型面试问题、知识点梳理和面经参考,方便求职时针对性准备。

6、大模型项目实战 & 配套源码

包含GPT应用开发、RAG私有知识库、智能问答系统等多个企业级实战项目,配套完整可运行源码,从简易Demo到完整商业应用全覆盖,帮助学习者将理论转化为落地实战能力,积累项目经验。

7、适合谁学?

  • 传统后端 / Java / 前端开发,想转型 AI 应用
  • 大学生、应届生,想拿更好的 offer
  • 产品经理、运营,想武装职业竞争力
  • 技术负责人,想给团队落地提效

学习是反人性的,但回报是真金白银。技术会更新,赛道会切换,但只要你先动手,机会就永远站在你这边。

8、这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

想要入局AI大模型赛道、抢占行业红利的朋友,微信扫描下方CSDN官方认证二维码,即可100%免费领取全套学习资料!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询