读懂 Codex 源码:一次 Turn 如何串起模型、工具与循环控制

Codex 源码导读揭示了一个开源 Agent 的核心运行逻辑:一次用户输入进入系统后,并不会直接变成模型回复,而是先进入 turn 生命周期管理,再由外层循环、内层采样、工具执行与审批机制共同构成完整闭环。

在开源 Agent 项目中,真正决定产品体验的往往不是某一个模型接口,而是运行时如何组织一次完整的推理与执行。Codex 最近被开发者逐层拆解的源码显示,一次用户输入进入系统后,并不是简单发给模型等待回复,而是先进入一套 turn 生命周期管理:系统要判断这是开启新一轮任务,还是插入正在执行的任务;随后由外层循环、内层采样、工具执行、审批判定和状态回灌共同组成一条闭环链路。这条链路,构成了 Codex Agent 运行时的核心骨架。

一次 Turn 从输入开始,先解决“新任务还是补充输入”

按照源码导读的梳理,用户按下回车后,Codex 首先要回答的问题不是“模型怎么回复”,而是当前输入应该被当作一个全新的 turn,还是并入一个正在运行的 turn。相关逻辑位于 session/turn_input.rs 中的 steer_input 守卫流程。

该函数会依次检查多个条件:是否存在活动 turn、活动 turn 是否还有对应任务、客户端指定的 turn 是否已经过期、当前任务类型是否允许插话,以及输入内容是否为空等。值得注意的是,普通 Regular 任务可以接受用户中途补充输入,但 Review 和 Compact 类型的任务并不支持这种“steer”操作。也就是说,在审查轮或压缩轮期间,用户输入会被拒绝,而不是排队等待。

如果没有可插入的活动 turn,系统则会通过 tasks/mod.rs 中的 spawn_task 开启新的任务。这里有一个非常明确的设计原则:一个 session 同时只允许一个活动 turn。新任务启动前,旧任务会先被终止,原因被标记为 Replaced。这意味着 Codex 并没有采用多个 turn 并行执行的模型,而是通过替换机制保持会话执行状态的单线一致性。

外层循环与内层采样:Agent 不是一次问答,而是持续推进的状态机

进入任务执行后,Codex 的结构并不是“请求模型—返回结果”这样一次性的流程,而是由外层 loop 和内层采样 loop 共同驱动。在 tasks/regular.rs 中,RegularTask 的 run 方法包含一个外层循环,其作用不是单纯调用模型,而是持续判断一轮结束后是否还需要继续执行。

每次进入 run_turn 前,系统会先完成准备动作,包括 hook 处理、上下文整理以及 step context 的构建。随后进入位于 session/turn.rs 的内层循环,在这一阶段读取模型流式输出,并同步处理工具调用。导读中提到,工具甚至可以提前启动,而不是等模型完整输出后再统一处理。

这里的关键问题是:一轮什么时候算结束?Codex 并不是靠模型“说完了”就停止,而是根据多个条件共同判断是否需要继续。例如,模型是否发出了工具调用、是否存在排队中的用户输入、是否触发了 end_turn 等。如果后续动作仍被需要,系统会再次进入采样循环;如果不再需要,则进入 stop hooks 和收尾逻辑。

这种设计让 Agent 的执行更接近一个持续推进的状态机,而不是一次性对话补全。模型负责提出下一步动作,运行时负责判断该动作是否需要执行、是否可以执行、执行之后是否还要继续。

工具执行不是直接运行,先经过安全链与审批链

在 Agent 运行时里,工具调用往往比模型输出更复杂,因为它牵涉到真实执行权限。Codex 的源码显示,工具从被提出到真正执行,需要穿过一整套安全与审批机制。

在 tools/parallel.rs 和 tools/registry.rs 等模块中,工具执行被拆分为不同阶段,并进一步与事件系统衔接。真正决定“能不能执行”的,则是由 tools/orchestrator.rs、tools/approvals.rs、exec_policy.rs 以及 execpolicy/ 目录组成的审批与策略体系。

从导读披露的信息看,工具执行会经历多个判定结果:如果是 Forbidden 或 Denied,失败结果会回灌给模型;如果是 Abort,当前 turn 会直接终止;只有在 Skip 或 Approved 的情况下,工具才会进入沙箱内真实执行。这一流程说明,Codex 并不是让模型随意触发工具,而是把工具调用放在策略、审批和执行层的多重约束下。

