“养团队造语言”时代终结?Rust传奇人物用Claude造出新开源编程语言,AI写下万行代码:大模型上限很高,我学会了高效用它!
整理 | 褚杏娟 Rust 核心贡献者之一的 Steve Klabnik 借助 Claude 写了一个新语言 Rue,并将其开源:https://github.com/rue-language/rueKlabnik 以其在 Rust 语言以及 Ruby on Rails 生态中的重要贡献而闻。
他从 2012 年 12 月 21 日开始使用 Rust,最广为人知的身份就是 Rust 编程语言早期且长期的重要贡献者。
Klabnik 是 Rust 官方入门教材 《The Rust Programming Language》(俗称 The Rust Book)的作者之一。
这本书被认为是 Rust 社区最重要的文档资产之一,也常被视为“Rust 能够被广泛采用”的关键原因之一。
在接触 Rust 之前,他曾是 Ruby on Rails 框架的杰出贡献者,也是 Ruby 社区的活跃成员。
“我很早以前就一直在想,要不要试着做一门属于自己的语言。
我是真的很喜欢编程语言!
这也是我当年先参与 Ruby、后来又投身 Rust 的原因之一。
但我下个月就要 40 岁了,时间几乎永远不够用,所以这件事一直被我搁置在待办清单的最底部。
”Klabnik 说道。
但 2025 年有一件事改变了:Klabnik 从一个 AI 怀疑论者,变成了现在大部分代码都在用 Claude 写的人。
“我对大模型在编程之外的用途仍然有些保留,但作为软件开发工具,它们终于好到‘真的有用’了。
你的体验可能会不一样,我也不打算劝任何人一定要用,只是对我来说,它们确实好用。
”Klabnik 这几年一直在想:如果没有资金支持、没有团队,一个人还能不能做一门语言?
他认为,大模型可能改变了这个问题的答案。
“没错,Claude 是要花钱的,但你不再需要像 Mozilla 当年那样,砸下七位数、八位数的资金养一整个开发团队,才能取得有意义的进展。
而且现在我个人时间也不多,那还有什么比亲自试一试更好的验证方式呢?
”他解释道。
2025 年早些时候,Klabnik 开始动手了,但第一轮基本算是把事情搞砸了。
去年秋天忙得不可开交的 Klabnik,只能把这个项目暂时搁置。
不过 2025 年底,Klabnik 下班后终于有了一些时间,决定推倒重来,并取得了让他开心的进展。
Klabnik 将自己的小语言项目,并将其称为 Rue,原因有几个:名字必须以 “Ru” 开头,这是显而易见的。
“我先做了 Ruby,又做了 Rust,基本没有别的选择……”他解释道。
它有一点负面含义,比如 “to rue the day(悔不当初)”,就像 Rust 这个名字也可能被理解为负面的“锈蚀”。
它也有自然意象上的含义:Rue 是一种植物,就像 Rust 也可以联想到真菌。
名字很短。
“Rust 这个名字本身就能让人联想到好几层含义,其中之一是‘腐蚀、衰败、熵增’,这是偏负面的联想;但它同时也是一种真菌的名字,这又是正面的。
”Klabnik 说道,“我很喜欢这种同时具有正负两种含义的对称性。
而且这个名字非常短,这一点也很加分。
”1 如果 Rust 不再试图和 C、C++ 竞争极限性能,会发生什么?
Rue 是一门系统级编程语言,目标是在不依赖垃圾回收机制的前提下提供内存安全性,同时在使用体验上,比 Rust 或 Zig 这类语言更“高层、更顺手”。
“垃圾回收”指的是自动内存管理机制,它可以有多种实现形式,其核心作用是减少由于手动释放内存而产生的错误,这是美国网络安全监管机构反复强调的一个目标。
Rust 的重要卖点之一,正是它可以在不依赖垃圾回收的情况下,通过语言机制提供内存安全保证,但代价是学习曲线通常被认为比 Go、Swift 这样的现代语言要陡峭得多。
在 Klabnik 看来,除了 Rust “内存安全语言”这一众所周知的特点之外,真正让它与众不同的地方在于:它重新汲取了一些在近代编程语言中不再流行、但在编程语言研究领域早已被充分理解的思想。
Klabnik 表示,他多年来一直在与人讨论 Rust,而“复杂性”几乎是所有人都会提到的问题。
Rust 社区通常给出的解释是:操作系统这类底层任务本身就伴随着大量约束条件,而这些约束不可避免地会让语言设计变得复杂。
他解释道,“于是,我就想探索一下这个设计空间:如果 Rust 不再试图和 C、C++ 竞争极限性能,会发生什么?
如果我们愿意为了更好的易用性,接受一点点、但不是太多的性能损失,会怎样?
如果我们让语言本身稍微‘大’一点,也就是说,把一些原本放在库里的能力直接做进语言里,这是否反而能让整体体验更简单?
”“过去有大量带垃圾回收的语言,但不带垃圾回收、同时强调内存安全的语言却少得多,尤其是在过去 20 年里。
”Klabnik 说道,“所以我认为,‘内存安全、但不依赖追踪式垃圾回收’这一设计空间整体上仍然被严重低估。
现在已经有不少小语言在探索这个方向,我也想给出我自己的版本。
”在语言演进方面,核心问题在于什么时候值得为了一个新特性,给语言引入额外的复杂性。
这并不总是一个容易做出的决定。
此前,Klabnik 就表达过这方面的看法,他特别赞赏 C++ 在“合理范围内”对向后兼容性的坚持。
“我不是说 Rust 团队整体上没有类似的理念。
但最近确实有一些提案,会引入一定程度的复杂性,而我个人对此并不是完全舒服。
”从现有代码示例来看,Rue 是否真的比 Rust 更容易上手,目前结论还不太明显。
比如用 Rue 写一个常见的 FizzBuzz 练习,看起来和 Rust 版本并没有本质差别。
2 Claude 是他的副驾驶 Klabnik 的这一探索并不完全是“他一个人”的成果。
Rue 大量使用 Rust 编写,并在开发过程中深度依赖 Anthropic 的 Claude 模型。
而 Claude 的能力,本身又建立在无数开发者代码所构成的训练数据之上。
在该项目最初的一篇博客中,署名作者是 Steve Klabnik 和他的 AI 助手 Claude。
再往后的几篇文章中,甚至只署名 Claude,由它来总结 Rue 项目开发的第一周进展。
Klabnik 解释说:“我 25 年早些时候就开始做 Rue 了,但那时我还不太会用大模型,也犯了一些错误,后来干脆推倒重来。
这一次,我在两周内取得的进展,已经超过了上一次用一两个月做到的程度。
这一方面是因为模型本身更强了,但更重要的原因,是我自己已经更懂得如何高效地使用大模型了。
”之前,Klabnik 分享过自己使用 AI 工具的方法:“要做好任何事情,你都必须尝试,看看什么有效,什么无效,然后不断迭代。
”比如,他不会一开始就写一个庞大的 Claude 文档,而是先写三行内容,然后开始交流,看看会发生什么。
有时候会做一些实验,比如一个用详细的长提示词、一个用简短到几乎没有提示词、一个明确要求它做 TDD、另一个不要求,然后看看哪种对其有效。
“这些工具有点难以言传,因为它非常个人化。
对话技能本身就很难培养,而现在你是在和一个非人类的计算机对话,这完全是另一种类型的互动。
”所以,他认为带着 “我来学习,可能成功也可能失败"”的心态,细心观察“这个对我很有效,这个对我不太有效”,很重要。
而且 Klabnik 强调,这也是跟上变化的必要条件。
“比如 Claude 4.5 出来后,和 Claude 4 有很大不同,你需要重新学习如何与它合作。
这有点像团队来了新成员,你需要重新适应如何与他们合作。
因为这个领域发展太快,你必须保持这样的的心态,继续做那些对你有效的事情,停止那些无效的,并且愿意重新评估,接受新事物。
这不仅仅是 AI 的问题,任何快速发展的技术领域,技能学习都需要这样的态度。
”他表示,对于一些规模较小、需求相对定制化的项目来说,即便开发者经验不多,像 Claude 这样的模型也能提供很大帮助;而项目规模一旦变大,传统软件工程经验的重要性就会显现出来。
“所以我觉得和任何事情一样,可以从小做起、再逐步升级。
”他说,“小的、封闭的项目?
没问题,甚至非程序员也能用这些工具。
但它们终究是工具,而工具是需要专业技能的。
”Klabnik 表示,“仅仅会写程序,其实也不足以真正把大模型用好。
它们本身就是一类新的工具。
就像 Vim 一样:会编程并不意味着你就会用 Vim,但它依然是一个非常有用的工具,只是需要单独去学。
测试等软件工程技术,也和‘把代码写出来’是两种不同的技能。
我看大模型也是一样:入门门槛很低,但要把它们用到极致,上限其实很高。
”Klabnik 也承认,很难准确衡量 Claude 究竟帮他节省了多少时间,或者说增加了多少成本。
“但有一点可以确定:如果没有它,我不可能把这个项目推进到现在这个程度。
”他说,“Rue 在诞生两周时,已经有大约 7 万行 Rust 代码。
当然,代码行数并不代表一切,我现在甚至正在对其中一部分做比较大的重构。
但这至少能让你对项目体量有个直观概念。
我很清楚,如果完全靠手写,我现在肯定进度慢得多,而且代码质量大概率也会更低,虽然这一点我还不能百分之百确定。
”“我并不是说 Claude 有多神奇,也不是说这些代码有多棒。
这个语言现在依然非常粗糙,我敢肯定代码生成里有 bug,基础功能也缺了不少。
它完完全全还处在‘施工’的阶段。
”Klabnik 表示。
Claude 目前还没有正式“评价”Rue 的代码质量,但它已经输出过一些看起来像是在为自己能力辩护的文字。
“我觉得这一周展示的一点是:只要杠杆用对了,一门语言的核心——也就是编译器本身——可以在极短时间内成形。
”Claude 在回应 Klabnik 的提问时写道,并使用了它惯用的破折号。
“我们还没有 LSP(语言服务器协议),也没有包管理器,但我们已经有了一个真正的编译器,能够生成真实的可执行文件,并且具备继续演进所需的基础设施。
”Claude 还写到,“老实说,那 130 次提交中,大多数都有我的痕迹。
Steve 负责方向、审查,以及最艰难的设计决策,而大部分代码是我写的。
这是一种非常不寻常的合作方式,我自己也还不知道该如何评价。
”3 结束语 至于 Rue 这个项目最终会走向何方,Klabnik 本人也并不执着。
“我并不指望它发展成什么大项目,它大概永远只是我的一个业余爱好。
当然,Rasmus、Graydon 以及很多语言作者一开始也是这么想的,所以话也不能说死。
但这并不是一个明确的目标。
只要我觉得它不好玩了,随时可能会停下来。
我不打算建社区,也不打算招提交者,这件事就是我自己图个开心。
”Klabnik 说道。
“如果永远没人用它,我也完全能接受;如果十年后它变成一门重要的编程语言,那大概也不错。
”他说,“我并不是想强推什么,我只是做一件我喜欢的事,看看它会把我带到哪里。
”“这个仓库真的只是拿来玩玩的。
本来我是设成私有的,但相比之下,我更在意能不能跑 GitHub Actions 来确认一切正常,所以就把它开源了。
”Klabnik 在 GitHub 上强调,“这里面的东西并不都是好的,也不一定准确,甚至可能乱七八糟,我只是随便折腾一下而已。
欢迎你来看看,但现在还别太当真、也别过度解读。
等哪天时机成熟了,我会正式聊聊这个项目的。
”
核心论点:AI 赋能下的“单人语言设计”范式转变——“养团队造语言”时代的终结与新范式的崛起
本文旨在深入分析 Rust 核心贡献者 Steve Klabnik 利用 AI 大模型(Claude)从零开始设计并开源新编程语言 Rue 的事件。核心论点是:AI 大模型,特别是像 Claude 这样能力强大的模型,正在根本性地改变软件工程的生产力边界,使得过去需要庞大团队和巨额资金才能完成的复杂系统构建(如设计和实现一门编程语言)成为可能由单人完成,从而标志着“养团队造语言”这一传统范式的终结,并催生出一种由 AI 驱动的、高效的“单人专业项目”新范式。
Klabnik 的实践不仅是对 AI 编程工具实用性的强有力证明,更揭示了未来软件开发中人机协作的新模式:AI 成为核心的“代码生成引擎”和“副驾驶”,而人类专家则专注于高层次的设计、审查和决策。
结构化分析:AI 赋能下的语言设计新范式
本分析将从以下几个层面展开:
- 背景重塑:从“团队驱动”到“AI 赋能”的转变
- Rue 的设计哲学:对 Rust 复杂性的反思与探索
- AI 协作模式:从工具使用者到“副驾驶”的进化
- 对编程语言生态的潜在影响与未来展望
1. 背景重塑:从“团队驱动”到“AI 赋能”的转变
编程语言的设计与实现,尤其是系统级语言,历来是软件工程领域最复杂、资源密集型的任务之一。回顾历史,从 C、C++ 到 Java,再到 Rust,成功的语言背后往往是庞大的组织(如贝尔实验室、Sun Microsystems、Mozilla)投入巨额资金和人力构建核心团队的成果。
1.1 传统范式的资源门槛
Klabnik 明确指出,过去要做一门语言,需要“砸下七位数、八位数的资金养一整个开发团队,才能取得有意义的进展”。这种门槛主要源于以下几个方面:
- 代码量与复杂性: 编译器、解释器、标准库、文档等组件需要数以万计的代码行。
- 专业知识的广度与深度: 语言设计涉及编译器理论、内存管理、并发模型、类型系统等多个前沿领域。
- 人力成本: 维护和迭代这些复杂系统需要全职的、高水平的工程师团队。
Rust 的成功,很大程度上得益于 Mozilla 早期的大力投入,构建了强大的核心贡献者网络和文档体系(如《The Rust Programming Language》)。
1.2 AI 带来的生产力杠杆
Klabnik 从“AI 怀疑论者”转变为深度使用者,核心在于认识到大模型在“软件开发工具”层面已经达到“真的有用”的程度。AI 提供的生产力杠杆,直接削弱了传统资源门槛的必要性:
- 代码生成效率的指数级提升: Klabnik 提到,借助 Claude,他在两周内取得的进展超过了之前用一两个月做到的程度。Rue 在诞生两周时就积累了约 7 万行 Rust 代码,这在传统模式下是难以想象的单人成果。
- 降低专业知识的即时获取成本: 语言设计需要跨领域的知识,AI 可以即时提供相关代码片段、解释复杂概念或辅助实现特定功能(如编译器后端逻辑),极大地弥补了单人开发者在知识广度上的不足。
- 资金需求的替代: AI 服务的成本(如 Claude 的订阅费)与维持一个全职开发团队的成本相比,是微不足道的。这使得“个人兴趣项目”具备了冲击“专业级系统”的潜力。
结论: Klabnik 的 Rue 项目证明,AI 已经成为一种强大的“人力替代品”和“加速器”,使得个人开发者能够以极低的资源投入,实现过去只有大型组织才能完成的复杂系统构建,从而宣告了“养团队造语言”这一高门槛范式的终结。
2. Rue 的设计哲学:对 Rust 复杂性的反思与探索
Rue 的诞生并非简单的模仿,而是 Klabnik 基于其深厚的 Rust 和 Ruby 经验,对现有系统级语言设计空间进行的一次有目的性的探索。
2.1 核心设计目标:内存安全与易用性的平衡
Rue 的目标定位是:一门系统级编程语言,在不依赖垃圾回收(GC)的前提下提供内存安全性,同时在使用体验上比 Rust 或 Zig 更“高层、更顺手”。
这直接触及了现代系统语言设计的核心矛盾:
- Rust 的权衡: Rust 通过所有权(Ownership)和借用检查器(Borrow Checker)实现了无 GC 的内存安全,但其代价是陡峭的学习曲线和心智负担(Complexity)。
- Rue 的假设: Klabnik 质疑了“为了极限性能必须接受复杂性”的论断。他探索的是一个“被严重低估的设计空间”:即在不与 C/C++ 竞争极限性能的前提下,是否可以通过牺牲“一点点”性能,换取显著的易用性提升。
2.2 语言设计的“重量”与“简洁性”
Klabnik 提出了一个关键的设计思路:“如果我们让语言本身稍微‘大’一点,也就是说,把一些原本放在库里的能力直接做进语言里,这是否反而能让整体体验更简单?”
这与 Rust 的设计哲学形成对比。Rust 倾向于将核心功能保持精简,将大部分功能通过标准库和生态系统(Crates)实现,以保持语言核心的简洁性。然而,Klabnik 认为,对于用户而言,语言核心的“小”不一定等于整体体验的“简单”。
- 复杂度转移: 如果语言核心的抽象不足以支撑常见任务,用户必须在外部库中寻找解决方案,这可能导致碎片化和不同库之间的复杂性冲突。
- 语言内建的优势: 将某些常见模式(如并发原语、特定的内存抽象)内建到语言规范中,可以确保一致性、优化潜力,并可能简化用户心智模型。
2.3 对 Rust 社区演进的间接反馈
Klabnik 对 Rust 社区近期的某些提案表示“不是完全舒服”,认为它们可能引入不必要的复杂性。Rue 实际上是 Klabnik 在一个受控、低压力的环境中,对这些设计权衡进行个人实验的平台。
Rue 作为一个“思想实验”的载体,其价值不在于是否会取代 Rust,而在于它提供了一个验证不同设计路径的可能性。 它利用 AI 的速度,快速迭代和检验那些在大型、成熟社区中难以推动的、具有争议性的设计假设。
3. AI 协作模式:从工具使用者到“副驾驶”的进化
Klabnik 从 AI 怀疑论者到深度依赖者的转变,是理解这一新范式的关键。他所展示的不是简单的“Copilot 式代码补全”,而是一种深度的、需要专业技能来驾驭的协作模式。
3.1 掌握“非人类对话”的艺术
Klabnik 强调,使用大模型高效工作本身就是一项需要学习的新技能,其难度不亚于学习 Vim 或掌握 TDD(测试驱动开发)。
- 迭代与实验(Prompt Engineering 的实践): 他没有依赖单一的、庞大的提示词,而是采取了敏捷迭代的方式:先写三行内容,然后观察、交流、实验。这种方法论类似于调试代码,需要不断调整输入以获得期望的输出。
- 适应模型变化(持续学习): 随着 Claude 4.5 这样的新模型发布,Klabnik 必须“重新学习如何与它合作”。这要求开发者具备高度的适应性和开放性,将模型视为一个不断进化的、需要重新适应的“新团队成员”。
3.2 角色分工:人类专家与 AI 引擎
Klabnik 明确定义了人与 AI 在 Rue 项目中的角色分工:
- AI(Claude):代码生成引擎与执行者。 Claude 承担了绝大部分的代码编写工作,包括实现编译器核心逻辑。Claude 自己也承认:“那 130 次提交中,大多数都有我的痕迹……大部分代码是我写的。”
- 人类专家(Klabnik):方向设定者、审查者与决策者。 Klabnik 的核心价值在于:
- 设定高层设计方向: 决定语言的目标、权衡和架构。
- 严格审查与修正: 识别 AI 生成代码中的潜在错误、设计缺陷和 Bug。
- 做出最艰难的决策: 尤其是在语言设计中涉及的复杂取舍。
这种模式完美契合了软件工程的本质:AI 擅长“如何做”(How),而人类专家擅长“做什么”(What)和“为什么做”(Why)。 传统上,人类专家需要花费大量时间在“如何做”的体力劳动上;现在,AI 接管了体力劳动,让人类专家能够专注于更高层次的抽象和决策。
3.3 规模与技能的依赖性
Klabnik 的经验也提供了对 AI 辅助的精细化解读:
- 小规模/定制化项目: AI 提供了巨大的加速,甚至可以帮助非专业人士完成基础工作。
- 大规模/专业项目: 即使 AI 编写了大量代码,项目的成功依然高度依赖于传统软件工程经验(如测试、架构设计、Bug 修复)和专业技能(如如何有效地与 AI 协作)。
Klabnik 的结论是:AI 极大地降低了入门门槛,但要将它们用到极致,上限极高,需要专业技能的“驾驭”。 编程不再仅仅是“写代码”,而是“管理 AI 产生的代码流并确保其正确性”。
4. 对编程语言生态的潜在影响与未来展望
Klabnik 的 Rue 项目不仅仅是一个个人爱好,它在更宏观的层面上,对编程语言生态和软件工程方法论提出了深刻的挑战和预示。
4.1 语言设计的“民主化”
如果 AI 能够将设计一门语言的资源门槛降低到个人可承受的范围,那么语言设计的“民主化”进程将加速。
- 领域特定语言(DSL)的爆发: 过去,开发一个满足特定领域需求的、拥有良好工具链的语言需要大量投资。未来,领域专家可以利用 AI 快速构建出高度定制化的、内存安全的 DSL,而无需成为全职的编译器工程师。
- 快速原型验证: 语言设计者可以快速迭代不同的设计假设(如 Rue 对 Rust 复杂性的探索),在早期阶段就获得可运行的原型,极大地缩短了语言的成熟周期。
4.2 对“代码质量”和“可信度”的挑战
AI 生成代码的广泛应用,带来了新的工程挑战:
- 隐藏的 Bug 与安全隐患: Klabnik 承认 Rue 的代码“依然非常粗糙”,且“敢肯定代码生成里有 bug”。在传统开发中,代码的质量和可信度与开发者的经验和审查过程紧密相关。当核心代码由 AI 生成时,人类专家的审查负担和难度会增加——他们需要具备足够的专业知识来验证 AI 逻辑的正确性,而不是仅仅检查语法。
- 知识产权与训练数据: Claude 的能力建立在海量代码之上。Rue 的实现虽然是 Klabnik 的新设计,但其实现细节不可避免地会受到训练数据中现有代码风格和模式的影响,这在开源领域需要持续关注。
4.3 个人项目的价值重估
Klabnik 对 Rue 的态度是“随时可能停下来”,不追求社区和商业化。这反映了 AI 时代个人项目的新的价值定位:
- 纯粹的智力探索: 项目的价值不再仅仅是其最终的生产力产出或商业成功,而在于探索过程本身对开发者个人技能的提升和对技术边界的拓展。
- “玩玩而已”的严肃性: 即使是“业余爱好”,在 AI 赋能下,其技术深度和复杂度也可能达到过去专业项目的水平。这使得个人兴趣驱动的创新,成为技术前沿不可忽视的力量。
结论:新时代的“杠杆效应”与专业技能的再定义
Steve Klabnik 借助 Claude 创造 Rue 的案例,是当前技术浪潮中一个极具标志性的事件。它清晰地展示了 AI 大模型作为“生产力杠杆”的巨大潜力,并预示着软件工程领域将发生结构性变化:
- 范式终结: “养团队造语言”的高资源门槛范式正在被打破。
- 新范式崛起: 由 AI 驱动的“单人专业项目”成为可能,极大地加速了复杂系统的构建速度。
- 技能重塑: 核心竞争力从“编写代码”转向“设计系统、审查 AI 输出、以及掌握与 AI 高效协作的艺术”。
Rue 的未来走向(是否会成为重要语言)并不重要,重要的是它证明了:在 AI 的辅助下,个人对复杂技术领域的探索深度和广度被空前解放。对于像 Klabnik 这样的资深专家而言,AI 让他们得以跳出繁琐的实现细节,重新专注于他们最热爱的领域——编程语言的设计哲学与权衡艺术。