codex是什么架构
如果你说的是 OpenAI 开源的 Codex CLI(GitHub 上的 Codex),从官方最近公开的架构说明和源码来看,它本质上是一个增强版 ReAct Agent,但已经超出了传统 ReAct 的范畴。(OpenAI)
简单来说:
User
↓
Agent Harness
↓
LLM
↓
Tool Call
↓
Observation
↓
LLM
↓
...
这仍然是 ReAct 的核心循环。OpenAI 官方甚至直接把它称为 agent loop(智能体循环)。(OpenAI)
从源码角度看,更准确的描述是
第一层:ReAct Loop
最核心的执行逻辑就是:
while !finished {
model_response = call_model()
if tool_call {
run_tool()
append_observation()
}
if final_answer {
break
}
}
即:
Reason
↓
Act
↓
Observe
↓
Reason
这部分与 LangChain Agent、Claude Code、OpenHands、SWE-Agent 基本一致。(OpenAI)
第二层:Tool-Augmented ReAct
Codex 不只是搜索工具。
它的 Tool 集合包括:
- Read File
- Write File
- Patch File
- Shell Command
- Git
- MCP Server
- App Server
等。(OpenAI)
所以实际流程更像:
Thought:
先看看项目结构
Action:
ls -la
Observation:
...
Thought:
找到 package.json
Action:
cat package.json
Observation:
...
Thought:
修改依赖
Action:
edit package.json
Observation:
success
这就是典型的软件工程 Agent。
第三层:Planner + Executor 混合架构
看源码会发现它并不是每一步都重新规划。
很多任务会变成:
Goal
↓
生成计划
↓
执行步骤1
↓
执行步骤2
↓
执行步骤3
↓
总结
即:
Plan
↓
Execute
↓
Replan(必要时)
所以比原始 ReAct 多了一层 Planning。(OpenAI)
第四层:Harness Architecture
OpenAI 官方文档里反复强调一个词:
Harness(执行框架)
┌─────────────┐
│ User │
└──────┬──────┘
│
┌──────▼──────┐
│ Codex Harness│
└──────┬──────┘
│
┌─────▼─────┐
│ Model │
└─────┬─────┘
│
┌─────▼─────┐
│ Tools │
└───────────┘
Harness 负责:
- Context 管理
- Tool 调度
- 权限控制
- Sandbox
- 会话存储
- MCP 接入
模型本身只负责决策。(OpenAI)
第五层:Agent Runtime
从最新 Rust 版本源码来看,Codex 已经更接近:
Agent Runtime
├── Session
├── Memory
├── Tool Registry
├── Sandbox
├── MCP
├── Agent Loop
└── Permission System
而不是一个简单的 Prompt Agent。(zylos.ai)
和 Claude Code 对比
学术界最近拆解 Claude Code 时发现,两者的核心都不是复杂规划器,而是:
一个简单的 model→tool→observation while-loop,复杂度主要来自外围系统。(arxiv.org)
也就是说:
Agent核心
≈
ReAct Loop
Agent能力
≈
ReAct Loop
+
Context Management
+
Tool System
+
Permission System
+
Memory
+
Sandbox
所以一句话概括:
Codex 本质上是一个基于 ReAct 的 Tool-Using Agent,但工程实现上已经演化成了带 Planning、Memory、Sandbox、MCP 和 Permission System 的 Agent Runtime(Harness Architecture)。 (OpenAI)
这也是目前 Claude Code、Codex、OpenHands、SWE-Agent 这一类 Coding Agent 的主流架构方向。