源码可证实
类型、函数、控制流与测试能直接支持的结论。正文给出固定 commit 的文件与行号。
run_turn一份给普通开发者的 Codex Coding Agent 深度教材。不是功能清单,也不是 README 转述; 我们沿着一次真实任务的证据链,理解模型如何探索仓库、调用工具、修改代码并验证结果。
普通代码生成器把文字变成代码片段;Coding Agent 必须维护任务状态、主动补足上下文、 把动作交给受控工具、观察真实结果,并在失败后继续迭代。于是工程核心从“Prompt 写得多好” 变成了“Runtime 能否让每次动作可观察、可限制、可恢复”。
flowchart LR
U["开发者<br/>goal + constraints"] --> C["Codex Surface<br/>CLI · IDE · App Server"]
C --> R["Runtime<br/>Session · Turn · Event"]
R --> X["Context<br/>instructions · history · world state"]
X --> M["Model<br/>reason + tool call"]
M --> T{"Tool Router"}
T --> S["Shell / Patch"]
T --> E["MCP / Extensions"]
S --> P["Approval + Sandbox"]
P --> W["Workspace"]
W --> R
R --> V["tests · diff · final answer"]每一阶段都回答同一组问题:它解决什么、如何工作、为何这样设计、源码在哪里、会怎样失败。
类型、函数、控制流与测试能直接支持的结论。正文给出固定 commit 的文件与行号。
用户可依赖的行为与配置;文档可能先于或后于 main,因此单独标注。
用于解释设计动机的工程判断。它不是 OpenAI 对内部目标的正式声明。
第一章只需要普通开发经验,不要求了解模型 API、Rust 或 Agent 框架。
进入第 1 章 →