codex是什么架构

A
Admin

如果你说的是 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 的主流架构方向。