代码、战争与智能:软件工程半个世纪的范式漂移
当以色列的AI制导导弹划过伊朗上空,一段关于人、代码与权力的演进史走到了新的临界点
历史很少在书斋里转弯。
软件工程的三次范式跃迁,每一次都不是纯粹的技术内部事件,而是与同时代的战争、政治博弈、经济重组深度缠绕。代码从来不是中性的——它是权力的延伸,是国家意志的载体,也是战场逻辑在数字世界的投影。
2025年,以色列与伊朗之间的直接军事对抗进入新阶段。美以联合实施的精确打击行动中,AI辅助目标识别系统、自主无人机集群与实时战场数据融合平台扮演了前所未有的角色。这不是科幻场景——这是软件工程演进到第三个范式之后,最真实、也最冰冷的现实验证。
从这里出发,回望半个世纪,这段历史呈现出一种令人不安的清晰。
一、冷战与代码的诞生:第一次范式的政治底色(1968—1990s)
1968年,北约在德国加尔米施开会,正式提出”软件工程”这个概念。
很少有人注意到这件事的地缘政治背景:1968年,是布拉格之春被苏联坦克碾碎的那一年,是越战泥潭最深的那一年,也是整个西方世界动荡最剧烈的一年。北约不只是一个军事同盟——它也是那个时代西方技术标准化的推动者。”软件工程”这个命名,从一开始就带着工业化与军事化的双重基因。
战争是软件工程第一个范式最重要的客户。
冷战时期的美国军方,是计算机科学最慷慨的资助人。ARPANET——互联网的前身——诞生于国防高级研究计划局(DARPA)。阿波罗登月项目的软件团队,开创了现代软件测试和文档规范的先河。B-52战略轰炸机的飞行控制软件,是那个时代规模最大的嵌入式系统工程之一。
结构化编程、瀑布模型、形式化方法——这些第一次范式的核心工具,本质上都在解决同一个问题:如何让庞大、分布、协作的团队,在没有互联网、没有实时通信的条件下,生产出可预测的、可靠的软件系统。
这个问题,在导弹控制、核武器引信、军事通信这些场景里,容错率为零。正是这种对确定性的极端追求,塑造了第一次范式的全部气质:流程先于人,文档先于代码,规范先于创新。
1991年,海湾战争爆发。这是人类历史上第一场被广泛称为”电脑战争”的现代战争。”爱国者”导弹的拦截系统、”战斧”巡航导弹的地形匹配导航、联军的C4I(指挥、控制、通信、计算机、情报)体系——这些系统背后,是第一次范式软件工程方法论的集体亮相。
它们的成功,也暴露了第一次范式的边界:那些系统是为已知战场设计的,对动态变化的适应能力极其有限。”爱国者”系统因为一个未被更新的浮点运算误差,在达兰基地未能拦截一枚飞毛腿导弹,造成28名美军士兵死亡。这个教训的核心不是技术细节,而是范式假设:静态的、预先规划好的系统,无法应对动态的、不断变化的现实。
二、9·11之后的代码:第二次范式与”不对称战争”的共振(2001—2010s)
2001年,两件事几乎同时发生。
2月,十七位软件实践者在犹他州雪鸟滑雪场写下《敏捷软件开发宣言》。9月,四架被劫持的飞机改变了世界历史的走向。
这两件事之间,有一种深层的结构呼应。
《敏捷宣言》宣告:现实太复杂,不能被预先规划穷尽;最好的应对方式,是快速迭代、持续响应。”9·11″所揭示的,是同一个道理的军事版本:传统的、层级化的、预先规划好的安全体系,面对去中心化的、高度灵活的非国家行为者,是结构性失灵的。
恐怖主义是不对称战争,敏捷是不对称软件开发。 二者在方法论上的逻辑,令人不安地相似:小团队、快速行动、持续调整、对反馈高度敏感。
美国随后启动的全球反恐战争,反过来成为敏捷软件工程的最大推动者之一。战场情报处理的需求催生了大数据分析平台,无人机作战的兴起要求软件系统在不确定环境下快速决策。JSOC(联合特种作战司令部)在伊拉克的情报-行动循环,从最初的一个月压缩到最终的几小时——这是一个组织在极端压力下完成”敏捷转型”的真实案例,和硅谷公司压缩迭代周期的内在逻辑完全一致。
2010年,斯塔克斯内特(Stuxnet)蠕虫病毒被发现。这是人类历史上第一件被证实的、由国家制造并用于攻击另一国家物理基础设施的网络武器——它摧毁了伊朗纳坦兹核设施约五分之一的离心机。其幕后制造者,正是今天在中东战场上大规模部署AI军事软件的同一批行为者。历史在这里留下了一条清晰的线索。
斯塔克斯内特标志着一个时代的到来:代码本身成为战争武器,而不仅仅是战争的辅助工具。敏捷范式的那个基本预设——”人写代码”——在这时仍然成立,但即将开始松动。
三、AI战争与代码的边界:第三次范式的真实战场(2020s—)
2022年,俄乌战争爆发。2023年,加沙冲突升级。2024年,以色列对伊朗境内目标实施直接打击。2025年,美以联合行动将这一进程推向新的烈度。
这些事件,是第三次软件工程范式最真实的压力测试。
以色列是AI军事软件工程最激进的实验室。
在加沙冲突中,以色列国防军使用的”福音”(Gospel)系统和”薰衣草”(Lavender)系统,是AI辅助目标识别系统的典型代表。这些系统能够在海量情报数据中自动识别潜在目标,将原本需要数周人工分析的工作压缩到数分钟。人类操作员的角色,从”分析情报、做出决策”变成了”审核AI的推荐、点击确认”。
2025年的美以联合打击行动中,软件系统的角色进一步深化。实时战场态势感知平台将来自卫星、无人机、电子侦察和人工情报的多源数据融合,AI系统负责识别模式、预测动向、推荐行动方案。精确制导武器的飞行路径,由算法实时优化以规避伊朗的防空系统。集群无人机的协调,依赖分布式AI算法而非中央指挥。
伊朗方面同样如此。其防空系统、电子战能力和网络攻击工具,都深度嵌入了AI辅助决策模块。这是人类历史上第一场真正意义上的”AI对AI”的局部战争——双方都在用算法对抗算法,代码在和代码厮杀。
在这个背景下,民用软件工程界对同一时代同一种技术趋势的回应,呈现出截然不同的气质。2026年初流传的《软件工程3.0宣言》描述了一个令人向往的愿景:人负责定义”What与Why”,AI负责高效实现;软件是”可度量、可进化的意图价值体现”;”人类需主动保留并重塑其不可替代的独特价值”。
这是技术社区希望在AI时代保留人类主体性的努力——一种人本主义的宣示,也是一份关于技术应该服务于什么目的的价值观声明。但它描述的愿景,和军事应用场景中正在发生的事情之间,有着一道深刻的裂缝:同样的技术,在不同的权力语境中,正在走向相反的方向。
四、三次范式,三种战争,一条权力的主线
回望这半个世纪,软件工程的三次范式与战争形态之间,有一种清晰的对应关系。
第一次范式(工程化)对应冷战形态的战争。 规则清晰,阵营分明,双方都在做漫长的战略规划。软件是武器系统的可靠零件,需要像零件一样被精确规格化。这个范式的核心价值是:确定性。
第二次范式(敏捷化)对应反恐战争与不对称冲突。 敌人是去中心化的,战场是流动的,情报和行动的循环需要极度压缩。软件是侦察与打击的神经系统,需要像特种部队一样快速响应。这个范式的核心价值是:适应性。
第三次范式(智能化)对应AI驱动的精确战争。 规模超出人类实时处理能力,决策速度超出人类反应极限,系统需要在没有完整人类监督的情况下运作。软件不再是武器的辅助系统,而是武器本身的决策核心。这个范式的核心价值是:自主性。
这条线索揭示了一个令人不安的规律:每一次软件工程的范式跃迁,都伴随着人类对软件系统控制权的让渡。 从”人按照流程控制代码”,到”人在迭代中引导代码”,再到”人在审核AI的生成结果”。
这个趋势在民用领域,催生了关于人类主体性和就业结构的讨论。在军事领域,它引发了关于战争伦理和国际人道法的深刻危机:当AI系统做出目标识别和交战决策,责任归属在哪里?当算法速度超过人类审核能力,”人类在回路中”(Human-in-the-Loop)还意味着什么?
以色列国防军的官方立场是:所有目标都经过人类军官的审查和批准。但批评者指出,当AI系统每天生成数百个目标推荐,而系统的使用惯例是”审核时间约20秒”,这种”人类监督”究竟有多少实质意义,值得严肃追问。
五、代码、权力与未解的问题
从1968年北约会议到2025年中东战场上的AI打击系统,软件工程走过了一段远比”技术演进”更复杂的历史。
它是冷战工业逻辑的产物。它在全球化和互联网的浪潮中完成了第二次蜕变。它现在正在被地缘政治冲突和军事需求推向一个新的临界点——在那里,代码的自主性与人类的控制权之间的张力,不再是哲学讨论,而是生死攸关的现实问题。
Brooks在1975年说,软件工程的本质复杂性在于”概念结构的构建”——理解”要做什么”,永远比把它写成代码更难。这个判断在2026年仍然成立。只是”要做什么”这个问题,在不同的应用场景里有着截然不同的道德重量。
在一家初创公司的产品会议上,”要做什么”是商业判断。在一个军事指挥中心里,”要做什么”关乎生命与战争的边界。而在那道边界上,没有任何宣言可以替代判断,也没有任何架构可以替代良知。
技术是中性的,这句话从来只是一个方便的谎言。
每一行代码背后,都有一组关于价值和权力的选择。半个世纪的软件工程史,说到底,是人类在不断试图理解这些选择——以及它们真正的代价。
夜雨聆风
