写点什么

18 天光速打脸!OpenAI 刚夸 TypeScript 最合适,转头就用 Rust 重写 Codex CLI

  • 2025-06-04
    北京
  • 本文字数:2751 字

    阅读完需:约 9 分钟

大小:1.30M时长:07:35
18天光速打脸!OpenAI刚夸TypeScript最合适,转头就用Rust重写Codex CLI

整理 | 华卫


刚刚,OpenAI 正式对外推出了 AI 编码神器 Codex,其目前向 ChatGPT Plus 用户开放。据悉,Codex 在限定时段内提供宽松的使用额度,但在需求高峰期间,可能会对 Plus 用户设置速率限制,以确保其能广泛可用。



并且,现在 Codex 可以在任务执行过程中访问互联网了,用户可用其安装基础依赖项、运行需要外部资源的测试、升级或安装构建新功能所需的软件包等。互联网访问功能将向 ChatGPT Plus、Pro 和 Team 用户开放,之后也将支持企业版用户。不过,该功能日常默认处于关闭状态,在创建新环境或编辑现有环境时可随时启用。


“我们不再处于集成开发环境(IDE)时代了。我们进入了自主开发时代。”有网友激动地表示,“这是一个能自行搜索、安装、编码、测试、修复错误并发布的 AI。”此前 OpenAI 的 CEO Sam Altman 曾坚称,到今年年底,AI 模型将能够超越初级软件工程师。


值得一提的是,在发布推出 Codex 前,OpenAI 首先宣布了用 Rust 重写 AI 命令行编码工具 Codex CLI 的消息,称此举可提升性能和安全性并避免对 Node.js 的依赖。尽管这对部分用户而言, “可能令人沮丧或构成障碍”。


“最合适”编程语言改了两次,主导者刚入职一年


Codex 是一款实验性编码代理工具,既可以在 ChatGPT 的网页浏览器中运行,也能通过 Codex CLI 在本地运行。其采用基于聊天的用户界面,CLI 支持两种模式:交互式(通过 codex 命令前缀触发)和非交互式静默模式(可用于持续交付管道,如生成更新日志)。


据介绍,Codex CLI 可通过 WSL(适用于 Linux 的 Windows 子系统)在 MacOS、Linux 或 Windows 上运行。该工具专为习惯使用终端的开发者设计,他们既需要 ChatGPT 级别的推理能力,又希望拥有真正运行代码、操作文件和迭代开发的能力——且所有操作都在版本控制下进行。简而言之,它是理解并执行代码仓库的“聊天驱动型开发工具”,可充分发挥 o3、o4-mini 等模型强大的推理能力,且具有以下特性:


  • 零配置启动:只需提供 OpenAI API 密钥即可使用;

  • 全自动审批机制:默认禁用网络访问并启用目录沙箱,确保安全可靠  ;

  • 多模态交互:支持上传截图或图表以实现功能需求。


现在,Codex CLI 在 GitHub 上是完全开源的,当前已获 27.9k 个 Star。据发布者称,“Codex CLI 是一个仍在积极开发中的实验性项目,目前尚不稳定,可能存在漏洞、不完整的功能或会进行重大变更。我们正与社区公开共建该项目,并欢迎:错误报告、功能请求、拉取请求、积极反馈。”


项目链接:https://github.com/openai/codex


同时,我们注意到,当前 Codex CLI 项目中代码占比最高的是 Rust 语言。“我们一直在努力将 Codex CLI 重写为 Rust”,这一消息的来源是 OpenAI 工程师、Codex CLI 项目维护者 Fouad Matin 。



值得注意的是,Matin 加入 OpenAI 刚一年左右。在 Matin 的个人介绍页面显示,作为一名软件工程师和产品设计师,他目前在 OpenAI 从事安全工作。此前,他参与创立了 Indent、VotePlz 和 StrongIntro 三家科技公司,并曾在 Segment 领导产品和工程开发。



去年 6 月,当时还是 AI 安全公司 Indent 联合创始人和 CEO 的 Matin 在 X 和 Reddit 上宣布:"我们已经加入 OpenAI,致力于使 AGI 安全可靠!"彼时, OpenAI  刚解散了"超级对齐"团队,其安全问题再次成为焦点,因而决定重组安全团队。


而就在半个多月前,Matin 还在 Reddit 针对“为什么用 TypeScript 而不是 Python 编写 Codex CLI 工具”的问题时这样回复:TypeScript 是其非常熟悉且最适合 UI 的语言,即使该 UI 在终端中。当时,Matin 还没有明确表达“要更换语言重写”的计划,只表示,“在不久的将来,我们会有一个高性能的引擎,可以绑定不同的语言,这样人们就可以决定用自己喜欢的语言进行扩展。”



为何要用 Rust 重写?目标:尽可能高效


然而,几天前,Fouad Matin 突然在 GitHub 上透露,Codex CLI 的源代码原先主要是用 TypeScript 编写并在 Node.js 上运行,但其团队现在已经用 Rust 进行了完全重写。


“我们想使用最好的工具来完成这项工作。Codex CLI 配备了简洁的终端 UI,借助基于 React 的 ink 框架可以轻松实现快速开发和迭代,但该项目的核心是‘代理 ’工具,也就是在循环中调用模型。 ”



