周三下午,一位开发者在GitHub上发布了一个叫Almide的编程语言。不是图灵完备竞赛,也不是语法糖炫技——他只想回答一个具体问题:当AI修改现有代码时,语言设计能不能让改完的代码更容易跑通?

这个动机很务实。现在谈AI编程,满屏都是"生成新代码":写个函数、刷个算法题、从提示词蹦出完整实现。但真实工作里,更多时候是在改代码:加个参数、换个数据结构、修个边界情况、重构API、保证测试还能过。Almide的作者管这叫"修改存活率"——LLM改完代码后,还能编译通过、测试全绿的比例。

打开网易新闻 查看精彩图片

他搭了30个代码修改任务当基准测试。结果有点意思:Claude Sonnet 4.6在Almide上30/30全过,同样任务套到Rust上,大概58%的通过率。作者赶紧 disclaimer:这不是说Almide比Rust强,Rust的生态和成熟度碾压级领先。选Rust当参照,只是因为它是个严肃的系统级语言,静态类型检查够严格。

打开网易新闻 查看精彩图片

Almide本身是个实验品。静态类型、双向类型推断、泛型、穷尽式模式匹配、自动错误传播的效果函数、管道操作符、版本化包管理的模块系统——这些特性不稀奇。稀奇的是它的目标:生成Rust代码或直接吐WebAssembly,编译器本身能跑在浏览器里当WASM。

为什么语言设计会影响AI改代码的成功率?作者的观察是:LLM很擅长生成"看起来对"的代码,但看起来对不等于真能用。改代码时AI会犯各种小错:改了这处调用没改那处、返回类型对不上、漏了错误分支、破坏了所有权规则、局部看着合理但整体对不上、编译过了测试挂了。有些错是模型的问题,有些可能是语言设计的问题。

打开网易新闻 查看精彩图片

Almide的实验还没给出完整答案,但它把讨论从"AI能写多少新代码"拉回到了"AI能稳定维护多少旧代码"。后者才是大多数程序员的真实日常。