找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3|回复: 0

#模型时代# Hugging Face联合创始人:新编程语言的演化方向将与人类分道扬镳

[复制链接]

2

主题

0

回帖

6

积分

新手上路

积分
6
发表于 5 小时前 | 显示全部楼层 |阅读模式
#模型时代# Hugging Face联合创始人:新编程语言的演化方向将与人类分道扬镳


刚刷到Thomas Wolf,Hugging Face联合创始人兼首席科学官的一个推文,谈软件工程的未来预测,很有洞察。做个转译。另外,Andrej Kaparthy也转评了一下,我附在最后了。

一、单体应用回归,依赖链条瓦解
过去,开发者写软件像搭积木——大量依赖第三方库,形成深层依赖链条(dependency tree)。原因很简单:从零写一个功能太贵,不如直接调用别人写好的。

但AI编程agent改变了这个经济账。当"重写一段代码"和"读懂一个陌生代码库"的成本趋近于零,你就没必要再引入一长串依赖了。需要某个库的某个功能?让agent把相关部分提取出来,或者干脆从头写一个。结果就是单体应用(monolith)的回归——一个完整的应用,尽量自己搞定一切。

好处是实打实的:依赖少了,供应链攻击(supply chain attack)的面就小了;打包体积更小,性能更好,启动更快。借助AI不知疲倦的耐力,"从底层裸金属(bare-metal)一路写到应用层"这件过去不切实际的事,正在变得可行。

二、林迪效应失灵,历史代码不再是护城河
"林迪效应(Lindy effect)"说的是:一个东西存在的时间越长,它未来继续存在的概率就越大。与之相关的还有"切斯特顿之篱(Chesterton's fence)"——拆掉一道篱笆之前,你得先搞清楚它为什么被立在那里,否则拆除本身就有代价。

这两条规律支撑了大量历史代码(legacy code)的存续。没人敢动,因为没人能完全理解它。

但AI打破了这个僵局。一个不知疲倦的agent可以彻底翻阅老代码库,理解每一处设计意图,然后用新语言完整重写。过去人类早就放弃的那些"祖传代码",现在有了被认真审视和替换的可能。

但有一个关键前提: 未知的未知仍然是未知的。AI能否真正覆盖所有测试场景、边界情况(edge cases)和形式化验证(formal verification),决定了这场替换到底能走多远。在AI主导的世界里,形式化验证不是可选项,而是必选项。

三、强类型语言崛起,编程语言的选择逻辑变了
过去,一门编程语言能不能流行,很大程度取决于"人的因素":好不好学?写起来爽不爽?社区友不友好?生态丰不丰富?

这些因素本质上是人类心理学和社交动力学的产物。而语言真正的硬核属性——类型安全、形式化验证能力、静态检查与动态灵活的平衡——反而经常被排在后面。

当AI成为主要的代码编写者,人的因素退场,语言的选择标准就会发生根本变化。强类型(strongly typed)、可形式化验证、高性能的语言将占据优势。这些语言对人类来说往往更难学,但恰恰更适合LLM——因为LLM天然擅长在形式化验证和强化学习(reinforcement learning)的环境中工作。

哪些语言会因此崛起,哪些会衰落,值得密切关注。

四、开源的经济基础被重塑
过去几十年,开源社区的底层驱动力是人与人之间的连接:一起写代码、一起学习、一起使用,从中获得归属感和成就感。

但当代码的编写者和阅读者主要变成了机器,这些激励机制就开始瓦解。未来大概率会出现"AI社区"——一群AI agent协作构建代码库和工具链。但这样的社区缺少人类驱动开源运动的那些根本动机:好奇心、社交需求、自我实现。

如果开源的未来基本不再有人类参与,那么AI模型的对齐(alignment)问题就不仅仅重要——它将是决定性的。

五、新编程语言的演化方向将与人类分道扬镳
我们在设计编程语言时面临的经典权衡——表达力 vs. 简洁性、安全 vs. 控制力、性能 vs. 抽象层级、编译时 vs. 运行时、显式 vs. 隐式——AI agent是否也会面临同样的取舍?

答案很可能是否定的。

长远来看,创造新编程语言的理由将大幅偏离人类过去的动机。很可能存在一种"LLM最优编程语言",而这种语言和人类收敛出来的那些语言,可能长得完全不一样。

Andrej Karpathy 的评论:

对编程语言和形式化方法(formal methods)领域的人来说,现在一定是一个极其有趣的时期——LLM从根本上改变了软件的整个约束格局。

这种趋势已经露出端倪:比如将C语言移植到Rust的势头越来越猛,以及越来越多人开始关注用COBOL等语言编写的历史代码库(legacy codebase)的升级改造。
值得注意的是,LLM在代码翻译方面的表现远好于从零生成(de-novo generation)。

原因有两个:第一,原始代码库本身就相当于一份极其详细的提示词(prompt);第二,它还提供了编写具体测试用例的参照基准。

不过话说回来,即便是Rust,作为LLM的目标语言也远远谈不上最优。什么样的语言才是最优的?还需要为人类保留哪些让步(如果有的话)?这些都是全新的、极其有趣的问题和机会。

最终的结局很可能是:人类有史以来写过的大量软件,将被反复重写很多遍。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2026-2-18 06:46 , Processed in 0.107889 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表