一百万只Kakapos
摘要
本文探讨了代理编码和人工智能如何通过减少编码的稀缺性来改变开源软件,并使用生物类比对比短期效率与长期稳健性。
<p><a href="https://lobste.rs/s/ir1jkh/million_kakapos">评论</a></p>
查看缓存全文
缓存时间: 2026/08/27 17:27
# 百万只鸮鹦鹉
来源:https://blog.mempko.com/a-million-kakapos/
野外的鸮鹦鹉
智能体编程正成为时下最热门的技术趋势。早在2021年GPT-3时代,我就已经开始实践这种编程方式。如今,所有尝试过的人似乎都达成了一个共识:编程如今已变得“近乎免费”。在过去,打造卓越的软件需要顶尖的程序员。而要成为一位技艺精湛的程序员,则需要付出巨大的努力。如今,既然大语言模型已经能够编写出质量相当不错的代码,开源软件的未来将何去何从?本文将探讨在代码编写不再稀缺的世界里,开源软件将面临何种命运。
## 效率与健壮性
大熊猫
达尔文的学说常被误解。我们被告知“适者生存”(这个术语是赫伯特·斯宾塞提出的,并非达尔文),并想象一个强者生存的竞争世界。进化常被视为某种优化过程。人们常常误解的是时间尺度以及被“优化”的对象。如果一种动物为其环境过度优化,它将使自己面临巨大风险:如果环境改变了怎么办?
大熊猫就是为了其环境而高度优化的生物。它的饮食约99%是竹子,并且进化出了专门的拇指来帮助剥竹子。然而,竹子可能会同步开花并大面积死亡,导致大熊猫难以存活。大熊猫曾是濒危物种数十年,如今得以存续全靠人类的帮助。换言之,从短期看,进化将熊猫优化为适应特定环境的生物,但从长期看,却创造出了一个极其脆弱、无法适应环境变化的物种。
鸮鹦鹉是另一种为环境高度优化的生物。由于没有陆地捕食者,它在新西兰进化,并针对节能进行了优化。它放弃了长距离飞行,体型变得笨重,并且拥有长达数年的繁殖周期。最糟糕的是,它进化出受惊时会僵住的本能,这使其容易成为老鼠、猫等陆地哺乳动物的猎物。它也是濒危物种名单上的一员,仅剩约240只。
如果只看气候没有显著变化的短时间尺度,你会看到高度适应其区域的动物。然而,在更长的时间尺度上,考虑到环境的变异性,你会看到能够适应各种环境的生物。想想蟑螂这样的动物,它们已存在近4亿年。蟑螂几乎能消化任何有机物。它们可以在没有食物和水的情况下存活数周。它们广泛分布于热带雨林、干燥沙漠、温带林地、洞穴,以及如今的人类栖息地。
再想想鲨鱼,它们已存在4.5亿年。鲨鱼拥有惊人的嗅觉系统,能在零能见度下从远处定位猎物。它们还有电感受器来帮助寻找猎物。它们占据了多种环境,如珊瑚礁、开阔海洋、深渊、北极冰盖,甚至淡水河系。它们的饮食高度灵活,能够根据环境迅速调整目标猎物。
在长时间尺度上,进化选择的是适应性强、健壮的生物,而非高度优化、性能卓越的生物。它选择的是具有冗余和适应性系统的生物。例如,蟑螂拥有分散的神经系统。你可以将蟑螂的头去掉,它依然能站立、四处走动、逃跑并对外界刺激做出反应,持续数周直至脱水死亡。鲨鱼拥有多排冗余的牙齿。鲨鱼没有进化出单一高度特化的牙齿集合(这会带来脆弱性),而是拥有多排冗余牙齿,在其一生中不断向前移动,替换旧牙。为了寻找猎物,鲨鱼拥有冗余的感官系统,如嗅觉系统、电感受器、侧线系统(帮助探测水流和水压)以及视觉。一条失明的鲨鱼仍能捕食和生存。
冗余和适应性系统并不高效。它们消耗动物大量能量。鲨鱼一生要更换数千颗牙齿的代谢成本,要求它们不断生成新牙。维持多个重叠的感官系统需要大量“待机功率”。对于蟑螂,其分散的神经系统的效率不如拥有一个中央大脑。神经元是能量消耗最高的组织之一。在人类中,大脑消耗了静息能量的20%。
换言之,鲨鱼和蟑螂并非高效的生物。它们比没有这些冗余结构的动物消耗更多能量。然而,正是这些“低效”之处,使它们作为物种能够在极长时间尺度上得以存续。
**高性能的生物无法健壮,而健壮的生物无法高性能。**
瓦伦西亚水法庭
关于竞争存在一种普遍的误解。我们被告知,竞争关乎稀缺、创新以及资源的高效配置。在经济学中,竞争的舞台是市场,传统上市场被定义为配置稀缺资源的机制。传统观点认为,竞争性市场是通过价格信号实现这一目标的最有效方式。
但这是一种短视的看法。我们需要系统性地看待它。市场,如同进化生态位一样,是局部优化和短期绩效的引擎。竞争实际上只在富足的环境中才有可能,在稀缺的环境中则不然!
让我们看看生态学。生态学家马克·伯特尼斯和拉根·卡拉韦提出了压力梯度假说。该假说指出,随着环境条件变得越恶劣、资源越稀缺,正向的非营养级互动(如促进作用、互利共生和合作)会系统性地取代竞争。例如,在资源丰富、郁郁葱葱的草原上,植物相互竞争阳光和树冠空间。然而,在盐沼、高山苔原和沙漠中,植物会聚集形成紧密的“护士植物”群落。在苔原,它们聚集以相互保护,抵御寒风。在沙漠,聚集能创造阴凉,帮助土壤保持更多水分。孤立的竞争者死亡,而合作者存活。
经济学常讨论“公地悲剧”,加勒特·哈丁著名地论证了当关键资源稀缺时,个体竞争行为会耗尽并摧毁它们。然而,政治经济学家埃莉诺·奥斯特罗姆研究了现实世界中管理稀缺资源长达数个世纪的社区。她研究了干旱的西班牙韦尔塔地区的水资源分配、瑞士草地的公共放牧以及土耳其的沿海渔业。奥斯特罗姆证明,当面临稀缺时,人们并不会默认选择市场竞争或集权专制。相反,他们会自发发展出合作的自我治理、相互监督和社区共享组织。这些组织可持续地管理资源,代代相传。她因此项工作获得了2009年诺贝尔经济学奖。
如果你花点时间思考,会发现市场需要富足的环境,因为它们需要为失败留有余地。要让市场存在多家公司竞争同一产品,就需要有足够的资源来浪费,因为不可避免地其中一些会失败。这些公司拥有重复的功能、竞争的研发团队(常研究同一问题)、重复的管理职能和开销。更大的公司可以跨部门合作共享资源。这种“为失败预留的余地”正是竞争对手能在市场中存活的原因。这是系统层面的富足,而非稀缺。竞争性市场是经济世界的茂盛草原,而非寒冷的苔原或干旱的沙漠。
## 开源是一种适应性生存策略
构建软件是人类尝试过的最复杂的事业之一。做好这件事需要高度组织化、稀缺且具备深厚知识和技能的专才团队。
在计算早期,硬件是昂贵的瓶颈,而软件常常自由共享。到了20世纪80年代,微型计算机革命创造了巨大的市场需求,使软件公司资金充裕。在那种资本过剩的环境中,科技行业沉迷于专有软件模式的奢侈。那是闭源软件的黄金时代。微软及其同行激烈竞争,将代码锁在秘密的壁垒之后,并投入巨资从头构建平行的专有技术栈。
然而,到了90年代末,一个新的制约因素出现了!软件工程人才的极度稀缺。
随着互联网使世界连接更紧密,数字基础设施在全球扩展,对复杂软件的需求增长速度远超熟练开发者的供应。专有竞争的“代谢”成本——让数十家相互竞争的公司支付稀缺的工程团队从头重写操作系统内核、文件系统、网络协议和编译器——变得难以为继且在经济上具有毁灭性。专有重复成为了市场无法再负担的奢侈。
作为回应,科技行业做了处于严重生态压力下的生命系统一直做的事情,**它从竞争转向了合作**。
大学和研究实验室的资源一直很稀缺,正是在那种环境下,自由软件运动悄然建立了一种共享软件的文化。在90年代末,这种精神以务实的态度被重新包装,为企业界命名为“开源”。开源并非企业的利他主义或慈善行为,它是一种适应性生存机制。随着工程人才的稀缺,构建基础软件变得异常艰难,因此将开发者的时间投入像开源这样的共享资源池,系统性地战胜了封闭、重复的竞争对手。
这一转变在计算的每个基础层面展开:
- 在千禧之交,IBM在Linux上下了10亿美元的赌注。IBM当时正艰难维持着五个相互独立且不兼容的专有操作系统,如OS/400、AIX、OS/2、MVS和VM。每个系统都需要专门的工程师团队负责内核、文件系统和硬件驱动程序。在这种昂贵的负担下,IBM做出了激进的决定:投资10亿美元到Linux内核,并指派数百名顶尖工程师为社区做贡献。他们认识到操作系统是基础设施,而非差异化优势。通过与Red Hat、HP和Oracle等竞争对手分担维护负担,IBM消除了构建这种基础设施的浪费性重复税。
- 在90年代中期,世界各地的网站管理员迫切需要可靠的Web服务器。与其让五十家初创公司分配稀缺的C程序员从头编写专有服务器,一个松散的工程师联盟开始互相发送错误修复和补丁,从而创建了一个“补丁补丁的服务器”。Apache HTTP服务器项目应运而生。最终,Apache运行了大部分网络,在高峰期服务于超过60%的网站。
- 2018年,即使是强大的微软也放弃了开发竞争性的浏览器引擎,并在其下一款浏览器Edge上采用了Chromium项目。引擎如此难以制造,以至于几乎所有的科技公司都在帮助构建Chromium和Firefox。有人甚至说,或许连Firefox也超出了行业能单独维护的负荷。
- 几十年来,芯片制造商和软件巨头冗余地雇佣了独立的编译器团队。到了2000年代中期,行业大部分都汇聚到了开源的LLVM项目周围。如今,苹果、英特尔、谷歌、索尼,甚至ARM共同维护着该项目。即使是激烈的商业竞争对手也共享这一基础,因为没有哪家公司拥有足够的编译器天才来超越LLVM项目。
软件开发成了数字公地,因为,如同生态系统一样,它们学会了系统性健壮的基本规则。**当资源稀缺时,合作(而非竞争)是唯一可行的策略。**
公司分担了生存的代谢成本,正如乔尔·斯波尔斯基所称的“将你的互补品商品化”。(https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/?ref=blog.mempko.com) 他们不再浪费资源构建重复的竞争系统,而是允许软件生态系统建立在共享的基础之上。
开源生态系统最终形成了与鲨鱼相同的形态。如果从效率的角度看,它充满了看似纯粹浪费的冗余结构。Glibc和musl,GCC和Clang,OpenSSL和LibreSSL。但当2014年Heartbleed漏洞袭击OpenSSL时,正是这些分叉让生态系统得以减轻损害。这些分叉换取了生存,而它们之所以存在,是因为开源的合作本质提供了足够的共享盈余来维持它们。
## 富足世界中的开源
Github的指数级增长
Github最近遇到了麻烦(https://github.blog/news-insights/company-news/the-august-17-outage-and-the-work-ahead/?ref=blog.mempko.com)。2026年8月17日,github宕机近8小时。故障原因出人意料,与软件、配置更新或硬件故障无关。服务器承受的负载实在太高了!他们展示了PR、提交和新仓库数量的指数级增长图表。
在整个2025年和2026年,我一直在等待数据表明LLM编程智能体提高了编写软件的生产力。我认为数据现在正在显示这一点。软件工程师的数量并未呈指数级增长,但软件编程智能体的数量确实在增加。
换言之,编写软件似乎不再稀缺。编写代码所需的工程人才不再必要。我们可以争论代码的质量,但无法争论的是,编程智能体创建代码的速度比人类更快,而且大多数时候似乎还能正常工作。
我们已经知道,仅靠少数人维护的公地会发生什么。Log4J在2021年爆出了一个巨大的漏洞Log4Shell,该漏洞自2013年就已存在。它影响了约93%的企业云环境。一个资源不足的库成为了几乎所有事物的承重部分。2024年的xz后门事件更进一步。针对单个志愿者维护者长达数年的社会工程攻击,差点将后门植入SSH。它被发现,仅是因为一位工程师注意到他的SSH登录比以前慢了半秒。在编程智能体出现之前,这个公地已经在勉强维持了。
PR、提交和新仓库数量的这种增长,对开源软件而言并非好消息。其中很多可能是私有仓库,但同时也是大量单人软件项目的激增。我认为我们正在看到软件生态从传统的合作开源模式,转向竞争性模式。
公司现在可以低成本构建竞争性软件系统,由这些公司创建开源项目的社会动力将会消失。我们甚至无需推测富足是否终结了合作,因为甚至在AI编程出现之前,它就开始终结了。云收入让许多SaaS公司致富。一家又一家开源公司退出了公地。ElasticSearch背后的公司Elastic在2021年将软件从Apache 2.0许可改为其他许可。Hashicorp在2023年将Terraform转为商业源代码许可。Redis在2024年放弃了其BSD许可证。在每一种情况下,都是公司决定自己可以负担得起不再合作。
随着资源投入竞争性而非合作性的软件构建,开源公地将会萎缩。不要被github仓库的指数级增长所迷惑。我认
相似文章
加拉帕戈斯群岛上的智能体编程笔记
Dan Luu 反思了他使用 AI 编程代理的经验,指出虽然 AI 可能会编造看似可信但实际错误的复现步骤,但在调试和测试等领域仍能带来生产力提升。他讨论了现代软件开发中信任、自动化和质量之间的平衡。
2026年自主编程
一篇探讨到2026年自主AI在软件编程中潜在发展及影响的文章。
代理式编程是一个陷阱
本文认为,代理式编程(即 AI 生成代码,人类充当编排者)是一个陷阱,原因包括系统复杂性增加、技能退化以及供应商锁定。文章强调了这种做法对开发者学习和批判性思维的负面影响,并将这一新的抽象层与历史上的编程范式转变进行了对比。
Agentic Code Review(15分钟阅读)
分析AI编码代理如何将瓶颈从编写代码转移到审查代码,数据显示代码变更量增加861%,缺陷率上升,使得代码审查成为软件工程中最具杠杆效应的技能。
🚀 开源开发者们:让我们一起打造一个让所有其他 AI 副驾驶都显得过时的编程代理。
文章呼吁开源开发者们共同构建一个超越现有 AI 副驾驶的卓越编程代理。