LLM 时代的非确定性编程

最近再次阅读了 Martin Fowler 的文章《LLMs bring new nature of abstraction》,感觉很奇妙。文章发表于去年 6 月,我大概是 7 月初偶尔读到,当时还让 NotebookLM 生成了一个音频博客,听着还挺有趣。文章的核心观点是,大语言模型(LLM)将给软件开发带来根本性变化,按照他的说法,LLM 会给编程带来一个全新的抽象层次,同时也会带来一个全新的问题:非确定性

七八个月过去,code agent 成为兵家必争之地,成为 LLM 领域最可观的创收产品。最初的 vibe coding 玩具和 Tab 补全工具们,摇身一变,成为专职软件工程师必不可缺的助手和伙伴。这位助手是个吞金兽,吃下金币和指令,概率性的完成任务,有可能完全搞砸,有可能一击即中,也有可能看起来挺好,但藏了几个小坑。写代码从逐字逐段的敲写调整,变成了抽彩票式的打补丁,一个补丁动辄几百上千行代码。

开发活动的任务粒度不再是代码行的多少,而是 code agent 能力范围内,大致需要几轮交互,需要人类参与的验收工作量有多大。

一个最新的例子,就是昨天下午刚刚借助 code agent 快速实现了一个线上bug止血方案,整个修复过程,从想法的形成,到代码的编写,再到线上配置的改动与灰度测试验收,写代码本身所占的时间几乎可以忽略,主要的工作是想法的形成,指令的下达,结果的验收,线上的灰度测试与方案优化。


本文灵感源自 Martin Fowler 的文章《LLMs bring new nature of abstraction》,发表于 2025 年 6 月 24 日。