· BigDog · AI 工程实验 · 36 min read
Codex 为什么能处理复杂任务
从模型能力、上下文构建、工具调用和工作流角度梳理 Agentic Coding。
目录
这篇笔记怎么读
- 先看“结论先行”和“Agent Loop”,理解 Codex 不是补全工具,而是带执行反馈的工程代理。
- 中段的上下文、工具调用、测试反馈是核心;供应端架构细节可以跳读。
- 最后的“如何让项目更适合 Codex”更适合直接落到自己的仓库规范里。
结论先行
Codex 的能力不应该按“更会写代码的聊天模型”理解。更准确的定位是:它是一套围绕代码库、工具、执行反馈和人工审查组织起来的 Agentic Coding System。
代码专用模型能力
+ 代码库上下文理解
+ Agent Loop
+ 工具调用
+ 终端执行
+ 文件读写
+ 测试反馈
+ Git Diff / Patch
+ 沙箱与权限控制
+ IDE / CLI / Cloud 集成
+ 长任务状态管理
= 能完成真实软件工程任务的代码智能体也就是说,Codex 的核心不是“模型一次性生成一段代码”,而是让模型进入一个可以不断观察、修改、运行、验证、再修改的闭环系统。
传统代码助手的工作方式更像:
用户提问 → 模型生成代码片段 → 用户自己复制、调试、测试Codex 的工作方式更像:
用户给目标
→ Codex 阅读项目
→ 制定计划
→ 查找相关文件
→ 修改代码
→ 运行命令/测试
→ 观察错误
→ 再次修改
→ 形成 diff
→ 等待用户审核或提交 PR这就是它“像一个初级工程师”而不是“像一个代码补全器”的关键原因。
2. Codex到底是什么
在 OpenAI 当前产品体系里,Codex 可以理解为面向软件开发的 AI coding agent。它有多种形态:
- Codex CLI:在本地终端运行,可以读取仓库、修改文件、执行命令;
- Codex IDE Extension:在 VS Code、Cursor、Windsurf 等编辑器环境中协作;
- Codex Web / Cloud:在云端环境中执行任务,可以连接 GitHub 仓库,后台并行处理任务;
- Codex App:桌面端任务管理界面,可以管理多个 agent 任务;
- ChatGPT Mobile 中的 Codex 远程控制:可以在移动端查看任务状态、批准动作、调整方向;
- Code Review / PR 工作流:阅读变更、发现 bug、提出修改建议。
因此,Codex 不是一个单点功能,而是一个跨 CLI、IDE、Web、Cloud、App 的软件工程智能体平台。
3. Codex能做哪些事
从能力上看,Codex 能做的事情大致可以分为六类。
3.1 理解代码库
它可以:
- 浏览项目目录;
- 阅读多个文件;
- 理解模块结构;
- 推断代码风格;
- 找到功能入口;
- 识别依赖关系;
- 解释陌生代码;
- 根据项目约定生成代码。
这和普通 ChatGPT 的区别在于:Codex 不是只看用户粘贴的一小段代码,而是可以在被授权的目录或仓库里主动查找上下文。
3.2 修改代码
它可以:
- 新增功能;
- 修复 bug;
- 重构代码;
- 修改配置文件;
- 更新测试;
- 生成脚本;
- 调整文档;
- 按项目风格补齐实现。
关键点是:它可以直接编辑文件,而不是只给你建议。
3.3 运行命令
它可以调用终端命令,例如:
npm test
pytest
cargo test
pnpm build
python script.py
git diff
grep
rg
ls这让它可以从“写代码”进入“验证代码”。
3.4 读取执行反馈
它可以读取:
- 编译错误;
- 测试失败;
- lint 报错;
- 类型检查错误;
- 运行日志;
- 命令输出;
- 文件差异;
- CI 失败信息。
然后根据反馈继续修改。这是 agentic coding 的核心。
3.5 形成可审查变更
它可以输出:
- clean diff;
- patch;
- PR 描述;
- 修改总结;
- 测试说明;
- 风险提示;
- 后续建议。
这使它更接近真实软件工程协作流程。
3.6 并行处理长任务
在云端 Codex 中,多个任务可以在独立环境中并行执行。例如:
任务 A:修复登录 bug
任务 B:重构配置读取模块
任务 C:为价格导入功能补测试
任务 D:检查 Windows 编码问题每个任务可以有自己的工作区、上下文、执行状态和变更结果。
4. Codex的底层架构:从模型到工程系统
可以把 Codex 拆成七层:
第 7 层:用户界面层
CLI / IDE / Web / App / Mobile / GitHub PR
第 6 层:任务管理层
任务目标 / 对话线程 / 状态管理 / 并行任务 / 进度汇报
第 5 层:Agent Loop 层
规划 / 观察 / 行动 / 执行 / 反馈 / 修正 / 停止
第 4 层:工具执行层
文件系统 / Shell / Git / 测试框架 / 包管理器 / 浏览器 / MCP 工具
第 3 层:上下文构建层
代码检索 / 文件选择 / diff 摘要 / 历史压缩 / 项目规则 / 用户指令
第 2 层:模型层
GPT-Codex 系列 / 代码与软件工程强化 / 推理与工具使用能力
第 1 层:安全与隔离层
权限确认 / 沙箱 / 网络控制 / 凭据保护 / 审计 / 风险路由这七层共同决定了 Codex 的能力上限。
5. 第一关键技术:代码专用模型能力
Codex 首先需要一个足够强的基础模型。这个模型不仅要会自然语言,还要懂软件工程。
5.1 它需要懂代码语言
包括:
- Python;
- JavaScript / TypeScript;
- Rust;
- Go;
- Java;
- C/C++;
- C#;
- Shell;
- SQL;
- HTML/CSS;
- 配置文件;
- Markdown;
- YAML / JSON / TOML。
但“懂语法”只是最基础的。
5.2 它需要懂软件工程语义
真实开发任务不是写一个孤立函数,而是理解:
- 项目结构;
- 模块边界;
- 依赖关系;
- API 设计;
- 错误处理;
- 测试约定;
- 构建系统;
- 包管理;
- 版本控制;
- 代码风格;
- 兼容性要求。
例如用户说:
“修一下 Windows 上中文乱码的问题。”
Codex 不能只写一段 encoding='utf-8',而要去判断:
- 乱码发生在读取文件、终端输出、PowerShell、subprocess、日志、配置保存,还是 GUI 显示;
- 项目里哪里处理编码;
- Windows 控制台 code page 是否影响输出;
- 是否需要设置环境变量;
- 是否会影响 Linux/macOS;
- 是否有测试或复现脚本;
- 修改后是否破坏原有行为。
这就是“代码生成”和“软件工程智能体”的差异。
5.3 它需要长程推理能力
复杂任务往往不是一步完成,而是:
读需求 → 找入口 → 找相关模块 → 推断数据流 → 修改实现 → 补测试 → 运行测试 → 修复失败 → 总结变更模型需要在多步过程中保持目标一致,同时根据新观察到的信息调整计划。
5.4 它需要工具使用训练
Codex 类模型不只是预测代码,还要学会何时调用工具:
- 什么时候读文件;
- 什么时候搜索;
- 什么时候运行测试;
- 什么时候修改;
- 什么时候停止;
- 什么时候向用户要确认;
- 什么时候不要冒险执行破坏性操作。
这背后对应的是 tool-use、agentic coding、computer use、terminal use 等训练和评测方向。
6. 第二关键技术:上下文构建
模型本身并不知道你的本地项目。Codex 之所以能改你的项目,是因为系统会给模型构造一个“足够有用的上下文”。
6.1 代码库上下文不是一次全塞进去
一个真实仓库可能有几万甚至几十万行代码,不可能每次都完整塞入模型上下文。Codex 需要动态选择相关信息。
常见策略包括:
读取目录结构
→ 搜索关键词
→ 打开相关文件
→ 摘要无关文件
→ 保留关键片段
→ 结合用户目标
→ 构造下一次模型调用上下文这类似 RAG,但面向代码库。
6.2 上下文来源
Codex 的上下文可能来自:
- 用户指令;
- 当前打开文件;
- 项目目录结构;
- README;
- package.json / pyproject.toml / Cargo.toml;
- 配置文件;
- 测试文件;
- git diff;
- 最近命令输出;
- 错误日志;
- 编译结果;
- 项目规则;
- AGENTS.md / instructions;
- IDE 当前选区;
- 截图或图片输入;
- MCP 工具返回内容。
6.3 上下文压缩
长任务会产生大量历史信息。Codex 需要对历史做压缩,否则上下文会爆炸。
典型做法包括:
- 保留当前目标;
- 保留已完成步骤;
- 保留重要发现;
- 丢弃无关输出;
- 摘要长日志;
- 只保留失败测试的关键行;
- 保留当前 diff;
- 保留用户最新指令。
这就是为什么 Codex 可以跑比较长的任务:它不是简单把所有历史聊天无限塞进去,而是持续重写任务状态。
6.4 项目规则很重要
Codex 的质量高度依赖仓库内是否有清晰规则。例如:
AGENTS.md
README.md
CONTRIBUTING.md
测试说明
代码风格说明
目录结构说明
构建命令说明
发布流程说明如果这些规则存在,Codex 更容易像团队成员一样行动。
没有规则时,它只能从已有代码中归纳风格,容易复制项目中的坏模式。
7. 第三关键技术:Agent Loop
Codex 的核心不是一次生成,而是 Agent Loop。
可以抽象成:
Observe → Think/Plan → Act → Execute → Observe → Revise更工程化一点:
1. 接收目标
2. 构建上下文
3. 生成计划
4. 选择工具
5. 执行动作
6. 读取结果
7. 判断是否成功
8. 必要时继续修改
9. 输出 diff 和总结7.1 Observe:观察环境
Codex 会先观察:
- 当前目录;
- 文件结构;
- 相关代码;
- 配置;
- 测试;
- 报错信息;
- git 状态;
- 用户约束。
这一步相当于工程师接手任务前先熟悉项目。
7.2 Plan:制定计划
Codex 通常会先说明计划,例如:
我会先定位价格导入逻辑,再检查 Redis 写入路径,最后补一个最小测试或运行现有检查。计划的作用不是形式,而是让模型把任务拆成可执行步骤,并让用户有机会中途纠正。
7.3 Act:采取行动
行动可以是:
- 读文件;
- 搜索代码;
- 修改文件;
- 运行命令;
- 创建测试;
- 更新文档;
- 调用外部工具。
7.4 Execute:真实执行
与普通 LLM 最大的不同在这里:
普通 LLM 只能“想象代码能不能跑”。
Codex 可以真的运行:
npm test
python -m pytest
cargo check
tsc --noEmit真实执行会提供外部反馈,减少幻觉。
7.5 Revise:根据反馈修正
如果测试失败,Codex 会读取错误并继续修改。
这相当于:
模型输出 → 环境反馈 → 模型修正这是从“生成式模型”走向“闭环控制系统”的关键。
8. 第四关键技术:工具调用
Codex 能干事的直接原因,是它能调用工具。
8.1 文件工具
包括:
- 读取文件;
- 写入文件;
- 批量修改;
- 创建新文件;
- 删除文件;
- 查看 diff。
这让 Codex 能直接改变项目状态。
8.2 搜索工具
包括:
- 文件名搜索;
- 全文搜索;
- 正则搜索;
- 符号搜索;
- 引用搜索;
- IDE language server 搜索。
代码库很大时,搜索能力决定它能不能找到正确位置。
8.3 Shell 工具
Shell 是 Codex 最重要的工具之一。它让 Codex 能:
- 安装依赖;
- 运行构建;
- 运行测试;
- 调脚本;
- 查看环境;
- 生成文件;
- 执行 git 命令。
但 Shell 也是高风险工具,所以需要权限控制、沙箱和用户确认。
8.4 Git 工具
Codex 与 Git 结合后,可以:
- 查看当前改动;
- 生成 diff;
- 创建分支;
- 准备 commit;
- 生成 PR;
- 审查变更;
- 比较历史。
这让它自然融入软件工程工作流。
8.5 MCP 工具
MCP 的作用是把外部工具和上下文标准化地接给模型。对 Codex 来说,它可以用于:
- 接入浏览器;
- 接入 Figma;
- 接入第三方文档;
- 接入内部工具;
- 接入数据库;
- 接入公司开发平台。
MCP 的本质价值是降低工具集成成本:
没有 MCP:每个 AI 客户端都要单独适配每个工具
有 MCP:工具实现 MCP Server,AI 客户端按统一协议调用9. 第五关键技术:测试与反馈闭环
Codex 能比普通代码生成更可靠,一个核心原因是它可以把测试当作外部奖励信号。
9.1 测试是可验证反馈
软件工程任务有一个特殊优势:
很多答案可以被执行验证。例如:
- 单元测试是否通过;
- 类型检查是否通过;
- lint 是否通过;
- 构建是否成功;
- UI 是否能运行;
- CLI 是否输出正确;
- 接口是否返回预期结果。
这和普通问答不同。普通问答很难自动验证,但代码任务可以通过执行环境给出明确反馈。
9.2 Codex可以自我调试
典型循环:
修改代码
→ 运行测试
→ 失败
→ 读取错误
→ 定位原因
→ 再修改
→ 再测试
→ 通过这使它像一个会调试的工程师。
9.3 测试覆盖决定能力上限
如果项目没有测试,Codex 会更容易“看起来改好了,但实际没改对”。
因此,对 Codex 友好的项目应该有:
- 单元测试;
- 集成测试;
- 类型检查;
- lint;
- 最小复现脚本;
- CI;
- 清晰的构建命令。
这类项目能显著提高 Codex 的成功率。
10. 第六关键技术:Patch和Diff工作流
Codex 通常不是直接交付“最终答案”,而是交付可审查的代码变更。
10.1 Diff是人机协作接口
Diff 的好处是:
- 用户能看到改了什么;
- 可以逐行审查;
- 可以回滚;
- 可以拆分提交;
- 可以转为 PR;
- 可以接入 code review。
这让 Codex 的输出从“文本建议”变成“工程变更”。
10.2 代码审查能力
Codex 也可以作为 reviewer:
- 找潜在 bug;
- 找边界条件;
- 找未处理异常;
- 检查测试缺失;
- 检查代码风格;
- 检查安全风险;
- 检查文档不一致。
代码审查和代码生成本质上共用很多能力:都需要理解代码库、推断意图、定位风险和提出修改。
11. 第七关键技术:沙箱与权限控制
Codex 能执行命令,所以必须有安全边界。
11.1 为什么需要沙箱
如果一个 AI agent 可以随意执行命令,会有风险:
- 删除文件;
- 泄露密钥;
- 上传私有代码;
- 执行恶意脚本;
- 修改系统配置;
- 安装不可信依赖;
- 访问不该访问的网络资源。
因此,Codex 需要把能力限制在明确授权的范围内。
11.2 本地模式的风险边界
本地 Codex 通常在用户选择的目录中工作。它可以读写该目录下的代码,执行命令前可能需要用户批准。
用户需要理解:
Codex 越有权限,能力越强;
权限越大,风险也越大。最稳妥的做法是:
- 在 Git 仓库中使用;
- 保持工作区干净;
- 经常查看 diff;
- 不让它接触无关敏感目录;
- 对破坏性命令保持确认;
- 不把密钥硬编码在项目里。
11.3 云端模式的隔离
云端 Codex 通常在独立 cloud sandbox 环境中执行任务。好处是:
- 与本地机器隔离;
- 每个任务可独立运行;
- 可并行执行;
- 可复现环境;
- 适合后台长任务;
- 方便生成 PR。
但云端也需要处理:
- GitHub 授权;
- 依赖安装;
- 环境变量;
- 网络访问;
- secret 管理;
- 企业权限;
- 审计日志。
12. 第八关键技术:云端并行任务
Codex Cloud 的重要能力是后台和并行。
12.1 为什么并行很重要
软件工程任务经常可以拆开:
修 bug
补测试
写文档
重构模块
升级依赖
检查性能
生成发布说明传统上,一个人需要顺序处理。Codex 可以让多个 agent 在不同 worktree 或 cloud sandbox 中并行尝试。
12.2 并行不是简单多开聊天
真正的并行任务需要:
- 独立环境;
- 独立上下文;
- 独立文件改动;
- 独立测试结果;
- 独立 diff;
- 最终人工合并;
- 冲突处理。
这就是为什么 Codex App / Cloud 更像“agent 任务管理器”,而不是普通聊天工具。
12.3 长任务状态管理
长任务中,Codex 需要保持:
- 当前目标;
- 已完成步骤;
- 已失败尝试;
- 当前假设;
- 待验证事项;
- 用户中途补充要求;
- 当前 diff;
- 测试状态。
这要求系统层有任务状态管理,而不只是一次模型调用。
13. 第九关键技术:IDE、CLI、Web、Mobile多入口协作
Codex 的能力还来自它贴近开发者工作流。
13.1 CLI入口
CLI 的优势:
- 最接近真实开发环境;
- 能直接运行命令;
- 能访问本地项目;
- 适合脚本、构建、测试和调试;
- 适合技术用户。
13.2 IDE入口
IDE 的优势:
- 看到当前打开文件;
- 看到选中代码;
- 可结合 language server;
- 修改更直观;
- 审查 diff 更自然;
- 适合日常编码。
13.3 Web / Cloud入口
Cloud 的优势:
- 后台执行;
- 并行任务;
- 不占本地资源;
- 可连接 GitHub;
- 适合 PR 工作流;
- 适合长任务。
13.4 Mobile入口
Mobile 的意义不是在手机上写代码,而是远程监督 agent:
- 查看进度;
- 批准动作;
- 回答问题;
- 改变方向;
- 审查结果;
- 切换任务。
这让 Codex 更像一个随时可管理的远程开发协作者。
14. Codex与传统代码补全工具的区别
| 维度 | 传统代码补全 | ChatGPT式问答 | Codex式Agent |
|---|---|---|---|
| 输入 | 当前代码上下文 | 用户粘贴内容 | 整个仓库 + 用户目标 |
| 输出 | 几行补全 | 文本解释/代码片段 | 实际文件变更 |
| 是否执行命令 | 否 | 通常否 | 是 |
| 是否运行测试 | 否 | 通常否 | 是 |
| 是否多步修正 | 弱 | 依赖用户 | 强 |
| 是否生成diff | 否 | 否 | 是 |
| 是否能处理长任务 | 弱 | 中 | 强 |
| 协作形态 | 自动补全 | 问答助手 | 代码协作者 |
| 关键技术 | 代码语言模型 | 通用LLM | LLM + Agent Loop + Tools + Sandbox |
Codex 的本质升级是:从“预测下一段代码”升级为“在工程环境中完成任务”。
15. Codex为什么特别适合软件工程
软件工程是大模型 Agent 最容易率先落地的场景之一,原因有五个。
15.1 输入和输出都是文本
代码、配置、日志、文档、测试,大多都是文本。LLM 天然适合处理。
15.2 有明确的执行反馈
代码可以运行,测试可以判断,构建可以验证。这给 Agent 提供了外部反馈。
15.3 工具链成熟
软件工程已有成熟工具:
- Git;
- shell;
- compiler;
- test runner;
- linter;
- formatter;
- package manager;
- CI/CD;
- issue tracker;
- PR review。
Codex 不需要发明全部工具,只需要学会调用工具。
15.4 任务可拆解
很多开发任务可以拆成步骤:
定位 → 修改 → 测试 → 提交这适合 Agent Loop。
15.5 结果可审查
代码变更可以通过 diff 审查,人类能保留最终控制权。
16. Codex能力的真正来源
把前面内容合并,Codex 的能力来源可以总结为十个关键词。
16.1 模型能力
没有强代码模型,一切都不成立。Codex 需要理解语言、代码、错误、架构和开发流程。
16.2 长上下文
它需要处理大量代码、日志、测试输出和历史状态。
16.3 检索能力
它需要在项目中找到相关文件,而不是盲目修改。
16.4 工具调用
它需要调用文件系统、shell、git、测试框架和外部服务。
16.5 执行反馈
它需要通过真实运行来验证假设。
16.6 迭代修正
它需要失败后继续修改,而不是一次失败就结束。
16.7 沙箱隔离
它需要有足够权限做事,但不能无限制破坏环境。
16.8 Diff交付
它需要把结果变成可审查的工程变更。
16.9 任务状态管理
它需要在长任务中记住目标、进度、错误和用户新要求。
16.10 人类监督
它不是完全替代工程师,而是把人类从“逐行写代码”推向“设定目标、审查结果、把控方向”。
17. 一个简化的Codex工作流示例
假设用户说:
给我的 POE2 价格追踪器加一个“导入失败时自动记录错误日志”的功能。
Codex 可能会这样工作:
1. 读取项目目录
2. 搜索“导入”“import”“price”“redis”“ocr”等关键词
3. 找到价格导入模块
4. 阅读现有日志系统
5. 判断项目使用 logging、print 还是自定义 logger
6. 修改导入异常处理逻辑
7. 添加错误日志文件或复用已有日志
8. 补一个最小测试
9. 运行测试或启动相关脚本
10. 如果失败,读取错误并修复
11. 生成 diff
12. 总结改动和验证结果注意,这里每一步都不是单纯“生成代码”,而是“读取环境 + 采取动作 + 获得反馈”。
18. 技术上最关键的三个突破
如果只选三个最关键技术,我认为是:
18.1 Agent Loop
这是 Codex 从代码生成器变成执行者的根本。
没有 Agent Loop:模型只能回答。
有 Agent Loop:模型可以做事。18.2 工具执行与反馈
这是 Codex 可靠性的来源。
没有执行反馈:模型只能猜代码是否正确。
有执行反馈:模型可以根据测试和错误修正。18.3 上下文工程
这是 Codex 能处理真实项目的基础。
没有上下文工程:模型只会写孤立代码片段。
有上下文工程:模型能按项目结构和风格修改代码库。19. Codex仍然容易失败的地方
Codex 很强,但并不等于全自动工程师。
19.1 需求模糊
如果用户只说“优化一下”,Codex 可能不知道优化什么:
- 性能?
- UI?
- 可读性?
- 稳定性?
- 成本?
- 启动速度?
19.2 项目缺少测试
没有测试时,它很难验证结果,只能依赖静态理解。
19.3 代码库混乱
如果项目结构混乱、命名不一致、重复逻辑很多,Codex 可能复制坏模式。
19.4 环境难以复现
如果依赖缺失、配置复杂、需要私有服务或本地特殊环境,Codex 可能无法运行验证。
19.5 长任务漂移
任务过长时,Codex 可能偏离最初目标,做出看似合理但不必要的修改。
19.6 外部工具风险
如果工具权限过大,可能出现误操作。因此用户必须保留审查权。
20. 如何让自己的项目更适合Codex
如果你想让 Codex 更好地帮你开发软件,可以从以下方向改造项目。
20.1 写清楚项目说明
建议有:
README.md
AGENTS.md
CONTRIBUTING.md
docs/architecture.md
docs/dev_setup.md尤其是 AGENTS.md,可以写:
- 项目目标;
- 目录结构;
- 常用命令;
- 测试命令;
- 发布命令;
- 代码风格;
- 禁止修改的文件;
- Windows 特殊注意事项;
- 中文编码注意事项。
20.2 保持测试可运行
至少提供:
一条安装命令
一条测试命令
一条构建命令
一条启动命令例如:
pip install -r requirements.txt
pytest
python main.py或者:
pnpm install
pnpm test
pnpm build20.3 让错误可观测
日志越清楚,Codex 越容易修:
- 明确异常类型;
- 明确文件路径;
- 明确输入输出;
- 明确错误上下文;
- 避免吞掉异常。
20.4 控制任务边界
给 Codex 的任务最好具体:
不推荐:
帮我优化一下整个软件推荐:
检查价格导入模块中 Redis 写入失败时的异常处理,增加日志记录,不改变现有数据结构,并补一个最小测试。20.5 每次只让它做一个可审查任务
越小越容易成功:
- 修一个 bug;
- 补一个测试;
- 加一个配置项;
- 改一个 UI 文案;
- 重构一个函数;
- 写一个脚本。
不要一次让它“重构整个项目”。
21. Codex背后的通用Agent架构
Codex 不是孤立现象,而是大模型应用发展的一个代表。它背后体现的是通用 Agent 架构:
LLM
+ Context Manager
+ Tool Registry
+ Planner
+ Executor
+ Memory
+ State Tracker
+ Evaluator
+ Guardrails
+ Human Approval对应到 Codex:
| 通用Agent模块 | Codex中的体现 |
|---|---|
| LLM | GPT-Codex 系列模型 |
| Context Manager | 代码库文件选择、日志摘要、diff 摘要 |
| Tool Registry | shell、git、文件系统、MCP |
| Planner | 修改计划、任务拆解 |
| Executor | 运行命令、写文件、生成补丁 |
| Memory | 当前任务状态、历史步骤、用户要求 |
| Evaluator | 测试、构建、lint、类型检查 |
| Guardrails | 权限确认、沙箱、风险路由 |
| Human Approval | 用户批准命令、审查 diff、合并 PR |
所以,理解 Codex,也是在理解未来很多 AI Agent 产品的底层范式。
22. Codex对商业化大模型技术栈的启发
在《商业化大模型底层原理系列》中,Codex 是一个非常好的案例,因为它把很多底层模块串起来了:
模型层:代码模型、推理模型、多模态/电脑使用能力
训练层:代码数据、软件工程任务、工具使用、执行反馈、强化学习
推理层:长上下文、任务状态、低延迟交互、长任务执行
编排层:Agent Loop、工具调用、MCP、workflow
平台层:CLI、IDE、Web、Cloud、App、GitHub
治理层:沙箱、权限、审计、安全路由
应用层:编程助手、代码审查、PR生成、自动修复、软件生命周期协作它说明一个趋势:
商业化大模型的价值,不只来自“模型会说什么”,而来自“模型能在受控环境里完成什么”。
23. 后续可以继续拆的专题
如果要继续深入 Codex,可以拆成以下 Obsidian 笔记:
Codex的Agent Loop机制.md
Codex的上下文工程.md
Codex与MCP工具协议.md
Codex的沙箱与权限控制.md
Codex如何理解代码库.md
Codex如何运行测试并自我修复.md
Codex Cloud与并行软件工程任务.md
Agentic Coding与传统代码补全的区别.md
代码智能体的评测体系:SWE-bench与OSWorld.md
如何让自己的项目更适合Codex.md其中最值得优先写的是:
- Codex的Agent Loop机制
- Codex的上下文工程
- Codex如何运行测试并自我修复
- Codex与MCP工具协议
24. 本篇小结
Codex 之所以能干这么多事,不是因为它简单地“更会写代码”,而是因为它把大模型放进了一个完整的软件工程执行系统中。
它的关键技术可以压缩成一句话:
代码模型负责理解和决策;
上下文工程负责让模型知道项目状态;
工具调用负责让模型能行动;
终端和测试负责提供真实反馈;
Agent Loop负责持续迭代;
沙箱和权限负责控制风险;
Diff和PR负责接入人类工程流程。这就是 Codex 从“代码生成器”变成“软件工程智能体”的本质。
在商业化大模型技术栈中,Codex 是一个非常典型的前沿案例:它证明大模型产品的下一阶段,不是单纯提升聊天质量,而是让模型成为能够连接工具、操作环境、执行任务、接受反馈并交付结果的 Agent 系统。
参考资料
- OpenAI Developers: Codex
https://developers.openai.com/codex - OpenAI Developers: Codex CLI Features
https://developers.openai.com/codex/cli/features - OpenAI Developers: Codex Web / Cloud
https://developers.openai.com/codex/cloud - OpenAI Developers: Codex Authentication
https://developers.openai.com/codex/auth - OpenAI Developers: Model Context Protocol for Codex
https://developers.openai.com/codex/mcp - OpenAI Blog: Introducing Codex
https://openai.com/index/introducing-codex/ - OpenAI Blog: Introducing upgrades to Codex
https://openai.com/index/introducing-upgrades-to-codex/ - OpenAI Blog: Unrolling the Codex agent loop
https://openai.com/index/unrolling-the-codex-agent-loop/ - OpenAI Blog: Introducing GPT-5.3-Codex
https://openai.com/index/introducing-gpt-5-3-codex/ - OpenAI Blog: Harness engineering: leveraging Codex in an agent-first world
https://openai.com/index/harness-engineering/ - Yao et al., 2022. ReAct: Synergizing Reasoning and Acting in Language Models.
https://arxiv.org/abs/2210.03629 - Schick et al., 2023. Toolformer: Language Models Can Teach Themselves to Use Tools.
https://arxiv.org/abs/2302.04761 - Jimenez et al., 2023. SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
https://arxiv.org/abs/2310.06770 - Xie et al., 2024. OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments.
https://arxiv.org/abs/2404.07972