免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

看Claude Code如何用Rust重写千问语音模型

发布日期:2026-01-29 19:30:02 浏览次数: 1526
作者:Second State

微信搜一搜,关注“Second State”

推荐语

Claude Code与Rust强强联手,将Qwen3-TTS语音模型重写为高性能Rust版本,实现极速推理与零依赖部署。

核心内容:
1. Qwen3-TTS语音模型的突破性性能:极低延迟与卓越音质
2. Rust语言在AI基础设施中的优势:编译安全性与高效执行
3. AI智能体与Rust编译器的协同工作模式:自动纠错与持续优化

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

Python 属于人类,Rust 属于机器:你要哪种未来?


太长不看版: 我们用 Claude Code + Opus 4.5,通过“vibecoding”将最新发布的 Qwen3-TTS 模型移植到了 Rust[1]。Rust 编译器负责捕捉语法、内存、线程等底层错误,而 Claude AI 则创建了自己的评估工具来确保功能正确性。这种反馈闭环使得 AI 智能体能够在无人干预的情况下长时间工作,并交付正确的 Rust 程序。

近日,Qwen 团队发布了 Qwen3-TTS[2],一个备受瞩目的开源 SOTA 文本转语音模型。其核心是一个“小身材大能量”的神经音频编解码器:仅凭 0.6B 参数量,就获得了行业领先的主观听感质量评分。

速度? 快得惊人。Qwen3-TTS 的首字延迟仅为 97 毫秒。当你输入一个字符时,几乎在抬起手指前,音频就已经开始流式输出了。此外,它的声音控制能力近乎神奇——你可以用纯英文描述来设计声音,或者仅用 3 秒音频克隆任何声音。

这对我们意义重大。我们的开源语音 AI 设备 EchoKit[3] 重度依赖 TTS 服务。Qwen3-TTS 兼具极低延迟、卓越音质、轻松克隆和小体量,这正是实时语音处理的“黄金组合”。一个能在用户自己的 Olares ONE[4]、DGX Spark 或 Mac Mini 上自托管运行的开源解决方案,无论在隐私还是成本上,都将是一大胜利。

但问题也随之而来。

Rust 是 AGI 的语言

Qwen3-TTS 的推理软件是用 Python 写的。这意味着要拖着 5GB+ 的依赖包,处理版本冲突,忍受 5 秒的启动时间,还要折腾虚拟环境。就为了跑个 TTS,要这么大开销?我可不要。

Greg Brockman (@gdb) · 2023年7月6日 “现代 ML 工程的大部分工作,就是让 Python 不再成为你的瓶颈。”

固件[5]到 WebSocket 服务器[6],整个 EchoKit[7]技术栈都是用 Rust 写的。我们想要的是紧凑、极速、几乎无外部依赖的二进制文件,这也是我们对 Qwen3-TTS 推理应用的期望。不止我们[8],业界顶尖的机构正因为同样的原因,纷纷选择用 Rust 构建 AI 基础设施。

Elon Musk (@elonmusk) · 2023年4月22日 “Rust”

Rust 非常适合“vibecoding”

Rust 编译器能捕捉 90% 的 AI 幻觉。如果 AI 捏造了不存在的代码,或偏离了内存/线程安全的最佳实践,编译器绝不会放行。它甚至会给 AI 提供详细的错误修复建议。这与当今的代码 AI 非常契合——它为 AI 的自我改进提供了一个绝佳的“奖励函数”。

Greg Brockman (@gdb) · 1月3日 “Rust 是智能体的完美语言,因为只要能编译,逻辑基本就对了。”

但功能性的 Bug 怎么办?代码编译通过了,但逻辑是错的。人类开发者也会产生幻觉并犯这类错误。Claude AI 有一个巧妙的解决方案!它创建了自己的工具(在本例中利用了 Qwen3-TTS 原始的 Python 包),来交叉验证 Rust 代码,确保功能正确。 Rust 编译器 和 代码 AI 构成的这两个相互连接的飞轮,正是 Rust 在智能体/vibecoding中大放异彩的原因。

开发过程

尽管如此,将 Qwen3-TTS 移植到 Rust 并非易事。该模型采用了一种新颖的架构:端到端离散多码本设计。传统的 TTS 系统将语言模型和扩散模型串联,容易造成信息瓶颈和误差累积。Qwen3-TTS 进行了创新,在一个统一的过程中直接从文本生成音频。回报是更高的质量、更好的效率和前所未有的控制力,但这也意味着推理应用必须处理这种全新的架构。

由于团队人手紧张,我决定亲自上阵。在德克萨斯州奥斯汀的冬天窗外狂风暴雪,我和 Claude Code 开始了闭门开发。 Image(图:奥斯汀的雪景。是不是很不错。)

说实话,我不知道该期待什么。我曾用 Claude Code 做过简单的 Web 应用、数据库工具和个人 SaaS 项目,但从未涉足连我自己都一知半解的核心 AI 基础设施构建。

结果呢?非常出色。

