首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

用 Rust 重写 Prime Agent

摘要

Rewriting Prime Agent in Rust Since we launched Prime Agent [1] in August, it has been downloaded more than 300,000 times and has processed over 8 trillion tokens. Today, we're excited to ship a faste...

and Prime Agent Rust tokens the with agent agents 000
2026-10-10 1 阅读 约6分钟阅读 piotrgrabowski
分享:
字号:
用 Rust 重写 Prime Agent 自从我们在 8 月份推出 Prime Agent [1] 以来,它的下载量已超过 300,000 次,并已处理超过 8 万亿个代币。今天,我们很高兴能够推出一个更快、更干净、更可靠的 Prime Agent,它是用 Rust 从头开始​​重写的。在两周的时间里,Prime Agent 精心策划了超过 2,000 个代理,对自身进行了端到端的重写,在 10,000 多个 Prime 沙盒中运行,其中包含来自 Prime Inference 的 GLM-5.3 端点的超过 2000 亿个代币。 Rust 重写了经过压力测试的 Prime Agent 的多代理功能,包括我们一直在构建的沙箱和推理基础设施,以支持大规模代理群、自主研究和强化学习。为了确保与 TypeScript 版本的功能对等,Prime Agent 编排子代理以拓扑方式对依赖关系进行排序,并使用有限状态机构建循环计算和正确性检查。与此同时,我们重写了代码架构,以便于维护和开发。然后,我们使用运行时基准和真实的 Prime Agent 跟踪来衡量爬山性能指标和分类错误。现在,与大多数编码代理工具相比,Prime Agent 运行速度更快,使用的资源更少。子代理深度 父深度 1 深度 2 深度 3 Rust 实现 192.99B 代币 1,981 个代理 性能 Hillclimb 35.70B 代币 228 个代理 10 月 1 日,15:59 2,209 个代理 · 16,758 条代理到代理消息 · 228.70B 总代币 为什么 Rust TypeScript 帮助我们快速交付 Prime Agent,但它的类型是可选的在运行时消失,错误作为未经检查的异常传播,渲染和解析大型会话等 CPU 密集型工作与单个事件循环上的键盘输入竞争,每个进程都为 JavaScript 运行时和垃圾收集器付费。我们希望保持尽可能快的交付速度,同时随着代码的增长保持更高的标准,Rust 非常适合这一点:性能:Prime Agent 是一个长时间运行的守护进程,每个会话有一个工作进程,没有垃圾收集器的本机代码占据了我们所获得的大部分内存和启动收益。并发性:一个守护进程流式传输模型输出、运行工具调用、在代理之间中继消息并立即为每个连接的客户端提供服务。 Rust 的 Send 和 Sync 特性让编译器检查哪些数据可以在线程之间移动以及哪些数据可以共享。编译时保证:详尽的枚举、所有权和生命周期在代码运行之前排除了整类错误,而 Clippy 的迂腐 lint 增加了数百个检查,这在代理编写大部分代码时很重要。除了这些明显的性能提升之外,重写还让我们有机会重新思考我们的设计选择。我们已经显着模块化了我们的代码库,并且正在收获这次重写的回报,包括 Windows 支持、会话崩溃隔离和更一致的守护程序协议。 Prime Agent 如何自我重写 我们的目标是让代理能够在尽可能少的人工干预下自主执行重写。因此,所需的人工工作是设置适当的验证以实现大规模自主部署。我们遵循与之前的自动 Rust 翻译工作类似的设置 [2]。每个规范都涵盖了一种不同类型的奇偶校验: TUI 奇偶校验:差异测试套件将 TypeScript 和 Rust 二进制文件与相同的脚本模型并排进行比较,并区分每个文件渲染的终端帧。它涵盖了用户流程,包括启动、斜杠菜单、工具调用、压缩、代理视图、会话恢复、子代理和崩溃恢复。利用奇偶校验:相同的运行 diffd 会话记录和每个二进制文件发送到模型提供程序的请求,因此两者都从相同的输入生成相同的会话。协议奇偶校验:守护进程协议中的所有消息类型都会根据 TypeScript 实现进行检查,确保我们的 ACP 和守护进程协议 API 保持一致。功能对等:由于脚本化流程无法覆盖整个界面,代理逐个组件审核 T​​ypeScript 产品,将每个组件分类为匹配、部分或缺失。通过对每种奇偶性进行客观检查,代理可以衡量自己的进度并在更改合并之前捕获回归,这让我们减少了人工审查。其余的错误和行为差异主要是通过内部使用发现的,这指导了我们针对缺失功能、可靠性和界面完善的后续工作。我们在两个 8 核按需 CPU 节点上运行所有协调器及其代理,每个节点支持超过 100 个并发子代理及其各自的 CPython 内核。此外,由于当数十个代理同时运行时,编译、类型检查和比较会使任何一台机器饱和,因此我们为代理构建了实用程序,将繁重的工作外包给 Prime Sandboxes,从而使我们能够高度并行化我们的端口。客观的 TUI 奇偶校验器会比较 TypeScript 和 Rust 版本的终端框架并突出显示差异。有限状态机的编排 单根
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