为什么 AI 时代 Rust 正在成为主流基础设施语言

Rust 不会取代 Python,但正在 AI 基础设施、模型服务、Tokenizer、边缘计算与 Python 原生扩展中形成稳定位置。本文基于 Rust 官方调查、crates.io、Android、Linux 与 Hugging Face 的一手资料分析原因与边界。

为什么 AI 时代 Rust 正在成为主流基础设施语言

如果把“AI 编程语言”理解成训练模型和写 Notebook,Python 仍然是事实标准。Rust 的机会不在于复制 Python,而在于承接 AI 系统中越来越重要的另一层:高性能、可并发、可部署、需要长期稳定运行的基础设施

这里的“主流”需要限定范围。Rust 不是所有 AI 工作负载的第一选择,但它正在模型服务、数据处理、推理组件、Tokenizer、CLI、边缘计算、Python 原生扩展和安全敏感系统中形成稳定位置。

AI 系统不只有模型代码

一个生产级 AI 服务通常包含多种工作负载:

数据接入 → 清洗与切分 → 特征/Token 处理 → 模型推理 → API 服务 → 观测与调度
   I/O        CPU 密集          CPU/SIMD        GPU/CPU       高并发        长期运行

Python 擅长研究迭代和生态编排,但真正消耗 CPU、内存和网络资源的部分经常由 C、C++、CUDA 或 Rust 实现。Rust 的价值是把接近 C/C++ 的控制力,与现代包管理、类型系统和内存安全结合起来。

Rust 官方将语言目标概括为 performance、reliability 和 productivity:无垃圾回收器的可预测性能、所有权与类型系统带来的内存/线程安全,以及 Cargo 提供的构建和依赖管理。这三个特征恰好对应 AI 基础设施的核心约束。Rust 官方网站

内存安全从“语言偏好”变成工程指标

AI 服务会解析外部输入、处理二进制模型、共享缓存并运行大量并发任务。越靠近系统边界,越容易暴露越界访问、use-after-free、数据竞争和资源泄漏。

Google 在 Android 安全团队 2022 年的总结中披露:Android 内存安全漏洞占比从 2019 年的 76% 下降到 2022 年的 35%;当时 Android 新增 Rust 代码中没有发现内存安全漏洞。这个数据不能证明 Rust 消灭了全部漏洞,但说明“新代码优先使用内存安全语言”可以改变真实产品的漏洞结构。Google Security Blog

Linux 内核也已经提供官方 Rust 文档与内核 Rust API 文档。内核采用 Rust 并不代表现有 C 代码会被整体重写,而是说明 Rust 已进入对性能、兼容性和安全边界要求极高的工程环境。Linux Kernel Rust 文档

所有权模型适合高并发服务

Rust 编译器要求开发者明确数据的所有者、借用关系和跨线程共享方式。学习成本确实存在,但这套约束会在代码进入生产前阻止一类并发错误。

在模型网关或推理服务中,常见状态包括:

  • 模型与 Tokenizer 的只读共享;
  • 请求级上下文和取消信号;
  • 限流器、缓存与连接池;
  • 后台批处理任务和流式响应。

Rust 的 Arc、channel、Send/Sync 约束与 async/await 并不会自动写出高性能系统,却能让跨线程边界在代码审查时更加明确。相比依赖运行时约定,编译期约束更适合长期维护的基础设施。

Python 与 Rust 不是二选一

更现实的架构是分层协作:

常见选择 原因
研究、训练脚本 Python 模型与数据科学生态成熟
性能热点 Rust / C++ / CUDA 控制内存、SIMD、并行和设备调用
API 与网关 Rust / Go / Java 高并发、稳定延迟、可观测性
Python 原生扩展 Rust + PyO3/maturin 保留 Python API,热点下沉到原生代码
边缘与 CLI Rust 单文件分发、较小运行时依赖

PyO3 允许用 Rust 编写 Python 原生模块,maturin 负责构建和发布 Python 包。Hugging Face Tokenizers 的官方文档也说明其核心实现使用 Rust,并提供 Python、Node.js 和 Ruby 等绑定;这是“Rust 做核心,其他语言做接口”的典型案例。Hugging Face Tokenizers

社区数据说明 Rust 已进入生产阶段

Rust 官方发布的 2024 State of Rust Survey 有 9,450 人开始填写、7,310 人完成。报告中的关键结果包括:

  • 53% 的 Rust 用户几乎每天使用 Rust,比上一年提高 4 个百分点;
  • 53% 的受访者认为自己已经能高效使用 Rust,高于 2023 年的 47%;
  • 38% 的受访者在工作中大部分代码使用 Rust,高于上一年的 34%;
  • 45% 表示所在组织对 Rust 有非琐碎使用,比 2023 年提高 7 个百分点;
  • 82% 的工作用户表示 Rust 帮助公司实现了目标。

这些数字来自 Rust 社区调查,样本明显偏向已经接触 Rust 的人,不能外推为所有开发者的占比。但它们能说明 Rust 用户正在从试用转向持续、生产性的使用。2024 State of Rust Survey

截至 2026 年 7 月 13 日,crates.io 官方 Summary API 返回约 29.9 万个 crate、累计约 3616 亿次下载。累计下载包含自动构建、缓存和重复下载,不能等同于独立用户数;更可靠的含义是包生态和机器消费规模已经很大。crates.io API

Rust 的代价必须正视

Rust 并不是免费的性能升级:

  1. 所有权、生命周期和 trait 需要学习时间;
  2. 泛型与 async 错误信息可能复杂;
  3. 编译速度仍是官方调查中最常见的生产力限制之一;
  4. GPU 训练生态和研究工具仍远不如 Python/CUDA 成熟;
  5. 小型一次性脚本用 Rust 往往得不偿失。

因此,判断是否采用 Rust 不应从“语言热度”出发,而应从边界出发:这个组件是否性能敏感、是否长期运行、是否并发复杂、是否处理不可信输入、是否需要跨平台单文件分发?满足的条件越多,Rust 的收益越明显。

一个务实的采用路径

不要先重写整个 AI 系统。更稳妥的顺序是:

  1. 用 profiler 找到 Python 或现有服务的真实热点;
  2. 选择边界清晰的模块,例如 Token 切分、文本预处理、文件扫描或协议解析;
  3. 用 Rust 实现并保持原有 API,通过 PyO3、HTTP 或进程管道接入;
  4. 对吞吐、P95/P99 延迟、内存峰值和错误率做前后对比;
  5. 只有收益覆盖维护成本时才扩大范围。

AI 时代的主流不会只有一种语言。Python 继续负责表达模型与实验,CUDA 和专用内核负责设备计算,Rust 则越来越适合把这些能力组织成可靠的软件产品。它真正的竞争力不是“更快的语法”,而是让性能、安全与工程约束在同一套工具链里成立。

参考资料