在这里插入图片描述
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看, 传送门https://blog.csdn.net/qq_34419312

1 背景:老板一句话,自研项目直接变套壳项目

最近圈里Codex开源Agent Harness这事,估计不少人都刷到了。

我这边更绝,老大刷到的当天下午,直接把我们做了快俩月的自研Agent立项给暂停了。

原话我都背下来了:“人家专业团队磨出来的执行层,不比你们俩边踩坑边写靠谱?直接套壳,两周给我出个MVP。”

我当时手里刚泡的枸杞茶差点直接泼键盘上。合着之前熬的夜都算预演了是吧。

1.1 我本来的想法,刚好能用上

其实我之前就有个没落地的想法:用便宜的大模型先跟用户聊需求,判断任务难度,简单的直接让编码模型干,复杂的先让Claude出方案再执行。

本来还在愁底层Agent执行层怎么写,这下好了,直接有人送枕头。

说干就干,主打一个“别人造发动机,我们造车壳”。

2 整体架构:套壳到底套在哪一层

很多人一听套壳,以为就是改个UI换个皮。哪有那么简单。

我们这个MVP拆下来,一共五层结构,真正能直接用现成的,也就最核心的执行层而已。

2.1 五层职能划分

从上到下数:

第一层是浏览器UI,就是用户能摸到的界面,交互逻辑全得自己写。

第二层是ChatController入口,跟便宜大模型对接,聊需求、做调度,这是总阀门。

第三层是Orchestrator编排层,排队、锁目录、持久化、权限审批,全是脏活累活,这层得自己实现。

第四层是AppServerClient,做JSON-RPC协议适配,相当于跟Codex通信的翻译官。

第五层就是Codex Agent Harness,模型推理、工具调用、读写代码、执行命令,这层直接用现成的。

最底下就是服务器的文件系统、Shell、Git这些环境,不用咱们操心。

这么一看,是不是省了老大劲?但也别高兴太早,中间那两层编排和适配,够你喝一壶的。

3 核心工作量:任务编排全是坑

别以为套壳就没技术含量了。整个项目里,工作量最大的就是任务编排这一层。

谁说AI时代程序员要失业的?站出来,我保证不打你。合着只是从写Agent改成写编排了,加班一点没少。

3.1 难度路由的基本逻辑

首先,不是所有消息都要创建后台任务。普通聊天总控模型直接就回了,只有触发了编码任务,才会启动工作流。

核心逻辑就是按难度分流:

简单任务,直接创建Codex任务,直达执行层,快得很。

复杂任务,不能直接丢给Codex瞎写。先创建Claude规划任务,等它输出完整的方案和步骤,再把用户需求、验收标准、方案一起丢给Codex去执行。

3.2 那些踩过的坑,全是血泪

这里必须说个踩过的大坑。

我最开始图省事,Claude出完计划直接把计划丢给Codex,就不管了。结果有次Claude接口抽风,返回了个空计划,Codex对着空气忙活了十分钟,最后给我输出个“任务已完成”。

我当时盯着屏幕看了五分钟,差点怀疑自己是不是失忆了。

所以现在的做法是,原始的任务需求必须一起传给Codex。就算Claude挂了、计划废了,Codex至少还能拿着原始需求兜底,工作流不会直接断在半路。这叫灾备,懂不懂。

还有个坑:多任务并行的时候,一定要加目录锁。

别觉得并行执行显得你技术牛。上次我没加锁,两个worker同时改同一份配置文件,最后合并出来的东西连Git都报冲突,连夜回滚到凌晨三点。

另外权限审批也得做在这一层,敏感操作不能说执行就执行,该卡的地方得卡住。

4 Codex App Server:套壳的通信桥梁

很多人搞不清App Server是干嘛的。其实很简单,它就是Codex进程对外的接口,你想调用Codex的能力,就得通过它。

4.1 它到底提供啥能力

说白了,它把Codex的所有能力都封装成了一套可调用的协议:

用户认证、会话历史、线程管理、发起中断任务、命令执行、文件修改、工具调用事件、实时流式输出、审批控制……

核心数据结构就三个:

Thread:一段完整的对话;

Turn:用户一次请求加上Codex的完整处理过程;

Item:对话、命令、改文件、调工具这些具体事件。

4.2 一次完整的调用流程

客户端是通过类JSON-RPC 2.0的双向协议跟它通信的,基本流程长这样:

建立连接 → initialize → 创建或恢复 Thread → 启动 Turn → 持续接收流式事件 → Turn 完成

支持stdio、WebSocket和Unix Socket三种方式,默认用stdio。WebSocket目前还是实验性功能,远程暴露的话记得加TLS和身份验证,别裸奔。

说直白点,有了这东西,我们不用去碰Codex的底层代码,发发消息就能指挥它干活,相当方便。

5 Codex Agent Harness:真正干活的执行层

最后说最核心的Harness,说白了它就是Agent的运行时环境,是真正下场写代码的那个“打工人”。

它要干的事可多了:接收任务prompt,跑完整的agent loop,加载项目里的AGENTS.md指令,调用模型推理规划,决定什么时候读文件、搜代码、执行命令、改文件,遇到敏感操作发审批请求……

这些东西要是自己写,没个小团队磨仨月根本出不来。现在直接拿来用,香是真的香。

6 最后说句实在的

现在很多人一听到“套壳”就嗤之以鼻,觉得没技术含量。

其实真不是。底层执行层固然重要,但怎么把业务逻辑、任务编排、用户体验做好,怎么把现成的能力揉成自己的产品,这本身就是技术活。

毕竟,总不能人人都去造发动机对吧。我们这些做产品的,能把现成的技术用好,做出用户愿意用的东西,就已经赢了。

P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,[传送门https://blog.csdn.net/qq_34419312](https://blog.csdn.net/qq_34419312/article/details/1627605

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