暴风雪还没停,我们就已经有了一个可运行的 Qwen3-TTS Rust 实现[9]——包含示例、文档、发布的 Rust crate 和 CI 脚本。超过 7,000 行 Rust 代码,零编译器警告。可生成涵盖 9 种角色和 10 种语言的自然人声。Image

Claude Code 是如何做到的?

Claude Code 一开始就直接深入核心,搭建了一个纯净的 Python 环境来运行官方的 Qwen3-TTS 实现。安装 PyTorch,从 Huggingface 下载模型文件。

几分钟内,它就生成了一个测试音频文件并请我确认。完美。对于像我这样不熟悉 Python 生态系统的人来说,单这一步就可能耗费一个下午,还有搞乱系统环境的风险。但 Claude Code 轻松搞定了。

接着是真正的挑战:将 Python 代码翻译成 Rust。Claude Code 开始编写,但很快遇到了困难。我注意到它在使用 candle 库进行张量操作。我其实不太了解 candle 的工作原理——但我知道 Python 程序依赖 PyTorch。于是我提了个建议:“试试 libtorch 怎么样?”

Claude Code 采纳了建议并迅速转向,将所有内容重构为使用 libtorch 及其 Rust 绑定库 tch。这时,Rust 严谨的特性发挥了作用。代码必须正确才能通过编译。一轮又一轮,Claude Code 与 Rust 编译器反复“切磋”、调整,最终:成功了,编译通过。

开始测试。Rust 程序输出了一个 WAV 文件。我打开播放……全是静电噪音。只有刺耳、无意义的杂音。我不知道哪里出了问题。你该怎么向 AI 描述“错误的静电噪音”?

于是 Claude Code 发挥创意。它下载了一个 Python 音频分析包,本质上让它“听”自己的输出,解析波形。经过一番“数字沉思”后,它恍然大悟:缺少声码器。这是内置于 Qwen3-TTS 架构中的一个专用语音解码器。我以前从没听说过它,你可能也没有。但 Claude Code 把它弄明白了。

它回到 Python 实现中研究声码器的设计,然后从头开始手写了一个 Rust 版本。这一次,声音听起来……像人话了。虽然有些模糊,但能听出是语音。

我推动它继续尝试。Claude Code 锁定了一个新理论:文本没有被正确地 token 化成“可发音”的单位。天才的直觉。它很快发现,与 Python 便利的 AutoTokenizer 库不同,Rust 的 tokenizers 包需要一个包含 pre-tokenizer 在内的完整 tokenizer.json 配置文件。

Claude Code 没有退缩,它编写了一个小型工具程序,直接从 Qwen3-TTS 的官方模型权重中生成了那个必需的配置文件。 砰。问题解决。

现在,这个 Rust 应用可以从纯文本生成完美、自然的语音了。Claude Code 还没停步,它最后编写了 GitHub Actions CI 脚本,完善了文档,并将整个库发布到了 crates.io[10]

一个真实案例

这里有一个具体例子,展示 Claude 如何创建自己的工具来评估其 Rust 实现。这为 Claude 提供了另一个关键的反馈闭环(除了 Rust 编译器之外),以生成功能正确的 Rust 代码。

背景: 我们发现 Qwen3-TTS 的 Rust 实现在克隆声音时存在问题,生成的语音与参考语音不符。

首先,Claude Code 将 Python 参考实现与其 Rust 工作成果进行了代码对比。它准确识别出了 Rust 实现中的问题:参考信号太弱。

Image

接着,Claude 创建了自己的工具来评估生成的结果。Image

Claude 有一个明确的目标:通过其 Rust 代码和 Python 工具生成相似的音频文件。它在这个反馈闭环中不断迭代,直到达成目标。Image

下一步计划?

我们将继续改进 Qwen3-TTS 的 Rust crate[11],特别是在测试与验证、新模型支持、功能支持以及性能优化方面。我们还将构建额外的基础设施,如 API 服务器、容器化应用(例如适配 Olares OS[12])、Web UI 以及 EchoKit[13] 集成。非常欢迎你来贡献!

专为VibeCoders准备的键盘 ,现货发售中👇

https://vibekeys.dev/

Image


参考资料
[1] 

Qwen3-TTS 模型移植到了 Rust: https://github.com/second-state/qwen3_tts_rs

[2] 

Qwen3-TTS: https://qwen.ai/blog?id=qwen3tts-0115

[3] 

EchoKit: https://echokit.dev/

[4] 

Olares ONE: https://one.olares.com/

[5] 

固件: https://github.com/second-state/echokit_box

[6] 

WebSocket 服务器: https://github.com/second-state/echokit_server

[7] 

EchoKit: https://echokit.dev/

[8] 

不止我们: https://medium.com/stackademic/why-did-elon-musk-say-that-rust-is-the-language-of-agi-eb36303ce341

[9] 

Qwen3-TTS Rust 实现: https://github.com/second-state/qwen3_tts_rs

[10] 

整个库发布到了 crates.io: https://crates.io/crates/qwen3_tts

[11] 

Qwen3-TTS 的 Rust crate: https://crates.io/crates/qwen3_tts

[12] 

Olares OS: https://github.com/beclab/Olares

[13] 

EchoKit: https://echokit.dev/

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询