OpenAI 将 Rust 完全融入,改进 Codex CLI 重构以增强效能
发布时间:2025-06-26 13:49:20 | 责任编辑:张毅 | 浏览量:8 次
近日,OpenAI 宣布将重构其 Codex CLI 工具,彻底放弃 TypeScript,转而采用 Rust 语言。这一决定旨在为开发者提供更高效、更稳定的 AI 终端交互体验。Codex CLI 最初是为简化开发者在终端与 AI 交互而设计的,采用了 TypeScript 和基于 React 的 Ink 框架。然而,随着 Codex CLI 的不断发展,团队发现 TypeScript 在应对日益复杂的用例时显得力不从心。
OpenAI 的技术团队成员 Fouad Matin 在 GitHub 讨论中表示:“我们正在重写 Codex CLI,采用 Rust 语言。” 虽然 TypeScript 版本在快速原型开发中表现出色,但随着需求的增加,其局限性逐渐显现。为了提升性能和可维护性,OpenAI 决定完全替换 TypeScript 版本,未来将专注于 Rust 版本的开发。
在 Rust 语言的核心优势方面,Matin 指出了几项关键改善。首先,Rust 能够提供更好的安装体验,当前 TypeScript 版本要求 Node v22及以上,这对部分用户来说是个障碍。其次,Rust 在安全性方面有更好的本地绑定。此外,Rust 还具有更好的运行时性能,避免了运行时垃圾收集,降低了内存消耗。
OpenAI 还计划在 Codex CLI 中开发一个 “通信协议”,以便开发者可以使用多种语言(如 TypeScript/JavaScript 和 Python)扩展该工具。这意味着 Codex CLI 将不仅仅是一个工具,而是一个可扩展的多语言插件友好型运行时,为基于模型的自动化提供支持。
尽管 Rust 版本仍在开发中,但开发者的反馈相当积极。有用户表示,“原生 Codex 运行得非常顺畅”,尽管目前 TypeScript 和 Rust 版本之间仍存在一些差异,例如配置文件支持及登录功能等。OpenAI 正在有条不紊地解决这些问题,确保 Rust 版本与 TypeScript 版本尽快达到功能上的一致。
总体来看,OpenAI 的这一转变不仅是对代码库的更新,更是对 Codex CLI 未来发展方向的重新定位。从简单的终端工具转变为一个可编程的智能代理,Rust 重构后的 Codex CLI 将更具灵活性、可移植性和长期可维护性,为开发者在实际应用中提供更加稳健的支持。
划重点:
🌟 OpenAI 宣布重构 Codex CLI,放弃 TypeScript 转向 Rust 以提升性能。
🔧 Rust 语言为 Codex CLI 提供更好的安装体验和安全性,同时降低内存消耗。
🚀 重构后的 Codex CLI 将成为多语言插件友好型工具,支持更复杂的开发需求。
OpenAI 并未全面转向 Rust,只是将旗下的 Codex CLI 从 TypeScript 迁移到 Rust 进行重写。以下是相关情况:
重写原因
-
性能提升:Rust 语言具有出色的性能优化,无需运行时垃圾回收,内存需求更低,可显著提升 Codex CLI 的性能。例如,Rust 版本的冷启动时间小于100毫秒,相比原版本的600-800毫秒提升了6-8倍,内存占用也从1.5-2GB减少到300-500MB,减少了70%以上。
-
安全性增强:Rust 版本在 macOS 上继续使用 sandbox-exec,在 Linux 上采用先进的 Landlock 技术,使工具可在沙箱环境中运行,进一步提升安全性。
-
简化依赖:原版本需要用户安装 Node.js 22 或更高版本,这可能对部分用户构成障碍。而 Rust 版本将实现零依赖安装,解决了这一问题。
-
协议支持:Rust 支持现有的 MCP(Model Context Protocol)实现,使 Codex CLI 能够作为 MCP 客户端和服务器运行,进一步拓展了其应用场景。
重写进展
目前,OpenAI 已经用 Rust 对 Codex CLI 进行了完全重写。在 Rust 版本达到与 TypeScript 版本同等体验和功能水平之前,TypeScript 版本将持续进行 BUG 修复,以确保用户的平稳过渡。
其他说明
尽管 Rust 的学习曲线相对较陡,但其作为系统级编程语言的高效性,以及优于 Node.js 使用的 V8 JavaScript 引擎的性能表现,使得 OpenAI 团队选择了这一技术路线。此外,基于 Rust 的 Codex CLI 仍可通过 JavaScript、Python 等其他语言进行扩展。
本网站(https://aigc.izzi.cn)刊载的所有内容,包括文字、图片、音频、视频等均在网上搜集。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务用于其他用途时,须征得本网站及相关权利人的书面许可,并支付报酬。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,予以删除。