AI写代码藏bug终于没救了:Bend让数学证明替你把关

1次阅读

AI写代码最让人崩溃的是什么?

不是它写不出来,是它写得出来,但藏了一颗你没注意的bug,等你上线那天才炸。

现在有个叫Bend的编程语言直接说:让AI写一个不可能合并bug的代码,从数学上。

Bend是什么怪物

Bend长得像Python,跑起来像C,验证逻辑像Lean(一门数学定理证明语言),还能自动并行到GPU上。

单核性能接近C,多核能飙到比单核快100倍。它背后是两篇论文——BendTT(依赖类型理论)和BendRT(并行运行时)——专门设计给AI写代码用的。

开发者只需要做三件事:

(1) curl一行命令安装Bend

(2) 在AGENTS.md里告诉AI代理怎么用Bend

(3) 让AI去写

剩下的事,Bend帮你兜底。

"不可能写出胜利"的棋盘游戏

官方演示了一个例子:你想做个棋盘游戏,规则是"玩家永远不能赢"。

传统做法:你写规则文档,告诉AI"别让玩家赢",AI大概率能遵守,但偶尔会写出边缘case让你抓狂。

Bend的做法:在LAWS.bend里写一行法律——"任何移动序列都不能导致胜利"。然后Bend的类型检查器会强制AI写代码时给出数学证明,证明这条法律没被违反。

如果AI写的代码无法证明这条法律成立,编译器直接拒绝合并。数学意义上,bug连提交按钮都按不到。

这不是单元测试,不是code review,是定理证明。

为什么AI时代特别需要这个

过去程序员自己写代码,每一行都有人脑的"为什么这么写"在背后。出了bug,回头读一遍逻辑就能找到。

现在AI一天能写几千行代码。人类根本读不过来,更别说理解了。

结果就是:AI写的代码上线了,运行了,赚钱了,某天突然崩了。程序员盯着屏幕,完全不知道为什么会崩,因为当初写这段代码的AI早就被新版本替换了。

Bend的逻辑是:既然人读不懂AI的代码,那就让数学来读。

你在LAWS.bend里声明"任何用户输入都不能让系统崩溃",AI写完代码后,Bend自动验证这条法律是否成立。如果不成立,代码无法编译,更不可能部署。

听起来很严格?确实。但当AI成为主要代码作者时,"严格"是优点,不是缺点。

普通开发者用得上吗

坦白讲,Bend不是给所有人用的。它现在最适合后端开发、Linux和macOS环境,对前端和Windows支持还在路上。

但它的设计思路值得所有人关注:

(1) 法律文件(LAWS.bend)独立于业务代码,人类能读懂

(2) AI代理每改一行就自动检查,秒级反馈

(3) 证明文件(PROOF.bend)由AI写,但由数学验证

(4) 整个工作流可以塞进AGENTS.md,让任何AI代理即插即用

换句话说,未来的代码可能长这样:人类写"我希望发生什么",AI写"具体怎么发生",Bend写"为什么这样不会出事"。

软件工程的分工正在被重写。

后AGI时代的编程语言

Bend官网有句话很直接:"在后AGI经济里,人类终将停止写和读代码,但我们仍然需要一种不含歧义的方式告诉AI我们想要什么。"

自然语言太模糊。代码太琐碎。法律+证明,刚刚好。

你写意图,AI翻译,Bend验证。三方各司其职,bug无处藏身。

这不是要替代程序员,是给程序员换个角色——从"写代码的人"变成"立规矩的人"。当AI一天能写一万行代码时,唯一值钱的不是你写得多快,是你知道什么不能错。

Bend的安装命令就一行:curl -fsSL https://bend-lang.com/install.sh | sh

装上,让AI写点东西试试。然后你会发现,原来"代码不可能有bug"这句话,可以是字面意义上的。

正文完
 0