两周时间,2000多个智能体,10000多个沙箱,2000亿token。Prime Intellect在10月9日公开了自家编程智能体Prime Agent从TypeScript重写为Rust的全过程,这组数字是整篇复盘里最扎眼的部分。
![]()
被重写的那个智能体本身也不是小角色。据同一篇发布内容,它自8月上线以来下载量已超过30万次。换句话说,这不是拿一个玩具项目练手,而是把一个有真实用户量的工具整个换掉底层语言。
但真正值得抄走的不是token数。是另一件更小的事:怎么判断Rust版本和TypeScript版本行为一致。
一个不写产品代码的根智能体
整个移植由一个根编排器按依赖顺序拆成任务。发布内容里写得很直白:“根智能体没有写任何产品代码。”它负责盯任务、合并已完成的工作、维护全局视图,并和人类一起确定优先级。
每个任务往下走四个角色:
- 规划者写规格:功能设计、TypeScript版本实际做了什么,以及这个任务必须通过的校验方式。
- 实现者在自己的git worktree里写Rust,多个功能可以同时推进。
- 评审者对抗式地审PR,用的是“和实现者不同的模型、独立的上下文”。
- 校验者在全新的Prime沙箱里编译代码、跑一致性检查和测试。
评审不过或校验不过,任务带着问题清单退回实现者。两边都过,PR才合并。发布内容给的理由只有一句:“写代码的智能体在评估自己的代码时是有偏见的。”
这个循环里有两个失败出口,都指向实现者,没有一个向前放行。评审阶段看不到实现者的上下文,校验阶段根本不接受意见——没有智能体能给自己的活儿投票通过。
逐帧比对,一个没法争辩的测试
“行为一致”这种说法,不指名比什么就是空话。Prime Intellect比了四样东西:终端界面、运行框架、守护进程协议、功能清单。
终端界面这一项最具体:同一套脚本化模型分别驱动TypeScript和Rust两个二进制,把各自渲染出的终端画面逐帧做差分。脚本覆盖启动、斜杠菜单、工具调用、上下文压缩、智能体视图、会话恢复、子智能体和崩溃恢复。
关键在于那个“脚本化模型”。真实模型每次回答都不一样,两个二进制跟它对话,屏幕永远对不齐。换成一个按固定顺序返回固定token的脚本,两块屏幕之间的任何差异就只能来自客户端本身。
帧差分的核心逻辑朴素得刻意:在终端模拟器里渲染每个二进制,每步之后把整屏文本抓下来,找出第一个不一致的步骤。没有模糊地带,也没有“差不多就行”。
运行框架的一致性用同一轮运行比对会话记录和发给模型服务商的请求;守护进程的每种协议消息类型都要对照TypeScript实现检查;功能层面则由智能体逐组件审计TypeScript产品,标成匹配、部分匹配或缺失。
这套做法的可复制部分其实很小:挑一个你的智能体这周会碰到的流程,写成脚本,把检查塞进任务完成条件里,再开下一个任务。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.