claude Code 和 codex 作为编程代理,前者使用typescript开发,后者使用rust,他们的决策依据是什么

这是一个非常有意思的问题,因为它实际上涉及到 AI Agent 工具的工程哲学

简单来说:

  • Claude Code 选择 TypeScript,更偏向「快速迭代、生态优先、跨平台分发」。
  • Codex 选择 Rust,更偏向「性能、安全、长期基础设施」。

而且有趣的是,OpenAI 和 Anthropic 实际上走过了相反的路径:

产品 初始语言 当前语言
Claude Code TypeScript 仍然是 TypeScript
Codex CLI TypeScript 后来重写为 Rust

这并不是猜测,而是 OpenAI 官方明确公开过的。 (OpenAI)


Claude Code 为什么是 TypeScript?

Anthropic 没有专门写过《为什么选择 TypeScript》的博客,但从官方文档和泄露出来的大量源码可以推断出其设计目标。 (Claude API Docs)

Claude Code 的安装方式:

npm install -g @anthropic-ai/claude-code

要求:

Node.js 18+

(Claude API Docs)

从工程角度看,这意味着 Anthropic 把 Claude Code 当成:

一个大型 Node.js 应用,而不是系统软件。

它有几个明显优势:

1. 极快的开发速度

Claude Code 团队本身大量使用:

  • React
  • Node.js
  • TypeScript
  • MCP生态

TypeScript 对 AI Agent 特别友好:

Tool
Action
Permission
Message
Session
Context

这些都是结构化对象。

TypeScript 的类型系统已经足够表达:

interface ToolCall {
    name: string;
    args: object;
}

开发效率远高于 Rust。


2. MCP 生态天然兼容

Claude Code 是 MCP(Model Context Protocol)最积极的推动者之一。

MCP Server 大量是:

  • Node.js
  • Python

实现的。

TypeScript 做:

spawn()
stdio
json-rpc

非常方便。


3. Agent 本身不是性能瓶颈

Claude Code 的耗时主要在:

Claude API
网络请求
工具调用
文件系统

而不是:

CPU计算
内存拷贝
线程调度

因此:

TypeScript 慢一点
≈
无关紧要

对于 Agent 产品来说,

95% 时间都在等待模型返回结果。


4. 快速试验能力

Claude Code 几乎每周都有新能力上线:

  • Hooks
  • Subagent
  • MCP
  • Memory
  • IDE 集成

这种高频迭代更符合:

Move fast

而不是:

Optimize everything

Codex CLI 最初其实也是 TypeScript

很多人不知道这一点。

2025 年 OpenAI 刚开源 Codex CLI 时:

TypeScript
Node.js

是主要实现语言。 (OpenAI Help Center)

后来 OpenAI 进行了重写。

官方工程师 Michael Bolin 在《Unrolling the Codex agent loop》中提到:

如果想了解更细节的设计决策,可以查看 GitHub Issues 和 PR。 (OpenAI)

而社区整理出的 OpenAI 官方讨论中,给出了重写 Rust 的主要原因。 (Reddit)


OpenAI 为什么改成 Rust?

这是目前能找到最接近官方解释的总结。

1. 去掉 Node 运行时依赖

官方讨论中最常提到的一点:

Node v22+

是额外依赖。

用户安装链路变成:

安装 Node
↓
安装 Codex

企业环境经常不喜欢这样。

Rust 可以做到:

一个二进制文件

直接运行。

(Reddit)


2. Sandbox 本来就是 Rust

Codex 的安全模型很重。

需要:

  • 文件隔离
  • 命令执行控制
  • Linux Sandbox

而 OpenAI 的 Linux Sandbox 组件本来就已经是 Rust。 (Reddit)

于是出现:

CLI = TypeScript

Sandbox = Rust

维护成本较高。

统一到 Rust 更合理。


3. 更低内存占用

Agent 往往会:

扫描仓库
分析文件
维护上下文
运行工具

大型项目可能:

10万+
100万+ LOC

Rust:

无 GC
更少内存
更快启动

对于 CLI 工具有优势。

(Codex Knowledge Base)


4. 更强的安全性

Rust 的价值不仅是性能。

更重要的是:

Memory Safety

Agent CLI 需要执行:

rm
git
npm
docker

这些都是高权限操作。

Rust 更符合 OpenAI 对长期基础设施的定位。


5. 未来的可扩展协议

OpenAI 提到正在构建:

Wire Protocol

允许:

  • Rust
  • Python
  • TypeScript
  • MCP

等多种扩展。 (Reddit)

所以 Codex CLI 的目标已经不是:

一个 Node 应用

而是:

一个 Agent Runtime

这就更接近:

  • Git
  • Docker
  • Kubernetes

这类基础设施软件。


两家公司的哲学差异

如果把它们放在一起看,就会发现非常明显的风格差异:

维度 Claude Code Codex
核心语言 TypeScript Rust
优先级 产品迭代 基础设施
安装方式 npm 原生二进制
生态 Node/MCP 多语言 Runtime
工程哲学 Move Fast Systems Engineering
典型用户 AI-first 开发者 工程团队/企业

Claude Code 更像:

Cursor 的终端版

而 Codex 越来越像:

Docker + AI Agent


更深层的原因

我认为真正的决策依据其实不是 TypeScript 和 Rust 本身。

而是两家公司对 Agent 的定位不同:

Anthropic

认为 Agent 是:

一个不断进化的产品

所以:

优化开发速度
>
优化运行速度

选择 TypeScript 很自然。


OpenAI

越来越把 Codex 当成:

Agent Operating System

或者:

AI Runtime

这种东西最终会变成:

长期维护
跨平台
高安全
低资源占用

的基础设施。

于是 Rust 的优势开始压倒 TypeScript。


从结果来看,OpenAI 的路线甚至可以总结为:

第一阶段用 TypeScript 验证产品;第二阶段用 Rust 固化基础设施。

而 Anthropic 目前仍处于高速创新阶段,因此继续坚持 TypeScript。未来如果 Claude Code 的规模继续扩大,也不能排除像 Codex 一样逐步把底层核心模块迁移到 Rust 的可能性。 (Codex Knowledge Base)

posted @ 2026-05-30 17:10  悠哉大斌  阅读(113)  评论(0)    收藏  举报