Matin 指出,尽管当前基于 React 和 TypeScript 的版本易于编写和交互,但其“目标是让软件组件尽可能高效” ,改用 Rust 能带来以下四个方面的关键改进:


  • 第一是零依赖安装。当前版本需 Node.js 22 或更高版本,这样的要求可能对部分用户构成障碍;

  • 其次是需要沙箱化。在 macOS 上,Codex CLI 的命令由 Apple Seatbelt(sandbox-exec)包装,在可配置的沙箱环境中运行;Linux 版默认未沙箱化,OpenAI 建议在容器中运行它。而在 Rust 版本,OpenAI 创造了一种对 Rust 命令进行沙盒处理的方法,在 macOS 上仍然沿用 sandbox-exec,Linux 则采用 Landlock(https://docs.kernel.org/userspace-api/landlock.html);

  • 第三是性能优化。无需运行时垃圾回收,内存需求更低;

  • 第四是能够使用现有的 Rust 实现 MCP(模型上下文协议)。Codex CLI 将同时支持作为 MCP 客户端和服务器。


不过,基于 Rust 的 Codex CLI 仍可通过 JavaScript、Python 等其他语言进行扩展,具体细节尚未公布。据 Matin 称,至少在 Codex CLI 的 Rust 版本达到“体验和功能对等”之前,其将继续并行开发原始 TypeScript 版本和修复 Bug。


Rust 重写浪潮又起


Rust 作为系统级语言,本质上比 Node.js 使用的 V8 JavaScript 引擎上运行的代码更高效。但相应的代价是,其开发难度更高,因此生产力可能低于 TypeScript 或 JavaScript。根据大多数调查,JavaScript 和 Python 是更加流行的编程语言,而 Rust 的知名度较低。


然而,当前 OpenAI 并非唯一看重 Rust 效率的组织。近期用 Rust 重写的浪潮又猛烈起来,尤其是在追求性能提升的工具领域。


5 月底,Vue.js 创始人尤雨溪(Evan You)发布了 Rolldown-Vite——Vite 本地开发服务器和构建工具的新版本。尤雨溪表示,Vite 目前底层使用 Rollup.js 打包工具,而用 Rust 实现的 Rolldown 替换后,“生产构建时间减少 3-16 倍,构建过程中的内存使用最多减少 100 倍”。


马斯克也对 Rust 青睐有加,前几天在推出消息传递工具 XChat 时,宣布其已用 Rust 完成技术重构,支持加密功能、消息自毁功能、音视频通话以及发送任何类型文件的能力。



上个月,AI 编码工具 Zed 用近 60 万行 Rust 代码重新将自己构建了一遍,并声称其做到了“目前市场上速度最快的 AI 代码编辑器”。此外,空间机载系统等安全关键领域正在持续进行应用 Rust 的研究。


参考链接:


https://devclass.com/2025/06/02/node-js-frustrating-and-inefficient-openai-rewrites-ai-coding-tool-in-rust/


https://github.com/openai/codex/discussions/1174


声明:本文为 InfoQ 整理,不代表平台观点,未经许可禁止转载。

2025-06-04 17:025937

评论

发布
暂无评论

模块7作业

Mr小公熊

数据库原理知识及SQL语言知识拓展

王小王-123

MySQL 数据库 MySQL 数据库 4月月更

老项目改造返回值规范化

Rubble

4月日更

关于数据仓库架构及各组件方案选型

五分钟学大数据

数据仓库 4月月更

Redis+Caffeine两级缓存,让访问速度纵享丝滑

Java工程师

Java 数据库 redis 架构 高性能

王者荣耀商城异地多活架构设计

李大虾

#架构实战营 「架构实战营」

区块链溯源!“有机”食品也要“有迹可循”

旺链科技

区块链 产业区块链 食品追溯

音视频开发必懂知识—低延迟相关知识整理

Linux服务器开发

WebRTC ffmpeg 音视频开发 低延迟 流媒体服务器开发

不想被开巨额罚单?银行需筑起数据安全“护城河”

BeeWorks

读《A Philosophy of Software Design》——(9)

术子米德

架构师成长笔记

面向对象编程,你真正懂吗?

CRMEB

王者荣耀商城异地多活架构设计

五月雨

架构实战营 「架构实战营」

模块七

Leo

架构实战营

云原生小课堂|高性能、高可用、可扩展的MySQL集群如何组建?

York

云原生 MySQL 高可用 MySQL 数据库

读《A Philosophy of Software Design》——(8)

术子米德

架构师成长笔记

洞见科技深度参编的央行金科联盟「多方安全计算」及「联邦学习」金融应用研究报告正式发布

洞见科技

金融科技 隐私计算 金融创新

Tapdata PDK 生态共建计划启动!Doris、OceanBase、PolarDB、SequoiaDB 等十余家厂商首批加入

tapdata

数据库 实时数据

王者荣耀商城异地多活架构设计

AragornYang

架构训练营 架构实战营

每个互联网人才都应该知道的SQL注入!

喀拉峻

网络安全 安全 渗透测试 SQL注入

为什么客户体验为王

小炮

客户服务

皮皮APP联动社会各界,关注孤独症儿童,照亮人生成长的道路

联营汇聚

浅谈加密算法 aes

奋飞安全

android 安全

SpringBoot接入轻量级分布式日志框架(GrayLog)

Java工程师

Java spring 分布式 springboot 组件

声网的混沌工程实践

声网

测试 混沌工程 质量保障 Dev for Dev

那些年我们一起优化的SQL

Java工程师

Java sql 程序员 索引 MySQL 数据库

架构训练营 模块七

Geek_16d2b8

架构训练营 模块七

现代间谍技术的演变:从“王牌特工”到“行走的50w”

脑极体

[Day8]-[动态规划] 最长公共子序列

方勇(gopher)

LeetCode 动态规划 数据结构与算法、

架构实战营:模块七作业

刘璐

众安保险 x StarRocks | 全新实时分析能力开启数字化经营新局面

StarRocks

数据库 StarRocks

模块七作业

blazar

「架构实战营」

18天光速打脸!OpenAI刚夸TypeScript最合适,转头就用Rust重写Codex CLI_AI&大模型_华卫_InfoQ精选文章