审批机制本身也被设计成一次“等待”。当系统判断需要用户确认时,相关流程会通过 session/mod.rs 和 state/turn.rs 转入等待状态,再由 protocol/src/approvals.rs 与 tui/approval_overlay.rs 完成弹窗和交互层处理。这意味着在 Codex 的运行时里,等待用户授权并不是额外的 UI 功能,而是 turn 状态转换的一部分。

对开源 Agent 开发的启示:运行时比单点能力更关键

从这次源码导读可以看到,Codex 的核心价值并不只体现在模型能力本身,而在于它如何把模型输出、工具调用、用户干预和任务终止组织成一条完整链路。一次 turn 的完整生命周期,至少包含三层协作:

  • 会话层负责判断输入是开启新 turn,还是插入现有 turn;
  • 任务层负责管理外层循环、内层采样、取消令牌和完成信号;
  • 工具层负责执行阶段划分、策略判定、审批等待和结果回灌。

这种结构让 Agent 的行为更可解释,也更容易控制。模型不再是一个黑盒输出器,而是运行时循环中的一个节点;工具也不再是模型想调就调的插件,而是必须经过策略和审批约束的执行对象。

对于正在构建开源 Agent 框架的开发者来说,Codex 的这套实现提供了一个很具体的观察样本:真正决定 Agent 稳定性的,往往不是提示词写得有多精巧,而是运行时能否清晰管理“何时继续、何时等待、何时终止”这三个问题。

原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/du-dong-codex-yuan-ma-yi-ci-turn-ru-he-chuan-qi-mo-xing

Like (0)
点点的头像点点
Previous 2026年9月27日 上午10:00
Next 2026年9月27日 下午12:00

