第三章:新旧范式的核心差异

AOSE继承并升华敏捷理念,核心转变是从"亲手编码"到"定义需求规格与审查AI方案"。价值创造从实现环节前移至定义与验证,要求技术人员培养规格定义与AI审查的新核心能力。

1 从敏捷到意图驱动:一场范式的跃迁

回顾软件工程的发展历程,敏捷开发(Agile)无疑是过去二十年间最具影响力的范式革新。它通过短周期迭代、持续交付和快速响应变化等实践,有效解决了"如何在需求不断变化的环境中保持响应能力"这一核心问题。然而,随着大语言模型和AI Agent技术的成熟,软件工程正面临着一个全新的命题:“如何在AI时代重新定义人与机器的分工协作模式”。

面向智能体软件工程(AOSE)正是为回应这一命题而生。需要特别强调的是,AOSE绝非对敏捷理念的否定或颠覆,恰恰相反,它是在敏捷方法论基础上实现的又一次范式跃迁——敏捷解决了"人如何高效协作"的问题,而AOSE将进一步解决"人与AI如何高效协同"的问题。两者是一脉相承、递进演化的关系。

2 核心维度对比

为了更清晰地理解两种范式的差异,让我们从核心单元、开发流程、团队角色和交付物四个维度进行系统性的对比分析。

用户故事的演进:从人际沟通到人机协同

敏捷开发中的用户故事(User Story)作为需求表达的核心单元,在AOSE时代依然保有其价值,但其表达形式和目标受众发生了重要变化。

在传统敏捷实践中,用户故事主要服务于团队成员之间的沟通。经典的"作为一个<角色>,我想要<功能>,以便<价值>“格式,旨在促进业务人员与技术人员的对话,确保双方对需求有一致的理解。然而,这种自然语言的表达方式往往存在歧义,许多细节需要开发者在实现过程中自行推断。

在AOSE范式下,用户故事需要承载更多的使命:它不仅要让人类团队成员理解需求,还要让编码Agent能够准确执行。这就要求我们采用更加结构化、无歧义的表达方式。行为驱动开发(BDD)的Gherkin语法是一种行之有效的选择——它通过"Given-When-Then"的格式描述场景,既保持了自然语言的可读性,又具备了机器可解析的严谨结构。

这种演进的关键在于:产品需求定义"做什么”,作为人机共读的需求表达;技术人员据此定义实现规格,指导Agent完成"如何拆解和执行"。产品需求面向业务价值,实现规格面向技术执行,两者协作完成从需求到代码的转化。

需要强调的是,这里仅作概念性介绍。如何在实践中撰写适合Agent执行的用户故事和验收标准,将在后续的实施落地章节中详细阐述。

开发流程的变迁

开发阶段敏捷开发实践面向意图开发实践
需求输入产品经理编写PRD文档,通过需求评审会讨论确认产品经理定义业务需求和产品需求,技术人员据此指导Agent执行
任务拆解技术负责人手动拆解任务,进行估点和排期技术意图中的任务拆分直接指导Agent执行
编码实现开发者手动编写每一行代码Agent根据技术意图的实现规格生成代码,人类审查
测试验证QA工程师编写测试用例,人工与自动化结合执行Agent根据验收规格自动生成并执行测试
代码审查人工Review代码风格、逻辑正确性人工审查意图对齐度、实现规格合理性

流程变迁的本质是价值创造环节的转移:人类从"亲手实现"转向"定义和验证",AI接手"具体执行"的环节。

团队角色的变迁

角色敏捷时代的核心能力要求AOSE时代的核心能力要求
产品经理编写PRD、绘制原型、需求沟通协调定义产品需求、设计业务规则、验证价值实现
架构师/技术负责人绘制架构图、技术选型决策定义技术意图(实现规格+约束)、设计系统拆分
开发者编码实现、调试排错、性能优化定义实现规格、审查AI方案、处理边缘情况
测试工程师编写测试用例、执行测试、报告缺陷设计验收规格、定义质量门禁、审查测试覆盖
运维工程师系统部署、监控告警、故障处理SRE策略设计、配置自愈规则、可观测性架构

角色的变迁不是简单的技能替换,而是能力重心的转移。每个人都从"执行者"向"定义者"和"审查者"方向移动。

交付物的变迁

