在《星际迷航》宇宙创造的各种世界中,很少有像博格人那样具有象征意义且令人不安的。这个混合了人类与机器人的种族,将技术与生物学融合为一个单一的集体实体:个体性为了集体思维而丧失。博格人对其他物种构成了生存威胁,因为他们的哲学就是同化:每个生命体都被整合进“集体”,失去其身份,成为更大、更高效系统的一部分。
抵抗是徒劳的
这句话被博格人反复念叨,明确宣告反对他们的同化是徒劳的。博格人不寻求共识或合作;他们通过武力和更先进的技术强加自己的意志。博格女王是他们社会体系的核心人物,代表集体的支点:她能够理解每个个体的需求,并高效、精确地协调集体的行动。
博格的概念可以相当忠实地叠加到蜂群的概念上。在蜂群中,每只蜜蜂都为群体的利益而工作,为群体的成功牺牲自己的个体性。在博格人中,这一概念被推向极致,并被提出为生存和进化的唯一可能途径。博格女王拥有协调整个群体并高效、精确地引导单个无人机行动的特殊能力。
电影作品与流行文化中的博格
博格人首次出现在1989年的电视剧《星际迷航:下一代》中,此后成为《星际迷航》宇宙中最具标志性的敌人之一。
我是开始,是终结,是合众为一者。我就是博格。
这句话由博格女王说出,概括了博格民族所拥有的压倒性力量和高度自我认同,这通过他们的女王得以体现。
现在,让我们试着走出博格的世界,思考一下这个隐喻如何应用于软件开发领域,以及我们在多大程度上正不可避免地成为软件开发的“博格人”。
同化的黎明:软件开发中生成式AI的时代
如果说几年前开发者和软件工具之间的关系还是清晰且明确的——人类构思逻辑并编写机器执行的代码——那么随着生成式AI的出现,机器已经逆转了这一动态。曾经由人类编写的代码,现在由人工智能模型生成,并且随着时间的推移,由AI生成的代码量将远远超过人类编写的代码量。这一变化从根本上改变了视角,而程序员的角色正是那些注定要发生根本性变化的职业之一。
“抵抗是徒劳的”这句话,在《星际迷航》宇宙中由博格集体说出,如今已不再像是来自虚构外星物种的反乌托邦威胁,而是对当前市场动态和全球工程部门所承受运营压力的准确描述。
选择使用生成式AI,无论以何种形式:聊天、智能体、隐藏在编辑器或开发环境行间的建议工具,都已不再是可选的选择。以前人们可以轻易选择不使用AI,现在则变得越来越困难。这使程序员转变为一种混合体,一个将其认知能力与生成式人工智能模型相整合的存在。
其动机是具体且不容忽视的:从公司要求的速度,到所产代码的量化改进,再到即使在没有人员情况下的行动并行化。这些都不是人为的压力,而是现代市场的持续需求。
在一个价值数千亿美元(且数字仍在惊人地增长)的全球AI市场中,技术基础设施已围绕集中化模型进行了重构,这些模型规定了代码生产的节奏、风格和实质内容。
Micron 放弃个人用户,Crucial 现在只服务于大型AI客户 Code language: PHP (php)
一些科技巨头已经在调整其产品以专门服务于AI需求,这标志着软件开发生态系统发生了范式转变:在这个历史时期,为个人用途寻找一根内存条或一个SSD单元几乎已成为一种奢侈,只有那些对计算资源有着贪婪渴求、用于驱动其人工智能模型的公司才能负担得起。
因此,我们正走向一个时代,软件开发需要与生成式AI深度集成,但生成式AI却由集中化的基础模型管理,这些模型规定了游戏规则。
Anthropic,目前软件开发领域使用最多的工具,无论是直接使用还是通过其模型的众多集成间接使用,已表示预计到2025年底将达到90亿美元的内部年收入目标,并在基础情景下于次年超过200亿美元,乐观情况下可达260亿美元。其他模型如Google的Gemini和OpenAI的ChatGPT也遵循着相似的增长轨迹,巩固了它们在生成式AI市场的主导地位。除了这几家美国公司,我们还可以加上一些中国巨头,但我们谈论的仍然是由少数参与者控制的生成式AI市场寡头垄断。
当谈到用于软件开发的AI时,主导市场的模型确实很少:确实存在开源替代方案,但它们的质量和能力仍然与专有模型相去甚远。
博格人及其女王
正如博格人依赖他们的女王来协调集体的行动一样,现代开发者正变得越来越依赖集中化的基础模型来指导他们的日常工作。
在软件开发中如此广泛地采用生成式AI技术的风险在于,正在形成一种类似于博格人的结构性依赖,其中个体性和个人能力被牺牲在集体效率的祭坛上。
技能退化问题主要涉及那些职业生涯始于将代码编写完全委托给AI,而从未对基础知识建立深刻理解的人。一个使用AI来加速重复性任务或生成样板代码的高级开发人员,仍能保持对流程的批判性控制;而一个从未手动调试过段错误或优化过慢查询的初级开发人员,则可能成为一个肤浅的操作员,当AI出错或产生次优解决方案时无法进行干预。然而,随着时间的推移,即使在高层次上,当对AI的依赖变得根深蒂固,以至于侵蚀了批判性思维和自主解决问题的能力时,这个问题也可能显现出来。
同化的经济背景
根据一些统计数据,AI工具的采用率在全球技术开发者中现已达到90%的渗透率,每日或每周使用率超过80%。我们面对的已不是新奇事物或奢侈品,而是技术工作流程中必不可少的组成部分。
公司正在大量投资AI基础设施,既包括软件层面,也包括令人印象深刻的硬件层面——建设越来越新、更强大的数据中心。单打独斗的幻想正在迅速破灭。存在一个真正的风险,即开源模型可能无法跟上专有模型的创新和分发速度,从而导致对后者的几乎完全依赖。即使存在对使用生成式AI的抵制,动机是所产软件的质量,但AI仍被用于监督流程、分析数据、改进手册和翻译的生成。
博格女王与认知控制
博格女王不是一个政治君主,她是一个负责治理混乱的实体。女王过滤博格人的思想,并将他们的意志导向完美。
如果仔细想想,在软件环境中,这项功能由大型语言模型承担:它们是集中化的实体,基于所学内容建议最佳编程实践,并引导和影响架构决策,例如使用Vue还是Next.js,Python还是Go,微服务还是单体架构。
与开源时代(知识通过论坛、文档和去中心化存储库水平分布)不同,AI时代的特点是极度的集中化。
我使用Zig是因为Claude Sonnet这么说的。 Code language: PHP (php)
当开发者查询AI时,他们访问的不是客观知识,而是源自中央模型权重的概率综合。这个模型类似于博格中央神经节,即博格立方体中心的实体,其任务是聚合所有无人机并连接到其他博格飞船。
这种动态创造了关键依赖。关于如何构建一个类、使用哪个库或如何处理安全性的决策,不再是个人深思熟虑或同行辩论的结果,而是由中央算法建议(并且常常不加批判地接受)的。
鉴于当前LLMs的构建方式(在大量公共代码上训练),更可能出现的是被广泛认可的范式,而非小众或创新的方法。开发者-无人机变成了算法意志的纯粹执行者,是算法得以在物理世界显现自身的渠道。
你有多少次因为“AI生成的代码不符合你的期望”而删除并重写它?又有多少次你被动地接受了AI的建议而没有质疑它?
如果你接受的次数多于重写的次数:那么,你快要被同化了。
影子AI与结构性依赖
集中化带来了被称为“影子AI”和不受管控的实施风险。正如女王可以为特定任务引导博格人一样,LLM模型的不受管制使用会在组织内产生不透明的数据流:单独看每个行为似乎正确,但完全缺乏整体视野,公司会丧失其主权的边界,并受到无法控制的外部影响。
模型的“懒惰”
最近几个月,一些模型拒绝处理某些任务、限制其结果或将其截断的行为变得有名:PANIC。许多早已习惯于将工作外包的程序员,突然发现自己被抛入了没有AI的宇宙虚空之中。他们不再准备好自主面对编译器、修复错误或在没有机器帮助的情况下实现新代码。这一事件突显了委托的倾向在多大程度上削弱了许多开发者自主操作的能力。
我们正在制造系统性的文化风险
设计复杂结构时最大的恐惧之一,是架构中存在一个点,一旦出错就会破坏整个流程(此刻有人会想到AWS或Cloudflare,也有人会否认)。真正的风险与其说是技术性的,不如说是文化性的:如果整整一代开发者习惯于不加严格检查就接受建议,如果CI/CD流水线变成了强加的官僚形式而非质量关卡,如果代码审查沦为“AI写的,所以肯定是对的”,那么软件的平均质量可能会逐步下降。
当然,防御措施是存在的:自动化测试、静态代码分析、人工审查。但这些防御措施只有由深刻理解自己所验证内容的开发者维护时才会有效。如果基础理解被对AI的依赖所侵蚀,并且生成代码的人同时也在验证代码,那么系统性崩溃的风险就会增加。如果SQL注入问题在全球范围内如此普遍,我们凭什么认为一个在大量易受攻击代码上训练的LLM,就不会生成统计上最可能出现的、同样易受攻击的代码呢?
生产力悖论
博格人的指导原则是绝对效率。我认为我已经谈论过不惜一切代价追求效率的问题,但再谈一次也无妨。在通过AI进行软件开发时,存在一个不可否认的可衡量优势:以前需要一小时完成的工作,现在可能只需几分钟。这种收益是真实且宝贵的。
然而,必须仔细分析所节省时间的本质。以前,时间用于编码和测试;现在则用于理解生成的代码并验证其产出是否符合要求。在编写阶段节省了时间,但如果考虑到代码的整个生命周期,优势可能会显著降低。
越来越多的开发者将自己描述为“氛围程序员”:
我写一个提示词,AI为我完成一切
为了效率而委托低级任务是计算机科学自然演进的一部分,它一直朝着抽象化方向发展。问题不在于为了效率而委托,而在于失去了在必要时进行手动干预的能力:这些活动迟早会出现,因为没有人工智能模型是绝对可靠的。
当开发者不再理解底层机制时,他们就与软件的操作现实失去了联系。当他们(迟早会发生)不得不解决AI无法处理的复杂问题时,他们将不再拥有这样做的思维工具,并会发现自己面对数百行不完全理解的代码。
就像一个在不知道曲速航行物理原理的情况下修复船体的博格无人机,现代开发者有可能变成一个自己不再控制的逻辑的肤浅操作员。
我们何时应该感到害怕?
依赖性是每种技术的最大问题:以前我的同事告诉我,没有谷歌我甚至不知道如何打开电脑;未来,如果我们继续盲目且不加批判地将工作委托给AI,程序员可能将不知道如何编写“Hello World”——前提是这件事还有意义的话。
然而在2025年,我们已经观察到这种偏离的迹象:开发者开始感到受阻或速度变慢,如果由于服务中断而无法使用GitHub Copilot:
Copilot 宕机了:我们去喝杯咖啡吧。 Code language: JavaScript (javascript)
听起来并不奇怪,对吧?
让我们超越博格立方体的逻辑
与博格的类比为我们提供了一种跳出框框的方式来审视我们的技术轨迹。我们正在构建一个具有非凡力量的系统,能够以远超人类的速度执行复杂任务。目前,这些系统并不完美,但随着时间的推移,它们会变得更好、更高效。
根本的悖论就在这里:采用生成式AI对于想要在就业市场保持竞争力的人来说已是势在必行。传统的“抵抗”确实是徒劳的。但我们如何采用它并非预先注定。
真正的选择不在于使用或不使用AI,而在于有意识的整合与被动的依赖。我们可以成为像《星际迷航》中的“九之七”那样的角色,她在整合博格技术的同时保持了自己的身份认同;或者我们可以成为没有批判意志的简单无人机。
让我们不要丧失编程的实践,保留一部分不使用AI辅助的开发工作,以保持解决问题的能力。 让我们在理解其逻辑的基础上审查代码:仅仅因为一个拉取请求没有导致测试失败就接受它,不足以成为将代码合并到主分支的充分实践。 让我们不要绑定于单一产品,混合使用闭源和开源产品:让多种思路相互竞争,只会对我们的项目有益。
如果我们允许集中化模型不仅规定我们代码的语法,还规定其逻辑和伦理,我们可能会在未来醒来时发现,编程只不过是编写越来越平庸的提示词,而AI则为我们修复一切。
真正的抵抗不是拒绝技术,而是拒绝成为不加批判的操作员。在人工智能渗透到开发每个方面的世界中,开发者不完美但能够产生真正直觉和创造力的个体声音,仍然具有不可替代的价值。
2025年的数据告诉我们,同化已经开始。问题不再是我们是否会成为人机混合体,而是我们如何在保持批判能力完整的情况下成为这样的人。
博格人的历史告诉我们,一个集体可以是完美的,但它也异常沉默,而在沉默中,创新消亡了。