⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/codex-harness-open-source/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

OpenAI 在 8 月 20 日把驱动 Codex 运转的整套执行系统开源了,他们管这套东西叫 Harness。除了大家平时在终端里用的命令行工具,官方 SDK 和 app-server 也一起放了出来,Apache-2.0 协议,代码都在 github.com/openai/codex 这一个仓库里。

Greg Brockman 转发的官宣推文

Greg Brockman 转发时举了个不走编程的例子。一个税务试点项目处理了 7000 份纳税申报表,准备时间缩短了大约三分之一。他说 Codex 能驱动的远不止编程工具。下面这些是我把官方博客和仓库都翻了一遍之后整理出来的。

模型只负责想,剩下那一摊子才是大头

一个能真干活的 Agent,拆开看远不止模型加一段提示词。模型想完之后那一摊子事得有人管。先弄明白任务是什么,对话拉长了还得记得前面聊过什么,要去调各种工具,要把进度展示出来,中间出错要处理,碰上要紧的操作得停下来等人点头,最后再把结果交回去。

这整套围着模型转的执行系统就是 Harness。作者打了个比方,不一定特别准但好记。模型是赛车手,Harness 是后面那支车队,车手只管开,进站换胎、调参数、看遥测全是团队的事。

Codex 在终端里干活的画面

同一个模型,外壳换一换分数能差三倍

官方博客给了一组数据。在 ARC-AGI-3 这个难度很高的基准上,模型没换,只在 Harness 上动了两处,保留推理过程加上下文压缩,GPT-5.6 Sol 的得分从 13.3% 提到 38.3%,输出 token 反而少了六倍。

模型决定天花板,外面那层执行系统决定你能不能摸到它。平时大家都盯着模型跑分看,其实同一个模型,底下这套系统搭得好不好,出来的效果能差出好几倍。

这次放出来的是三层接口,由浅到深

仓库还是老地方,现在 Star 已经十二万七千多,Apache-2.0,商用和修改都允许,主体是 Rust 写的,大部分代码在 codex-rs 目录里。

仓库首页实时截图,Star 与 Fork 计数同时可见

具体放出来的是三样东西,按集成深度排。

最浅的是 codex exec,在命令行跑一次性任务,比如 CI 里跑个检查、后台跑个脚本,它有头有尾,跑完返回结构化结果,不需要一直开着。中间是官方 SDK,TypeScript 和 Python 都有,要启动、恢复或者流式读取一个任务直接调它就行,思科那个案例走的就是这条路线。

最深的是 app-server,也是最值得看的一层。你的应用通过一套文档化的 JSON-RPC 协议连到本地的 Codex 进程,能保持长对话不会丢、实时收到事件流、随时打断它、把自己的工具暴露给它用,还能处理审批请求。命令就是 codex app-server,默认走 stdio 传输,也支持 Unix socket。

想自己先跑一遍的话,Mac 和 Linux 上一行 curl -fsSL https://chatgpt.com/codex/install.sh | sh 就装好了,Windows 有对应的 PowerShell 一行,npm 上也能装。官方另外放了一份开源组件指南,写明每个组件放在哪个仓库。

官方博客里的分层图

官方博客那张图把这个分工画得挺清楚,左边是你的应用,管界面、业务上下文和业务规则;中间 app-server 管 Agent 循环和沙箱执行;右边是你们自己的 MCP 工具和数据。审批通过的操作回流到产品里,界面自动刷新。

有件事得说清楚,开源的是框架和集成层,模型访问和托管服务不在里面。博客原话是 The open-source layer is the harness and integration surface; model access and managed services remain separate。

所以这次拿到的是一个现成的 Agent 运行时,省得自己从零搭;模型那头接什么,还得自己解决。

官方文档现在把 app-server 命令和 WebSocket 传输都标成了实验性,写明不支持生产负载,这条边界容易被略过。拿它做原型没问题,真要上生产,先看一眼文档上那行提示。

已经跑在真实业务里的三个案例

放出来的这几批案例都在真实业务里跑过,有数据撑着。

思科用 Codex SDK 在自己的云管平台 Cisco Cloud Control 里做了个 App Builder,客户用自然语言描述需求就能生成自定义应用,底下的活全是 Harness 在跑。

税务那套系统叫 Tax AI,是 Thrive Holdings 和 Crete 两家跟 OpenAI 前线工程师一起做的,专门给 Crete 的会计师用,近期一篇专题文章里放了细节。试点季处理了 7000 份申报表,准备时间缩短约三分之一,起草准确率最高到 97%,业务吞吐提升约一半。

官方还给了完成度的爬坡曲线。上线时字段完成率达标(75% 以上)的申报表只占四分之一,六周内爬到 86%,7 月的预测值是 98%。

另有一条更直观的,有位资深会计师去年的报税准备花了 180 小时,今年只花了 15 小时。

Tax AI 完成度

GitHub 和 JetBrains 则把 Codex 接进了 IDE 现有工作流。在 JetBrains 的 AI 面板里能直接选 Codex 当 Agent,权限可以自己调,从只允许问答到放开网络和命令执行,分档给。

JetBrains 里把 Codex 选为 Agent

Relay 那个示例,说的其实是界面的事

官方示例里我最喜欢的是 Relay,一个虚构的物流调度看板。调度员选中一张延误的货单,点一下「比较恢复方案」,应用自动把这张货单的所有信息作为上下文交给 Agent。

Agent 通过应用自己的 MCP 工具去查实时运营数据,算出几个方案摆出来;但重新订舱这种真改数据的操作,必须人点了同意才执行,执行完看板自动刷新。

Relay 示例应用的调度看板

整个流程走下来,聊天框基本没出现。用户不用写提示词,也不用描述背景,界面本身就是上下文,你点的是哪张货单,Agent 处理的就是哪张。官方也补了一句,Relay 用的是虚构的种子数据,能带走的是这套接法。

博客里还有一段我挺认同,大意是看板、时间线、地图、记录系统都有实际用处,人平时就靠这些东西理解工作、做决策。合理的做法是让 AI 进到这些界面里去帮忙,反过来让大家放下看板、都去对着一个聊天框说话,那就走偏了。

对做内部系统的团队意味着什么

这次开源最值得留意的地方,是 OpenAI 把一件事摆上了台面。Agent 做到后面,模型外面这层执行系统和模型本身一样要紧。

对正在做内部系统的团队,好处很直接。Agent 循环、对话状态、沙箱、审批这些基础设施,以前得自己一点点搭,现在有一套现成实现摆在那,Apache-2.0,OpenAI 自己的产品也在用,代码全部能看。就算最后不打算用 Codex,它这种分层方式也值得拿回去对着自己家的方案看一看。

聊天框不会消失,我自己每天也还在用。只是往后做正经业务系统的时候,AI 多半会直接待在业务界面里。

仓库地址是 https://github.com/openai/codex 。

文章目录
  1. 1. 模型只负责想,剩下那一摊子才是大头
  2. 2. 同一个模型,外壳换一换分数能差三倍
  3. 3. 这次放出来的是三层接口,由浅到深
  4. 4. 已经跑在真实业务里的三个案例
  5. 5. Relay 那个示例,说的其实是界面的事
  6. 6. 对做内部系统的团队意味着什么