交付物类型敏捷时代AOSE时代
需求文档PRD文档、用户故事列表业务需求 + 产品需求
设计文档架构图、时序图、流程图Agent执行过程产物
代码主要由人类编写和维护AI根据实现规格生成,人类审查和编写关键模块
测试资产人工编写的测试脚本和用例验收规格驱动,AI生成测试代码

值得特别关注的是交付逻辑的升级:从"人类阅读文档后手动编码"转变为"编码Agent直接理解需求并生成代码"。这不是简单的文档形式变化,而是围绕编码智能体重构了价值交付链路——业务需求指明方向,产品需求定义功能,技术意图指导Agent完成具体开发。业务需求和产品需求构成需求层面的核心交付物,技术意图则是技术人员指导Agent执行的实现蓝图,使业务价值能够以更快的速度从概念转化为可运行的软件。

3 三种关键思维转变

范式转换的深层基础是思维模式的转变。从敏捷到AOSE,我们需要在三个维度上完成认知升级。

从"控制实现细节"到"定义实现规格"

在敏捷时代,架构师的工作往往是"控制型"的:绘制详细的类图、时序图、状态图,规定每一个模块的接口和数据结构。开发者的任务是按图索骥,严格遵循设计文档,不得偏离预设轨道。

在AOSE时代,技术负责人的角色转变为"实现规格定义者":

  • 不再手写每一行代码,而是定义技术意图中的实现规格——包括模块如何拆分、数据模型如何设计、接口契约如何定义、开发任务如何拆分;
  • 不再规定"每个类应该如何实现",而是定义"领域层不得依赖基础设施层"这样的架构约束,以及"所有对外接口必须满足P99响应时间<100ms"的性能约束;
  • AI根据实现规格自主完成编码,人类负责审查实现是否符合规格、方案是否合理。

这种转变的本质是从编码执行者转向规格定义者。技术人员的核心价值体现在"能否定义出足够清晰、完整的实现规格,使得AI能够据此自主完成开发任务"。

从"亲手编写代码"到"审查AI方案"

让我们用流程图来直观展示这种变化:

敏捷时代的价值创造链

需求 → 设计 → 编码 → 测试 → 上线
        ↑人类在此处创造核心价值

AOSE时代的价值创造链

产品需求 + 技术意图 → Agent根据实现规格生成 → 人审查 → Agent实现 → 自动测试 → 人验收上线
↑人类定义功能方向和实现规格      ↑人类判断实现是否符合规格

价值的创造点从"编码实现"转移到了"产品需求定义"、“技术意图(实现规格)定义"和"实现审查”。这要求技术人员培养全新的能力:如何将产品功能拆解为可执行的模块、如何设计清晰的数据模型和接口契约、如何定义可验证的验收规格,以及如何快速判断AI生成实现是否符合规格。

从"人与人之间的协作"到"人与Agent、Agent与Agent之间的协同"

敏捷开发高度强调"人与人之间的互动",每日站会、结对编程、代码审查等实践都是为了促进团队成员之间的高效协作。

AOSE时代则引入了新的协作维度:

  • 人与Agent的协作:人类定义意图,Agent执行实现,人类审查结果;
  • Agent与Agent的协作:多个专业化Agent并行工作——需求分析Agent、架构设计Agent、代码生成Agent、测试Agent等,它们之间通过结构化的意图描述进行协作。

这种转变并不意味着人与人之间的协作不再重要,而是说协作的复杂性和效率得到了AI的增强——人类可以聚焦于更高层次的策略讨论和价值判断,将执行层面的协调交给AI。

4 敏捷内核的保留与升华

面向智能体软件工程绝不是对敏捷的抛弃,恰恰相反,它升华了敏捷宣言中的核心价值,使其在AI时代焕发出新的生命力:

敏捷宣言原文在AOSE中的具体体现
个体和互动 高于 流程和工具人类专注于高价值的意图定义和验证,AI处理重复性的执行工作,释放人的创造力
工作的软件 高于 详尽的文档轻量化的意图描述即可驱动Agent完成需求分析、设计并生成可运行软件,文档被极大简化
客户合作 高于 合同谈判客户意图可快速通过Agent转化为可验证的原型,缩短反馈周期,实现需求实时对齐
响应变化 高于 遵循计划意图变更后AI能够在分钟级别重新生成实现,响应速度实现指数级提升

