本文介绍了Codex Harness如何将Agentic产品拆分为两层,即客户端和包含业务代码及编译好开源Codex的App Server。客户端不直接连接大模型,而是通过App Server进行交互。产品团队只需关注定义场景、业务规则和用户服务,而会话、调用记录和执行管理等复杂管理由Codex Harness负责。这种方式简化了大模型开发流程,让小白和程序员也能轻松入门。

朋友圈里一直在传“Codex harness开源了,很好用”。我把文档和自己跑起来的结构放在一起看,觉得大家兴奋的那个点,其实已经不只是“又多了一个能聊天的官方窗口”。

一个 Agent,可以看成 Harness 加上LLM。 Harness 管会话、工具循环、上下文和执行,LLM是外面那台模型服务器。Codex Harness 做成了可以放进你自己服务里的一层。产品团队要守住的,是客户端和业务代码。

Codex Harness 已经把 Agentic 产品拆成可以分开交付的两层

这张图就是这次跑通之后的分层。左边可以有很多客户端,它们不直接去找模型,而是进入你的 Agent 服务。服务跑在本地 Mac 或者你的服务器上。里面并排着两块:一块是你的代码,一块是 codex app server。app server 里面装着已经编译好的开源 Codex。代码和 app server 互相通信,再由 app server 向大模型服务器发起请求,把响应拿回来。

客户端进入 Agent 服务,代码与 codex app server 通信,app server 再连接大模型

这就是新的交付方式。客户端和业务代码仍然是产品自己的。最复杂的那一层,以 app server 的形式装进服务里,由已经编译好的 Codex 去承担。模型厂商继续提供外面的大模型,业务代码处理自己的场景和规则。

过去做 Agentic 产品,团队得自己扛下 Harness 里的复杂管理

以前要把一个 Agent 做成别人能用的产品,常见就是两条路。一条是把官方 Codex 整套部署出去。界面、会话和切模型的方式都已经定好了,用户用到的是那套客户端,不是你要做的产品。另一条是拿 LangChain,或者一套智能体工作流框架自己搭。能搭起来,但人会先耗在循环、状态和工具调度上,业务和用户服务被挤到后面。

两条路最后都把产品团队留在 Harness 里面。团队的时间花在引擎上,场景里那句话怎样回到用户面前,被留到了最后。

App Server 让 Harness 以服务的形式被产品调用

App server 把这件事翻了过来。你不必先在机器上装一整套官方客户端,再想办法把它的界面拆开。代码部署到本地 Mac 或服务器之后,会把 Codex 这套已经编译好的程序带出来,成为一个可以通信的进程。你的代码先跟它握手,打开 RPC 通道,用户的一句话从这里送进去,模型的响应从这里回来。

模型仍然在服务外面,就是图上右边的大模型服务器。演示里,模型的 API key、base URL 和上下文窗口写在项目的 .env 里。请求由 app server 发出,响应再回到你的代码,最后回到你自己的客户端。DeepSeek 这类模型可以按 API key 和 base URL 接进来,所以模型厂商和这套 Harness 程序,也不必绑死成同一家。

我觉得范式就是在这里变的。顶尖模型厂商把最复杂的管理做成一套可调用的 Harness,你以服务的形式把它放进自己的 Agentic 产品里。你要定义的,是业务代码和客户端里的用户服务。

单轮打通之后,产品侧要决定的是业务规则和用户服务

以单轮问答为例,我们可以清晰的表露把这条边界。用户在客户端说一句话,代码把这句话交给 app server,app server 带着编译好的 Codex 去请求大模型,结果再回到你的界面。产品侧要先定的是:模型从哪来,这句话代表什么业务,结果在你的客户端里怎么呈现。

项目真正跑起来之后,目录会多出两块。一块是程序,一块是运行数据。

project 下的 .data、.runs 是跑出来的数据,node_modules 里是跑出来的程序

project/.data 和 project/.runs 是代码跑出来的数据存储。node_modules 里是这次跑出来的程序。项目里原来就有 .env,真正去连 app server 的入口是 05-app-server.mjs。

打开 node_modules/@openai,能看到 codex,以及当前这台机器对应的 codex-darwin-arm64。图上标的就是这件事:代码跑完,这里出现了一个 Codex。你没有单独装官方客户端,这个可执行程序已经在依赖里了。

node_modules/@openai 下出现 codex 和 codex-darwin-arm64

数据侧也能分开看。.runs 下面有多组 app-server- 开头的目录。目录里的 models.json 是 app server 调用模型的配置,protocol.jsonl 是调用记录。模型从 .env 走进这次运行,配置就落在这些目录里。

.runs 里每个 app-server 目录保存 models.json 和 protocol.jsonl

.data/codex 是这个 Agent 服务自己的数据存储。里面有 config.toml,也有 goals、logs、memories、queue、state 这些 sqlite。messages.json 记的是会话。会话、记忆、队列和状态都堆在这一层,业务代码就不必再自建一套同样的账本。

.data/codex 存放 config、sqlite 状态和 messages.json 会话记录

所以单轮打通以后,产品还要认真做的是业务规则和用户服务。引擎侧这些目录,是 Harness 跑起来之后自己留下的。

未来的 Agentic 开发只留下一件事:定义业务逻辑,把复杂管理交给顶尖模型厂商

回到第一张图。客户端可以很多,Agent 服务是你的。你要写的是服务里的业务代码,以及用户真正接触的那一层。codex app server 带着已经编译好的开源 Codex,负责和代码之间的调用,再负责去连大模型。会话记录在 .data/codex/messages.json,调用记录和模型配置在 .runs 里,执行状态也在这层数据里。

未来的 Agentic 产品,开发上要定义好业务逻辑。 我说的业务逻辑,是用户场景、规则,以及结果如何回到自己的客户端。Harness 作为服务放进 Agent 里,最复杂的会话、循环和执行管理,交给做出这套程序的模型厂商。

这句话有它的边界。哪一个工具可以执行、哪一步必须等人确认,仍然要由产品来定,单轮演示还看不出这块成本。Codex 的源码是开放的,团队仍然可以自己改这套引擎;如果你的差异就在那个循环上,就继续自己拿着它。现在这张图能看清的,是你的 Mac 或服务器上已经能把 Harness 当成服务来跑,模型请求走向外面的大模型服务器。

朋友圈说 Codex 开源了、很好用。好用如果只是换了一个官方窗口,产品并没有变。变了的是,你可以留下自己的客户端,把 Harness 装进自己的 Agent 服务,让最复杂的管理留在这层已经编译好的程序里。

如果之后做一个自己的客户端,主要工期仍然花在手写循环和会话状态上,这个判断就不成立。如果一换掉这层 Harness,业务规则就得跟着重写,那它也还不是一个可以替换的服务。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

Logo

更多推荐