Skip to main content
本文把产品体验、公开文档、固定源码、离线 Demo 和真实 API 接线分开讨论。 代码示例用于教学,不代表 Codex 的内部实现。
核查日期:2026-09-10。对象:用户提供的 2026-09-07 社交媒体截图。 这段话的技术主旨是:编码 Agent 的能力不只来自模型,还来自承载模型的运行时、工具执行协议、上下文管理、记忆和交互系统;如果这些机制与模型训练相匹配,Agent 可以更高效地完成长任务。这个主旨值得学习,但截图中的厂商贬损、绝对排名、原创性判断,不能直接当面试结论。 本文按”原话是什么意思 → 公开证据 → 工作原理 → 如何实现 → 与基础 Harness 对比 → 面试追问”展开。代码是原创教学实现,不冒充 Codex 内部代码;真实 API 示例单独标注。你只保存这一份 Markdown,也能获取全部教程与代码。

阅读导航

  1. 截图逐条核查
  2. Harness 基础与分层
  3. 统一 Runtime Host 与 App Server
  4. Agent GUI 的技术实现
  5. 异步工具调用与边执行边推理
  6. Mid-turn steering
  7. PTC、Code Mode 与 MCP
  8. 压缩、窗口切换、历史检索
  9. Memory 与 dreaming
  10. 模型后训练与 Harness 协同
  11. Computer Use
  12. Benchmark 与因果归因
  13. 与传统 Harness、Claude 的公平对比
  14. 面试表达与高频追问
  15. 动手运行与验收
  16. 源码导航与资料
  17. 完整代码附录

1. 截图中的每一条说法,哪些可以直接相信?

下面的”已核实”只表示公开资料或源码支持这一机制,不表示所有账号、平台、版本均已启用,也不表示它在你的任务上必然更好。截图里异步工具调用的一段重复出现,本文合并解释。 证据入口:App ServerAstra 能力说明Memories。具体实现证据在各章附近给出。

1.1 三个不能混淆的”Codex”

  • 模型:例如 gpt-6-astra,负责生成文本、工具请求和其他模型输出。
  • Agent Runtime / Harness:接收模型输出、执行工具、保留状态、控制权限、处理失败。
  • 产品客户端:桌面 App、CLI、IDE 等,负责向用户呈现任务与接受操作。
把产品体验好直接说成”模型架构先进”,或者把某个 API 功能当成”桌面 App 独创”,都是跨层归因。

1.2 本文的证据边界

公开源码固定在 openai/codex commit ddea03ad049142943bdbf13e937b1d67e8c1ba0c,提交时间为 2026-09-10 03:40:55 UTC。它是本次读取的 main 快照,不等于本机已安装二进制的构建提交。本机验证环境为 Codex CLI 0.153.4、Python 3.14.7、Node.js 26.7.0 源码中的 handler、类型或测试存在,只能证明该代码路径存在。判断默认启用、实际路由、账号可用性,还需继续查 feature gate、注册条件、发布说明和运行轨迹。没有拿到官方后台、训练日志或跨平台内部部署图,本文不会补写这些细节。

2. 先理解 Harness:不是包一层 Prompt 就完了

2.1 最基础的 Agent 循环

假设用户说:“修复登录测试失败。“模型并不能直接改变文件系统。它生成”读文件""运行测试”等请求,由外部程序执行,把结果交回模型,循环继续。 下面是教学伪代码,用于说明基础串行 Harness,不是某家厂商当前实现:
这已构成一个 Agent,但还没有可靠解决:用户半途改需求、测试需要几分钟、历史超出窗口、进程崩溃、工具超时、任务重连、多客户端观察、权限撤回、跨任务记忆等问题。

2.2 一套工程上可用的分层

这是本文的概念分层,不是逐一对应 Codex 的进程部署图。“Runtime”和”Harness”的边界在不同团队里不完全一致:有的团队把全部外层系统都叫 Harness,有的把执行环境叫 Runtime,把循环和策略叫 Harness。面试时先约定术语,比争论命名更重要。

2.3 三类状态必须分开

对话回滚不等于文件回滚;中断模型不等于杀掉子进程;历史摘要写”测试通过”不等于测试针对最新代码。后面所有机制都建立在这三个区分上。