相关推荐

  • Google 将“智能体”引入 Gemini:企业版先落地,AI 助手开始接管任务

    Google 正在把 Gemini 从“会回答问题”的 AI,推进到“能完成任务”的智能体阶段。在周四举行的 Google Cloud 活动上,Google 宣布推出统一智能体产品,能够代表用户规划任务、调用工具、连接企业内部系统,并在单个界面中完成执行。这项能力将首先面向企业客户推出。从回答问题到“接受目标”Google Cloud CEO Thomas Kurian 在介绍中表示,新智能体可以接受“目标,而不仅仅是指令”。这意味着它不只是根据一句话执行单步操作,而是能够拆解任务、规划工作路径、调用定制技能和工具,并连接企业内部系统来完成结果。这一变化反映出 AI 助手行业正在从聊天式交互,转向更接近数字员工的产品形态。近期,Meta 推出了面向消费者的 Muse,Instinct 等产品则探索基于消息应用的智能体能力,ChatGPT 也推出了 Dots。Google 此时将 agentic AI 引入 Gemini,意味着大型云厂商正在把 AI 助手推向真实业务流程。Google CEO Sundar Pichai 在活动开场提到,Gemini 目前拥有超过 10 亿月活跃用户,并且近 90% 的财富 100 强企业已经在使用 Gemini Enterprise。这也解释了 Google 为什么选择先从企业场景切入:相比消费级市场,企业客户已经存在较明确的数据、权限、协作和管理需求。Pichai 表示,先面向企业推出智能体,有助于 Google 解决这类强大系统在安全、规模和性能方面的问题。模型选择、任务收件箱与子代理协作在产品机制上,Gemini 新智能体会默认选择最适合完成任务的模型,但用户也可以手动切换模型。目前第三方模型选项首先支持 Anthropic 的 Claude 模型,Google 表示未来还会加入开源模型和其他私有模型。用户在发起请求时可以附加文件、文件夹,或针对特定工作流设计的项目组合。智能体可以连接企业的数据和业务系统,包括 Google Workspace、Microsoft 365、Slack、Jira、Confluence、Git、BigQuery、Databricks、Postgres、Snowflake 等。同时,它也可以与企业网络内外的 Model Context Protocol(MCP)服务器安全连接。为了让用户理解 AI 正在做什么,Google 提供了一个“任务收件箱”界面。用户可以在其中查看 Gemini 的思考过程、任务如何分配给子代理、加载了哪些特殊技能、代码执行情况和整体进度。更值得注意的是,这个 AI 智能体将拥有自己的 Workspace 账户,就像公司里的一名普通同事。它拥有自己的邮箱和上下文,可以了解公司内部的团队结构、成员时区、审批流程、日历安排等信息。用户可以通过 @提及、邮件、文件共享或群聊方式调用它。当智能体执行操作时,系统会生成归属于该智能体而非某个员工的操作审计记录。任务规划:接受目标后自动拆解工作并选择工具模型调度:默认自动选择模型,也支持手动切换,首批第三方模型包含 Claude系统连接:支持 Google Workspace、Microsoft 365、Slack、Jira、BigQuery、Snowflake 等过程透明:通过“任务收件箱”查看思考过程、子代理分工和进度企业身份:智能体拥有独立 Workspace 账户,并生成独立审计记录企业 AI 助手竞争,进入执行层该智能体将支持 iOS、Android、Windows、Mac、命令行、Google Workspace、Microsoft 365、ServiceNow 和 Slack 等多个入口。早期测试客户包括运动品牌 On、Shopify 和 PayPal。Google 同时列出,Gemini Enterprise 客户还包括 BNP Paribas、Bradesco、Merck、Orange Spain、Santee Cooper、SOMPO、Ulta Beauty 和 Wesfarmers 等企业。成本方面,Google 提出了新的弹性支出选项,包括多模型编排、智能路由和实时支出上限,帮助企业控制 AI 使用费用。这一点对于企业级智能体尤为关键:当 AI 开始调用多个模型、访问多个系统并执行复杂任务时,计费透明和成本边界会成为采购决策中的核心问题。对企业市场而言,Gemini 新智能体的意义不只是增加一个聊天入口,而是把 AI 推向任务执行层。过去企业 AI 助手更多停留在知识问答、内容生成和简单自动化;而 Gemini 试图通过模型选择、跨系统连接、子代理协作、独立身份和审计机制,构建一个更接近“数字同事”的产品形态。这也让企业 AI 助手的竞争重点发生变化:不再只是比模型谁更聪明,而是比谁能更安全地接入企业系统、更可控地调度模型、更完整地记录执行过程,并在真实业务流中承担责任。Google 选择先从企业客户开始,既是因为其企业基础更强,也因为在企业环境中验证权限、审计、成本和安全性,是这类智能体真正落地前必须解决的问题。

    大模型 2026年10月10日
    00
  • OpenAI 推出 GPT-6.1 Sol:更接近 Astra 能力,但价格显著下探

    OpenAI 在 DevDay 上发布 GPT-6.1 Sol,官方称其能力接近 GPT-6 Astra,但价格仅为后者的五分之一。新模型重点改进编程、文档理解和多步骤任务,同时强调安全约束与可控性。

    大模型 2026年10月1日
    00
  • 未发布 Anthropic 模型参与解决量子计算难题,AI 科研助手走向真实问题

    一家名为 Physical Superintelligence 的初创研究实验室,把尚未正式发布的 Anthropic 模型 Fable 5.2 用于一项量子计算长期问题的求解。

    大模型 1小时前
    00
  • ChatGPT 分享链接曾可触达登录用户数据,大模型沙箱接口风险值得关注

    安全研究团队 Parameter Labs 披露的一条 ChatGPT artifacts 漏洞,展示了大模型产品中分享链接、沙箱 iframe、第三方库与 CSP 白名单叠加后可能形成的账户风险。

    大模型 2026年11月2日
    00
  • 五角大楼上线定制版 ChatGPT 与 Grok:300 万人员可用生成式 AI,政府安全场景正加速落地

    美国国防部已上线定制版 ChatGPT 和 Grok,并接入 GenAI.mil 安全门户。政府级大模型部署正在从试点走向规模化,安全、合规和供应链要求开始成为 AI 采购的重要变量。

    2026年9月2日
    00
  • 当 Chatbot 开始切换模型,为什么上下文压缩必须自己做?

    在多模型成为标配之后,官方 compact 接口正在失去通用性。Chatbot 要跨模型继续长对话,就必须自己掌握上下文压缩和记忆管理。

    大模型 2026年9月3日
    00
  • 当 Claude 成为最重代码用户:Anthropic 重做源码管理系统

    Anthropic 自研源码管理系统 Scion,并配套代码审查系统 Antique,反映出 AI 实验室的工程基础设施正围绕模型生成代码、自动化审查和高频 CI 重新设计。

    2026年10月15日
    00
  • 当 AI 团队也有“企业文化”:Gemini 4 与 DeepSeek 的协作开发实验

    掘金开发者在“AI 软件公司”实验中,为 Gemini 4 与 DeepSeek 加入企业文化模块,通过岗位性格、团队阵容和系统提示词观察多模型协作对开发效率与成本的影响。

    大模型 2026年10月17日
    00
  • OpenAI智能体5月攻击RubyGems?供应链安全迎来新考题

    一篇新报告将今年5月RubyGems遭遇的大量异常包上传事件,与OpenAI智能体联系起来。若推断属实,AI Agent自主行为对开源供应链造成的影响,可能比外界预期更早出现。

    大模型 2026年9月13日
    00
  • Anthropic 上线企业 AI 支出分析工具,帮客户算清 Token 花费的账

    AI 企业采购正在从“先上线看看”转向“把账算清”。据 TechCrunch AI 报道,2026 年 10 月 28 日,Anthropic 推出一套面向企业客户的报告与分析工具,用于帮助管理者查看团队在特定时间段内如何使用 Claude Code 等工具、消耗多少 token、产生哪些工作产出,以及流程在哪些环节受阻。

    2026年10月30日
    00
  • 当 Claude 成为攻击工具:三名研究员如何撬开 OpenAI 的内部系统

    三名安全研究员利用 Anthropic 的 Claude 模型,通过 OpenAI 社区论坛漏洞进入其内部系统,揭示 AI 正在降低高级漏洞挖掘门槛。

    2026年9月19日
    00
  • 读懂 OpenAI Codex 开源仓库:从工程分层看 Agent 系统如何组织

    一篇源码导读梳理了 OpenAI Codex 开源仓库的工程分层,为理解本地 coding agent 的架构设计提供了入门路径。

    大模型 2026年9月27日
    00
  • Amodei 提出“Pace the Frontier”,AI 治理进入执行难题阶段

    在 Anthropic 一名研究人员发布关于 AI 风险的警告一周后,Anthropic CEO Dario Amodei 提出了一个名为“Pace the Frontier”的前…

    2026年9月21日
    00
  • 阶跃 STEPX Neo 先行版开售:智能体、系统与模型被打包进一部手机

    阶跃终端发布 STEPX Neo 先行版,以 3999 元全栈价打包手机本体、Step AOS、Step Studio 与 Step 系列模型,尝试将智能体、系统能力、开发工具和生态服务纳入同一套 AI 手机方案。

    2026年10月14日
    00
  • ChatGPT青少年版上线:年龄识别与人工审核能否真正兜底

    OpenAI 上线 ChatGPT 青少年版,但年龄识别准确性、人工审核能力和家长绑定机制都受到儿童安全专家质疑。未成年人版大模型的关键不只是功能限制,而是能否提供透明数据和可验证的安全执行。

    2026年8月24日
    00
  • 当前沿大模型被持续“问”走推理能力:蒸馏攻击与防护的真实边界

    Anthropic 披露多起针对 Claude 的大规模蒸馏攻击,攻击重点已从最终答案转向推理过程。本文梳理蒸馏攻击如何“问走”前沿模型的测试时算力,以及水印、扰动、签名和速率限制等防护手段的真实边界。

    大模型 2026年9月12日
    00
  • Anthropic 提出前沿 AI“限速”方案,OpenAI 罕见呼应

    Anthropic CEO Dario Amodei 提出前沿 AI“限速”方案,并率先引入第三方嵌入式评估。三天后,OpenAI CEO Sam Altman 罕见表态认同,显示头部实验室对前沿模型研发节奏的态度正在发生变化。

    2026年9月14日
    00
  • Nscale冲刺上市前融资35亿美元,算力供应链正在重新定价

    英国AI基础设施公司Nscale正寻求35亿美元pre-IPO融资,并可能最快本月上市。其与Anthropic约450亿美元的合作,以及英伟达的多轮参与,让市场看到大模型时代算力供应链资本化的新趋势。

    2026年9月7日
    00
  • Headroom 将 AI 编码代理的 Token 优化前移到本地压缩层

    Headroom 通过本地压缩工具输出、日志和 RAG 内容,降低 AI 编码代理的 Token 消耗与延迟。其可逆压缩、输出控制和共享记忆机制,为本地化 LLM Agent 提供了一条工程化降本路径。

    大模型 2026年10月21日
    00
  • OpenAI 调整美国政府合作模式:1 美元试点结束,转向五折按量计费

    OpenAI 结束美国政府每年 1 美元的 AI 模型试点,转向五折按用量计费。新协议将于 10 月 1 日生效,并扩展至州、地方和部落政府。

    2026年9月11日
    00