"快速交付"交易的终结:为什么 AI 正在将语言选择转向系统级语言

在过去的十年里,软件工程的主流观点是“快速交付胜过快速运行”。开发者默认选择 Python 或 TypeScript,因为它们的生态系统庞大,人才储备深厚,且从想法到工作演示(demo)之间的摩擦极小。像 Rust、Go 或 C++ 这样的系统级语言提供了高出几个数量级的性能,但代价很高:陡峭的学习曲线、较慢的开发周期,以及往往让人感到像对手一样的构建系统。

这种交易已经结束了。高能力 AI agent 的出现从根本上改变了语言选择的权衡。当编程中“困难的部分”——管理内存安全、并发和严格的类型系统——由 agent 处理时,系统级语言的运行时优势开始超过脚本语言的人机工程学优势。

反馈循环:为什么 AI 更青睐“困难”语言

与直觉相反,对人类来说最难掌握的语言正变得对 AI agent 来说最容易实现的目标。这在很大程度上归功于强类型系统和严谨编译器提供的紧密反馈循环。

正如行业观察者所指出的,Rust 特别适合 AI 辅助开发。因为 Rust 编译器非常明确,且其错误信息非常精确,它提供了持续的高质量训练信号。当 agent 生成的代码无法通过编译时,编译器的反馈允许模型进行实时自我修正。在这种环境下,编译器充作为一名“护栏”,以 Python 的动态特性无法实现的方式确保正确性。

转变的证据:从论文到生产环境

在 AI 编排的驱动下,我们看到高复杂度项目在极短的时间内完成,仅为以前所需时间的零头:

  • TypeScript 编译器: Microsoft 最近将 TypeScript 编译器移植到了 Go,实现了 10 倍的性能提升。这一决策是基于 Go 能够以极低的传统工程成本提供必要的性能增益。
  • C 编译器在 Rust 中实现: 研究人员使用并行的 Claude agent 来编写一个生产级的 C 编译器,使用 Rust 语言——这项任务过去曾是研究生论文的课题——仅用了几周时间,且 API 成本相对较低。
  • 引擎移植: 在 AI 的指导下,Ladybird 浏览器的 JavaScript 引擎在两周内从 C++ 移植到了 Rust,实现了字节级的一致性,并在数万个测试中实现了零回归。

“生态系统”论点的侵蚀

从历史上看,支持 Python 的最强论点是其生态系统(FastAPI, PyTorch, pandas)。然而,随着 Python 生态系统的底层“管道”被用 Rust 重写,这一优势正在逐渐侵蚀。

Polars、Pydantic 和 Hugging Face tokenizers 等库正越来越多地基于 Rust。Python 生态系统正在变成一个“戴着 Python 帽子帽的 Rust 生态系统”。当核心逻辑已经用系统级语言编写时,Python 包装层开始显得像是不必要的开销。这一趋势通过 OpenAI 对 Astral(uvruff 的创建者)以及 Anthropic 对 Bun 的收购进一步证明,这表明 AI 实验室将高性能工具链视为 AI 驱动工程的核心基础设施。

从打补丁到移植

AI agent 正在改变开源社区的贡献单元。在传统模型中,开发者发现依赖项中的一个 bug,然后提交一个 patch。现在,将整个库移植到另一种语言的成本正在骤降。

"对我来说,价值正在从代码转向测试和文档。一个好的测试套件可能实际上比代码本身更有价值。"

如果将一个库跨语言移植成为一项仅需几分钟人类监督而非数月人工劳动的任务,那么维护旧有依赖项的动力就会减弱。这种“分叉并移植”(fork and port)的能力正在取代“打补丁并提交上游”(patch and upstream)的需求。

反方观点与约束条件

尽管存在这种转变,但这种转型并非绝对。仍有几个关键的约束条件:

1. 人在回路中 (Human-in-the-Loop)

批评者认为,在团队不熟悉的语言中使用“氛围编程”(vibe-coding)是灾难的预兆。虽然 AI 可以生成高性能的 Rust app,但人类仍必须充当正确性的判断者。如果生产环境中出现了一个关键 bug——例如一个仅在重负载下才出现的 $O(N^2)$ 复杂度问题——那么一个无法阅读该语言的团队将无力快速修复它。

2. 训练数据偏差

AI 的熟练程度是反映训练数据的。Rust 和 Go 语言在 GitHub 上很受欢迎,而一些小众或高度专业化的语言(如 Zig, Haskell, 或 Gleam)仍然缺乏足够的训练数据量,使得 agent 无法像其他语言一样高效,无论该语言本身的逻辑如何。

3. 领域统治地位

在深度学习研究领域,PyTorch 的统治地位不太可能发生动摇。模型权重与包装语言无关,而研究社区更看重迭代速度而非运行时效率。

结论:新秩序

过去二十年语言选择的模式是由“人类在低级语言上编写代码很慢”这一约束所塑造的的。而这一约束正在消失。人类的角色正在从“编写代码”转向“架构设计系统并审查输出”。

在这种新秩序下,Python 的人机工程学优势变得不再重要,而系统级语言的运行效率优势则会产生复利效应。我们正在进入一个时代,最成功的语言将不再是那些对人类来说最容易编写的语言,而是那些最容易被 agent 目标化并进行验证的语言。

Sources