基于 Codex 开源源码 · 13 章交互式教学
Learn Codex
OpenAI Codex 有 66 万行 Rust 代码,1000+ 文件,6 个核心 crate
这 13 章带你从 Agent 循环到工程全貌,逐层拆解 Rust 实现。
SOURCE CODE WALKTHROUGH
核心 Agent Loop
所有 AI Agent 的本质是一个循环。Codex 的核心在 core/src/codex/turn.rs (2203行) 中实现。点击每个步骤查看对应的 Rust 源码位置。
工具结果反馈,循环继续
1
用户输入
用户在 TUI/CLI 中输入自然语言指令
// tui/src/app.rs → 用户在 TUI 中输入后提交// UserInput::Text 是带具名字段的枚举变体let input = vec![UserInput::Text {text,text_elements: Vec::new(),}];// TUI 通过 Op::UserInput 将输入送入核心引擎codex.route_text_input(text).await;
WHY DEEP DIVE
30 行代码到 66 万行 Rust
教学版 Agent 的核心循环只要 30 行,但生产级的 Codex 在同一个循环上叠加了多少工程?
教学版~30 行 Python
# 一个完整的 Agent 核心
while True:
response = llm.call(messages)
if response.stop_reason != "tool_use":
break
result = execute(response.tool)
messages.append(result)
— 同步 API 调用
— 无沙箱隔离
— 无权限检查
— 无上下文压缩
— 单 Agent
生产版 Codex (Rust)同一个循环 + 12 层工程
Ch01
状态机循环
turn.rs 的多状态推进,处理 tool_call / end_turn / error
Ch02
工具路由
router.rs 统一分发,async handler 注册机制
Ch03
动态 Prompt
build_initial_context 每次重新组装,Skills 热注入
Ch04/05
沙箱执行
macOS/Linux/Windows 三平台沙箱,exec.rs 子进程隔离
Ch06
权限三阶段
orchestrator.rs: 审批 → 选择沙箱 → 执行(拒绝时升级沙箱重试)
Ch07
Token 压缩
compact.rs 阈值检测,自动摘要,预算守护
Ch09
长期记忆
两阶段提取管线,向量存储,跨会话持久化
Ch10
MCP 协议
mcp_tool_call.rs,任意外部服务成为工具
ARCHITECTURE LAYERS
四层架构
66 万行 Rust 代码按功能分为四个架构层。点击展开查看每层的核心文件、设计模式和对应章节。
L1
引擎核心
3 章深度解析
L2
工具与安全
3 章深度解析
L3
上下文管理
3 章深度解析
L4
协议与生态
4 章深度解析
CODEX 工程特性
Codex 的 8 个关键工程特性
这些特性不是配置选项,而是深入 Rust 源码的架构决策——每一个都值得单独一章。
🖥️原生 TUI
tui crate
Rust 原生终端 UI · 无 Electron · 基于 ratatui 实现
📋Plan 模式
turn.rs
只读推理阶段 · 行动前强制规划 · collaboration_mode 架构级实现
🛡️三平台沙箱
sandboxing crate
macOS Seatbelt · Linux bubblewrap/landlock · Windows restricted token
👻Ghost Commit
ghost_snapshot.rs
每个 turn 自动创建 Git 快照 · 支持一键 undo · 完整追踪 Agent 每步修改
💉Skills 注入
skills.rs
每 turn 从文件系统动态加载指令集 · 可组合 · 无需修改 Agent 代码
🔌MCP 协议
mcp_tool_call.rs
标准 MCP 客户端实现 · 任意外部服务成为工具 · codex-mcp crate
🧠两阶段记忆
memories/phase1,2.rs
Phase1 提取 + Phase2 整合 · SQLite 持久化 + Markdown 文件树 · 跨会话积累
⚡Rust 性能
core crate
零 GC 停顿 · 并发安全 · 无运行时开销
CORE CRATES
核心 Rust Crate
理解这 6 个 crate 的边界,就掌握了整个系统的脉络。代码行数反映了工程复杂度。
LEARNING PATH
13 章源码深潜
每章聚焦一个核心子系统,包含 Rust 源码解析 + 架构可视化 + 最小复现示例。按架构层过滤,或按顺序学习。