持续交付2.0

AI 编程的'软件危机'已来? 24 年后我们需要一场新的'敏捷运动'

关注我,每天收获一个新技能!

1
24 年后,我们需要一场新的敏捷运动

二十四年前,一份《敏捷宣言》为软件行业点亮了一盏明灯,引领我们从僵化的『瀑布式开发』走向了敏捷时代。那场变革不仅改变了开发流程,更重塑了整个软件工程的思想体系。

二十四年后的今天,AI 给编程带来了堪称范式级别的改变,而且这种改变正在加速。『人人都是开发者』的梦想似乎触手可及,但软件行业也再一次站到了历史的十字路口。

我们又到了一个关键时刻:是时候用新的宣言——《AI 编程宣言》,为这个智能编程的时代定义新的编程准则了。

2
引言:最好的时代,也是最坏的时代

『这是最好的时代,也是最坏的时代。』——狄更斯

从 2022 年年底开始,过去的三年让所有开发者既兴奋又焦虑。整个科技圈被大模型的浪潮彻底席卷,我们正站在一个前所未有的技术拐点上。

ChatGPT、GitHub Copilot、Claude Code、Devin、Cursor……

几乎每天都有新的编程『神器』诞生。仿佛一夜之间,编程门槛即将消失,『人人都是开发者』的梦想触手可及。

普通人无需专业训练,仿佛『有嘴就行』,简单一句话就能让 AI 生成可用的代码。业内分析师高呼『软件开发将被彻底颠覆』,媒体热议『程序员即将失业』,一个由 AI 主导的编程纪元似乎真的来了。

每天都有『震惊体』『炸裂体』文章扑面而来。 然而,当我们关上新闻页面,回到工位面对键盘时,心情就没那么简单了。

我们这些开发者是站在 AI 革命的第一线,既是第一批体验魔法魅力的人,也是第一批感受『魔法副作用』的人。

我们惊叹于 GitHub Copilot 的代码补全能力,享受过一句简单 Prompt 就让 Claude Code 生成整个业务模块的畅快。但在这片看似繁花似锦的 AI 编程新大陆上,埋伏着许多巨大的陷阱。

我们正在遭遇一场还没有被正式命名,但每个一线开发者都感同身受的『危机』。这感觉并不陌生。

3
历史的回响: 24 年前的『振臂一呼』

时光倒流二十四年。

在 2001 年的那个冬天,软件开发领域同样被一片愁云笼罩。笨重的『瀑布式开发模型』让项目周期变得无比漫长,需求变更如同梦魇,无数软件项目在交付前就已宣告失败。

广大的开发者们在繁琐的需求文档、不断变更的市场需求、僵化的开发流程中苦苦挣扎。

直到,17 位软件开发的敏捷先行者聚集在犹他州雪鸟滑雪场,发布了一份寥寥数十字(对,就是《敏捷软件开发宣言》),却搅动了整个行业,带来二十多年的持续思考与实践。他们之中,有我们耳熟能详的名字:

  • Kent Beck
    Kent

『极限编程』(XP)和『测试驱动开发』(TDD)的创始人

  • Robert C. Martin
    Bob

人称『鲍勃大叔』(Uncle Bob),《代码整洁之道》、《敏捷软件开发》的作者

  • Martin Fowler

    martin     

    世界级的软件设计师和敏捷布道师

  • Jeff Sutherland 和 Ken Schwaber

  • Jeffken     

    全球应用最广泛的敏捷开发框架——Scrum 框架的共同创始人

敏捷宣言并没有提供任何具体的代码或工具,只提出了四条核心价值观和十二条相应的原则。但正是这份『务虚』的宣言,像一座灯塔,为迷航的软件工业指明了方向,开启了延续至今的敏捷时代。

4
历史的相似性:我们需要新的破局

历史总是惊人地相似。