基于这种传承与升华的关系,我们可以尝试提出面向智能体时代的"敏捷宣言2.0"

  • 意图的清晰明确 高于 代码的精巧复杂
  • 约束的完备严谨 高于 流程的繁琐规范
  • 人机协同的整体效率 高于 人与人之间的协调成本
  • 价值的快速交付 高于 功能的快速堆砌

5 变革的阻力与应对策略

任何深刻的变革都会遇到阻力。理解这些阻力的来源并采取有效的应对策略,是转型成功的关键。

认知惯性:“不写代码,那我做什么?”

典型表现:资深开发者可能会问:“我写了十年代码,你现在让我不写代码,那我在干什么?我的价值在哪里?”

应对策略

  • 重新定义价值度量:帮助团队建立新的价值认知——从"我写了多少行代码"转变为"我定义了多少高价值产品需求"、“我设计了多少清晰的实现规格”、“我发现了多少AI方案中的问题”;
  • 系统性技能升级培训:提供从编码技能到意图表达、约束设计、系统思维等新能力的培养路径;
  • 树立标杆示范:让率先完成转型的成功者分享他们的经验和成就感来源,用事实说话。

流程依赖:“现在的流程跑得挺顺的”

典型表现:团队可能会说:“我们的Scrum流程已经跑顺了,Sprint节奏也很稳定,为什么要折腾?”

应对策略

  • 小步试点,以点带面:从非核心业务或新启动的项目开始试点,不触动已经在稳定运行的核心流程;
  • 数据驱动决策:建立清晰的对比指标,用试点前后的效率、质量数据说话;
  • 尊重既有仪式,改变实质内容:保留团队熟悉的敏捷仪式(如每日站会、Sprint回顾),但改变其讨论的内容——从"昨天写了什么代码"变为"昨天定义了哪些产品需求、完善了哪些实现规格"。

信任缺失:“我不相信AI能写好代码”

典型表现:对AI生成代码的质量持怀疑态度,担心引入不可控的风险。

应对策略

  • 建立透明机制:让AI在生成代码的同时解释"为什么选择这种实现方案",增强可理解性和可审计性;
  • 完善约束保障体系:通过规则引擎和静态检查工具确保AI不会越界,在风险可控的范围内逐步扩展AI的权限;
  • 渐进式授权策略:从AI辅助编码(如代码补全)开始,逐步过渡到AI生成模块代码,再到AI实现完整功能,让团队在过程中逐步建立信任。

6 本章小结

通过对新旧范式的系统性对比,我们可以将核心差异归纳为一句话:

敏捷开发解决的核心问题是"人在需求变化中如何高效协作",而面向智能体软件工程解决的核心问题是"人与AI如何分工协作、各尽所能"。

关键维度敏捷时代的特征AOSE时代的特征
核心工作单元用户故事(User Story)业务需求、产品需求、实现规格
人机分工模式人类编写代码,机器负责编译执行人类定义产品需求和技术意图,Agent根据实现规格生成代码
团队角色定位按技能进行专业分工产品人员定义业务需求和产品需求,技术人员定义实现规格
核心交付物代码和文档业务需求、产品需求、AI生成的代码
思维重心所在How(如何实现)What(产品需求)+ How to implement(实现规格)

这场变革不是对软件工程历史的否定,而是在AI能力跃升的背景下,软件工程的自然演进和升级。深刻理解这些差异,是我们成功完成范式过渡的前提和基础。


思考题

  1. 回顾你所在团队当前采用的敏捷实践(如Scrum、看板或XP),哪些实践在AOSE范式下可能变得不再必要,哪些实践需要保留但改变其形式?例如,每日站会是否还有价值?Sprint评审会的形式应该如何调整?

  2. 假设你的团队决定在下个季度试点AOSE范式,你认为最大的阻力会来自哪个角色——是担心价值被稀释的资深开发者、担心失去控制权的架构师,还是担心流程混乱的管理层?你将如何针对这一角色设计沟通策略?

  3. 对比敏捷宣言的四个价值观与AOSE的升华表述,哪一个转变对你个人的工作方式影响最大?是"文档被极大简化"带来的表达习惯改变,还是"客户意图快速验证"带来的协作模式变化?