Prime Intellect 在官方博客宣布,编码工具 Prime Agent 已从 TypeScript 整页改写为 Rust。发布方称,这次改写主要由 Prime Agent 自己调度的 agent 群完成,用来检验其大规模多 agent、沙箱与推理基础设施。自 8 月发布以来,Prime Agent 下载超过 30 万次,处理超过 8 万亿 token。
据发布方博客,改写历时两周。Prime Agent 调度了超过 2000 个 agent,在 1 万多个 Prime Sandbox 中运行,并使用 Prime Inference 的 GLM-5.3 端点超过 2000 亿 token。原文写的是 “over 200 billion tokens”,没有给出更精确的消耗数字。博客还提到,编排器和 agent 跑在两台 8 核按需 CPU 节点上,每台支持超过 100 个并发子 agent 及其 CPython 内核;编译、类型检查和对比等重活被外包到 Prime Sandbox。
人的主要工作是搭验证,而不是逐行写产品代码。验证分成四类:TUI 对同一脚本化模型并排比较新旧二进制并比对终端帧;Harness 比对会话记录和发往模型提供方的请求;协议侧核对 daemon 协议的全部消息类型;功能侧则由 agent 按组件把 TypeScript 实现标成一致、部分一致或缺失。
一个根 agent 负责把工作拆成拓扑顺序、监控进度并合并结果,不写产品代码。每个任务依次经过四个 agent:Planner 写规格、TypeScript 行为和校验;Implementer 在独立 worktree 里写 Rust;Reviewer 用与实现者不同的模型、在单独上下文里做对抗式审查;Verifier 在新的 Prime Sandbox 里编译并跑齐平性检查。审查或验证失败会退回实现者,两边都通过才合并。
主 RLM 循环对齐之后,改写 agent 被迁到 Rust 版本上继续跑,发布方称之为用 Rust 版递归改进自身。随后内部团队也切到 Rust 构建做日常使用。博客称,把改写收到可发布质量,后续几周仍有跟进,这些改动仍由 Prime Agent 编写和测试,人负责发现问题、指定方向并审阅结果。
功能对齐后,第二个编排 agent 用同一套办法做性能优化:先有一套可复现的基准,再让 agent 自己衡量进展。基准每次测试使用一台全新的 4 核、8 GB Prime Sandbox,并丢掉不稳定到无法比较的结果。Agent 在真实终端里、经由屏幕模拟器、对着脚本化模型运行,计时反映用户所见,不含推理时间。
该编排 agent 跑了三天,目标只是在不破坏齐平性的前提下继续改进基准,没有设定数值门槛。循环记录了超过 144 条实验与审计记录,合并了超过 69 个有效改动。流程是:先剖析时间和内存、把最大开销变成假设并分给 worker;worker 在同一沙箱上交替跑当前代码和候选改动,并跑邻近基准以防别处回退;两名使用不同前沿模型的审查 agent 核对行为是否仍与 TypeScript 一致、声称字节级一致的输出是否保持一致,以及面向模型的接口有没有回退。
以下数字均来自 Prime Intellect 博客中的自测,不是第三方基准。
发布方给出的冷启动输入就绪延迟比 TypeScript 版快 14.18 倍。对比表里,“Time to type (cold)”一行写的是 TypeScript 737.8 ms(±13.9)、Rust 55.8 ms(±4.9),该行标注为 13.22 倍。热启动输入就绪在另一处写为快 13.34 倍;对比表中热启动为 TypeScript 549.6 ms(±10.0)、Rust 42.4 ms(±4.3),行内标注 12.96 倍。大会话(10 MiB)进程树 RSS 缩小 4.76 倍。完整安装体积缩小 2.89 倍,表中为 Rust 59.6 MB、TypeScript 172.1 MB。Agents 视图切换快 6.09 倍。
同一张表还列出启动后整个进程树 RSS:Rust 106.0 MB(±1.3),TypeScript 607.4 MB(±0.9),标注为小 5.73 倍。正文另称,启动后内存少用 80% 以上,输入就绪大约比 TypeScript 快 14 倍。首次可见输出(first paint)为 Rust 23.6 ms(±0.6)、TypeScript 722.8 ms(±15.1),表内标注快 30.63 倍。发布方把大部分收益归结为三类改动:把工作移出启动和渲染路径、用事件驱动等待替换轮询,以及大会话加载完成后尽快释放内存。
发布方写道,TypeScript 让他们较快发出 Prime Agent,但类型在运行时消失,错误以未检查异常传播,渲染和解析大会话等 CPU 重活与键盘输入抢同一个事件循环,每个进程还要负担 JavaScript 运行时和垃圾回收。他们希望继续快速迭代,同时在代码变大后保持更严的约束。文中列出的理由包括:无垃圾回收的原生代码解释了大部分内存和启动收益;Send 与 Sync 由编译器检查跨线程数据;穷尽枚举、所有权和生命周期,加上 Clippy 的 pedantic lint,在“代码主要由 agent 编写”时能在运行前排除一批错误。
代码拆成九个 crate,依赖由图由 Cargo 约束为单向,TUI 唯一的内部依赖是共享类型 crate。最大源文件从 TypeScript 的约 15,000 行降到约 2,500 行;TypeScript 里有四个超过 5,000 行的文件,Rust 版没有超过 5,000 行的文件。每个会话在小型 supervisor 下的独立 worker 进程中运行,一个会话失败不会拖垮其他会话,会话落在磁盘上,客户端可在重启后重新挂接。传输、进程控制和文件锁放在平台相关接口后面。客户端、daemon 和每个 worker 编译同一套共享消息类型。模型和 MCP 列表改为运行时拉取的目录,从而可以不发 Prime Agent 新版本就上线新模型和插件。
随这次改写,Prime Agent 提供原生 Windows 支持(beta),并可通过 Homebrew 安装。项目仍开源,安装命令为 curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh;Windows 为 irm https://app.primeintellect.ai/prime-agent/install.ps1 | iex。
对比表还列入 Claude Code v2.1.289、Codex CLI v0.160.0、Pi v1.0.3 和 Hermes Agent v0.21.5。冷启动可输入时间分别为 348.4 ms、324.6 ms、317.7 ms 和 2,094.5 ms;安装体积分别为 492.4 MB、446.8 MB、456.0 MB 和 960.1 MB;启动后进程树 RSS 分别为 226.9 MB、344.4 MB、138.1 MB 和 194.6 MB。这些外部结果使用的是 Prime Intellect 自建运行时测试套件。原文写明:在缺少通用基准标准的情况下,对比应谨慎解读。
博客称,接下来会把这次改写背后的多 agent 工作流开放给用户,并把 Prime Agent 更紧地接到 Prime Intellect 的云端 agent swarm、推理、trace、沙箱、评测和托管训练等能力上。