今天,AI 编程带来的混乱、失控和不确定性,正是我们在新时代的"软件危机"`。我们同样需要一次思想上的"破冰",一场凝聚共识的运动。

在展开这场运动之前,我们必须先直面房间里那头"大象"——清晰地定义我们正在遭遇的,究竟是怎样的困境。

5
三重困境: AI 编程的三个典型问题

经过我们社区的深入探讨和总结,我们认为,AI 编程看似神奇,但当前的最大问题主要体现在以下三个方面:

困境一:人机角色混乱 —— "我是谁? AI 是谁?"

这个困境,其实是人和工具之间"协作关系"的重新定位和洗牌。

在传统的软件开发模式中,各种角色是清晰的。程序员是代码的创作者、负责人;测试工程师是质量的守护者;架构师是系统的设计者。但 AI 的加入,让这一切都变得模糊。

场景 1:责任的"甩锅"与"背锅"

想象一下,你让 AI 生成的一段核心交易代码集成到代码仓库中,在生产环境引发了一个严重的 Bug,导致公司巨大损失。现在,需要复盘定责。责任在谁?

追责到你身上?可你只是下达了指令并做了基础审查。归咎于 AI?它只是个工具,无法承担法律责任。那提供 AI 工具的公司呢?他们的用户协议里早就写满了密密麻麻的免责条款。

最终,责任落入真空。AI 不担责,平台免责,开发者却要"背锅"。这让每个用 AI 的程序员都如履薄冰。

场景 2:从"创作者"到"审查者"

许多开发者发现,自己"从零创造"的时间在减少,而"审查、修改、验证"AI 代码的时间在急剧增加。我们像是从一个主动的"建筑师",变成了一个被动的"质检员"。

这种工作性质的转变,不仅仅是技能上的不适,更带来了心理上的困惑:我的核心价值,究竟是我的创造力,还是我"给 AI 纠错"的能力?

场景 3:权威的转移

过去,团队的技术权威属于经验丰富的资深工程师。而现在,一个刚入行的初级开发者,借助强大的 AI 工具,可能在短时间内就能完成一个看似复杂的任务,甚至在某些局部领域超越前辈。

这在冲击团队既有协作模式的同时,也引发了新的知识焦虑。

这三重场景的背后,是软件开发生产关系的一次深刻变革。我们拥有了前所未有的强大"队友",却没有一本清晰的"团队协作手册"。旧的敏捷开发、结对编程范式,在人与 AI 之间难以完全适用。

当 AI 拿起键盘,开发者该如何定位自己的双手?

困境二:随机和幻觉难控制 —— "代码是科学?还是魔法?"

这个困境,聚焦于软件工程的基石——"确定性"的丧失。软件工程,本质上是一门追求精确和确定的科学。给定一个输入,我们期望得到一个完全确定、可预测的输出。

但大语言模型的底层逻辑,是基于概率的。大模型的幻觉是大模型本身的一个特性,是不可避免的。这就导致了 AI 编程中一个最令人头疼的问题:不可预测性。

场景 1:"薛定谔"的代码

你是否经历过,同一个需求,让 AI 实现两次,却得到了两份功能和风格迥然不同的代码?或者,一个昨天还能完美运行的 AI Agent,今天因为模型的一次"随机抖动",就出现了莫名其妙的行为?

这种非确定性,让调试和回归测试变得异常困难。我们就像在观测一个量子态的程序,每一次观测(运行),结果都可能坍缩到不同的状态。

场景 2:一本正经的"幻觉"

比随机更可怕的,是 AI 一本正经的"幻觉"(Hallucination)。它就像一个知识渊博但偶尔会骗人的专家,以不容置疑的口吻,"发明"出根本不存在的 API,并围绕它写出看似完美的调用代码;

它会引用一篇虚构的论文来佐证自己的算法选择;它还会写出包含极其微妙的逻辑错误的代码,这种错误比简单的语法错误隐蔽得多,堪称埋在系统深处的"定时炸弹"。

场景 3:信任的巨大成本

因为这些问题的存在,我们无法 100% 信任 AI。所谓的"一键生成",在现实中,往往需要我们花费数倍的时间去交叉求证、查阅文档、进行多轮测试。

我们不敢把系统的"方向盘"完全交给它,只能让它当一个需要时刻监督的"副驾驶"。这种"信任成本",极大地内耗了 AI 带来的效率红利。

这场困境的本质,是概率世界(AI 模型)与精确世界(传统软件工程)的根本性冲突。工程师的天职,是在不确定性中建立确定性。而现在,工具本身却成了不确定性的最大来源。

我们用代码构建确定的世界,而 AI 却给我们带来了概率的迷雾。

困境三:代码质量与安全隐患 —— "AI 是天使,还是特洛伊木马?"

这个困境,聚焦于最终产出物的"可靠性"与"风险"。

在追求"快"的同时,我们是否牺牲了"好"和"稳"?AI 的介入,正在让这个问题变得尖锐。

场景 1:"技术债"的累积

AI 基于海量的训练数据,倾向于根据概率和提示词,提供"最常见"的解决方案,而非"最优化"的解决方案。它生成的代码,可能大量使用已经过时或即将废弃的开源库;它可能为了快速实现功能,写出缺乏抽象、难以维护的代码。

场景 2:"隐形"的安全漏洞

安全,是软件工程的生命线。但 AI 对此却知之甚少。它可能从不安全的训练数据中,学会了带有漏洞的编码模式。当开发者在不知情的情况下,将这些"有毒"的代码片段引入到了自己的系统中,就相当于亲手打开了"特洛伊木马"的大门。

Gartner 预测,未来几年,由 AI 辅助生成的代码所引入的安全漏洞,将成为企业面临的主要网络安全威胁之一。

场景 3:数据隐私的"裸奔"

为了让 AI 更好地理解我们的需求,我们常常需要将大量的上下文——包括项目核心代码、数据库结构、甚至包含敏感信息的业务逻辑——喂给第三方的 AI 服务。

在这个过程中,数据泄露的风险被无限放大。

这场困境的本质,是开发效率与工程质量、安全规范之间的一场"新魔鬼交易"。当所有人都在追求 AI 带来的"速度"时,我们必须警惕,这辆失控的快车,是否正朝着悬崖飞驰?

AI 在加速代码交付的同时,也可能在加速风险的到来。

6
历史的回响:从"敏捷宣言"到"AI 编程宣言"

角色混乱、信任缺失、风险剧增。

这不仅仅是几个孤立的技术问题,这是一场系统性的危机,一场关于流程、信任和质量的全面危机。

这也是二十四年前,那 17 位敏捷先行者在雪鸟滑雪场所面临的局面。他们面对的是僵化的流程(瀑布模型),是开发与业务之间的信任缺失,是软件交付质量的不可控。

那么,他们是如何破局的?

他们并没有试图去发明一种终极的编程语言,或者一个万能的开发框架。而是选择回归本源,回到了"人"与"价值观"。

他们发布的《敏捷宣言》,其核心是四句振聋发聩的价值观对比:

  • 个体和互动 高于 流程和工具
  • 工作的软件 高于 详尽的文档
  • 客户合作 高于 合同谈判
  • 响应变化 高于 遵循计划

这四句话很简单,但也很有效。它告诉我们,软件工程的核心,是"人"的协作,是快速交付"价值",是拥抱"变化"。

正是这个看似简单的价值共识,催生了持续十数年的敏捷运动,并且不断进化,改变了软件行业的面貌。

历史不会简单地重复,但总会押着相同的韵脚。

今天,我们所面临的 AI 编程危机,同样无法依靠某个单一的『超级工具』来解决。

因为问题的根源,不在于工具,而在于我们使用工具的『思想』和『准则』。

我们需要一场新的思想启蒙运动。

我们需要一份属于我们这个时代的『宣言』。

7
破局之道:一份属于我们时代的《 AI 编程宣言》

正是基于这样的思考,

我们,一群来自不同公司、不同背景,

但都身处 AI 编程一线,并对这些困境感同身受的开发者、架构师和 AI 实践者,自发地聚集在一起,发起成立了『AI 编程社区』(AI Programming Community)。

我们相信,要解决眼前的困境,单打独斗是不行的。我们需要凝聚整个开发者社区的智慧和力量,形成共识,找到那条穿越迷雾的航道。

我们经过多轮线上的研讨和激辩,将我们在一线实践中总结的经验、踩过的坑、看到的未来,不断地提炼、升华。

最终,我们共同起草了这份《AI 编程宣言》(The AI Programming Manifesto)。

宣言 GitHub 地址

https://github.com/AI-Programming-Community/AI-Programming-Manifesto

以下,我们严格引用《 AI 编程宣言》的原文:


前言

在人工智能技术飞速发展的今天,AI 编程已成为软件开发领域的重要趋势。本宣言旨在阐述 AI 编程的核心原则、最佳实践和未来愿景,为开发者提供支持,推动 AI 编程技术的健康发展。

核心原则

  1. 目标达成 胜于 机器炫技    聚焦解决实际问题和创造价值,而非炫耀 AI 模型或工具的能力。

  2. 人机共创 胜于 彼此对立    人类掌控方向,人机协作达成目标。

  3. 拥抱变化 胜于 墨守陈规    主动拥抱 AI,实现编程从传统到智能的跃迁。

  4. 明晰洞察 胜于 魔法崇拜    理解 AI 编程的原理、能力和边界,建立理性认知体系。

  5. 过程可控 胜于 盲盒祈愿    确保 AI 编程开发过程可控。

  6. 安全持续 胜于 贪功冒进    在 AI 编程中坚守代码质量和系统可维护性。


这六大原则,如六把钥匙,精准地对应着我们前文所述的三大困境:"人机共创"重塑了混乱的角色,"过程可控"与"明晰洞察"驱散了随机的迷雾,而"安全持续"与"目标达成"则为质量与隐患筑起了坚实的围墙。

它为我们穿越这三大困境的迷雾,提供了清晰、务实的方向指引。

8
宣言的诞生:乔帮主与社区的力量

《AI 编程宣言》的主要起草人,是业内开发者们称为乔帮主的乔梁。

这个亲切的称呼,源于他深厚的行业资历和乐于助人的社区精神。

作为中国敏捷社区公认的标志性人物和早期布道者,他的声誉建立在超过十年的持续贡献和深远影响之上。

他不仅是《持续交付》《加速:企业数字化转型的 24 种能力》等一系列全球顶级技术著作的核心译者。而正是这些译作,为国内第一代敏捷与 DevOps 实践者带来了启蒙性的思想火花,构建了先进软件工程的共识基础。

qiaoliang

多年来,乔帮主笔耕不辍,通过撰写大量深刻的技术文章、在各大技术峰会上发表演讲,系统性地将敏捷开发、持续集成、DevOps 等核心理念与中国企业的实际情况相结合,影响了无数开发者和技术管理者。

正是这段将先进思想引入并使其本土化的宝贵经历,让他对当年『软件危机』以及敏捷如何破局有着教科书级别的深刻洞察。

如今,凭借这份历史性的敏锐,他预见到方兴未艾的 AI 编程正陷入缺乏工程准则的相似困境。

因此,他再次扮演起思想先行者的角色,发起了《AI 编程宣言》的起草工作,旨在凝聚新一代开发者的共识,为这个全新的智能时代,探寻一套可持续、可信赖的软件工程新范式。

这份宣言的诞生并非一人之功,而是源于整个『AI 编程社区』的集体智慧。

在乔梁的倡议下,一群身处一线的开发者、架构师和 AI 实践者,经过数次的线上研讨与思想碰撞,将踩过的坑、总结的经验、看到的未来不断提炼、升华,最终形成了这份凝聚共识的草案。

以小见大。即使是这六条原则的先后排列顺序,社区发起者们就进行了两轮的讨论,才做出决策。

这里简单列举一下他们的名字:谭中意、乔梁、庄表伟、徐晓强、李辉、狄安、王蕴博、吴穹。详见 https://github.com/AI-Programming-Community/Introduction 。

9
我们的远景与邀请:共同塑造未来

我们是谁?

我们是 AI 编程社区。一群不甘心在混乱中凑合、想为未来点一盏灯的普通开发者。

我们在做什么?

我们在维护这份宣言,也在围绕它探索一整套实战方法论:包括最佳实践、工具链和工程模式。

我们为什么要做?

因为我们坚信,技术的发展不应以牺牲工程的严谨性为代价。AI 编程的未来,不应该是『盲盒祈愿』,而应该是一门更加成熟、更加强大、更加可靠的『新工程学』。

我们的目标和愿景

在 AI 的浪潮之巅,重建软件工程的秩序。让开发者不再是 AI 的『审查者』或『服务员』,而是成为一个手握更强大工具的、真正的『创造者』。

我们希望看到的未来是,AI 作为我们可靠的『副驾驶』,与我们一同驾驶着软件工程的巨轮,驶向更广阔的星辰大海。

现在,我们向每一位读到这里的你,发出最诚挚的邀请。

这份宣言不属于某个人或某个团队,它属于每一位身处 AI 时代的开发者。

它不是『上面的人』写给我们的圣经,而是我们大家一起共创达到的共识。

1. 阅读与支持

请访问我们的 GitHub,阅读宣言的完整内容。如果你认同我们的理念,请为这个项目点亮一颗 Star,并在参与者这里签署你的名字。你的支持,是凝聚共识的第一步。

  • 宣言地址: https://github.com/AI-Programming-Community/AI-Programming-Manifesto
  • 社区介绍: https://github.com/AI-Programming-Community/Introduction

2. 讨论与质疑

我们欢迎任何形式的思辨和讨论。你可以通过 GitHub 的 Issues 功能,对宣言的任何一点提出你的看法、困惑或反对意见。真理越辩越明。

3. 贡献与共建

如果你有更好的想法,或希望对宣言进行修订,我们无比欢迎你通过 Pull Request 的方式,直接成为这份宣言的共建者。

2001 年,雪鸟滑雪场的 17 位开发者,用一份宣言改写了软件开发的历史。

今天,我们又一次站在历史的十字路口。而这一次,改变未来的机会,就在我们自己手里。

让我们一起,结束这场『AI 软件危机』,开启一个更成熟、更可信赖的智能软件工程时代。