写点什么

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:025719

评论

发布
暂无评论

SAP Cloud for Customer(C4C)和微软Outlook的集成

汪子熙

微软 SAP abap SAP UI5 outlook

help.hybris.com和help.sap.com网站的搜索实现

汪子熙

Java SAP abap Hybris

乾坤大挪移:SAP CRM WebClient UI 和 SAP Fiori UI 混搭并存

汪子熙

CRM SAP abap WebClient UI bsp

华为VS谷歌:万物互联,谁主沉浮?

老猿Python

华为 Google HarmonyOS 谷歌 Fuchsia

Github大神梳理了各个大厂春秋招面经,分享上万道面试题及答案,面试过程的文档教程!

Java架构师迁哥

IP数据库的定位能力在商业端的具体应用有哪些?(一)

郑州埃文科技

Pulumi AWS 在进行预览更新的时候持续提示 Key 错误

HoneyMoose

职场人弯道超车的秘籍,利用Camtasia可以轻松实现!

淋雨

Camtasia 专业录屏

【LeetCode】反转每对括号间的子串Java题解

Albert

算法 LeetCode 6月日更

XCH奇亚算力挖矿系统开发成功案例丨XCH奇亚算力挖矿开发(源码演示)

系统开发咨询1357O98O718

IP地址定位在网站上的几个代表性应用

郑州埃文科技

Hybris UI的Route(路由)实现

汪子熙

Java SAP WebClient UI Hybris

使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

汪子熙

JavaScript SAP abap WebClient UI SAP UI5

Hybris ECP里Customer对应的数据库表

汪子熙

JavaScript CRM SAP WebClient UI SAP UI5

Java并发编程——AQS源码解析

Antway

6月日更

Chia(奇亚)算力挖矿系统开发详解丨Chia(奇亚)算力挖矿开发源码功能

系统开发咨询1357O98O718

这个暑假,狂暴输出炫酷的游戏视频,就靠Camtasia 2021啦!

淋雨

Camtasia 录屏 专业录屏

SAP BSP和JSP里的UI元素ID生成逻辑

汪子熙

Java jsp SAP abap SAP UI5

如何查看SAP CRM WebUI,C4C和Hybris里的页面技术信息

汪子熙

CRM abap WebClient UI SAP UI5

JavaScript and Ruby in ABAP

汪子熙

JavaScript SAP abap WebClient UI

微服务简介

wildpig

容器 微服务 Spring Cloud

Pulumi Stack 命令不能找到默认的 Stack

HoneyMoose

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

汪子熙

JavaScript CRM SAP abap SAP UI5

树莓派体验Docker

IT蜗壳-Tango

6月日更

BZZ节点算力挖矿系统开发流程丨BZZ节点算力挖矿现成源码

系统开发咨询1357O98O718

☕【JVM技术之旅】字节码指令重排序

码界西柚

JVM 指令重排序 6月日更

进大厂必备的项目经验!基于Spring Cloud再造滴滴打车项目实战

Java架构追梦

Java 架构 微服务 SpringCloud 网约车项目

SAP ABAP和Hybris的源代码生成工具

汪子熙

Java SAP abap Hybris commerce

还在用SELECT COUNT统计数据库表的行数?Out了

汪子熙

SAP abap hana

架构实战营模块5作业

Vic

架构实战营

没想到你是这样的EasyRecovery

淋雨

数据恢复 EasyRecovery 文件恢复

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