结果定义先行"替代传统 SDLC 的"功能驱动"。" />
模块四 · 系统重写 / F24 工程级 · 所有系统重写框架 →

智能体全生命周期开发法 Agent Development Lifecycle Method ADLC

先定义"什么叫成功",再写代码——这个顺序的改变,比任何技术选型都重要。
传统软件开发是先定义功能,再实现,再测试,再发布。智能体开发必须是先定义成功,再设计上下文,再实现,再评测,再迭代。顺序的差异,是质量差异的根本来源。

DEF ·面向 Agent 非确定性特征,建立发现定义 → 上下文设计 → 能力构建 → 评测验证 → 部署监控 → 持续优化六阶段闭环——以"结果定义先行"替代传统 SDLC 的"功能驱动"。

核心问题
Agent 项目应该按什么生命周期推进?传统 SDLC 哪里需要改写?
体系定位
第五层 · 负责回答「项目应该怎么走完一个迭代周期」,是工程方法的总入口。
使用时机
Agent 项目立项标准 · 研发流程梳理 · 研发与业务对齐机制 · PMO/项目管理流程升级
F24 · ADLC 六阶段迭代闭环
P6
F24 · ADLC 6 阶段闭环 发现定义 上下文设计 能力构建 评测验证 部署监控 持续优化
六阶段顺时针循环,不是线性流程评测集随每轮迭代持续更新

01"功能完整,但价值漂移"

大多数智能体项目的开发流程,看起来是这样的:产品经理写功能需求,技术团队讨论实现方案,开始写代码和调整提示词,内部测试,然后发布,等待用户反馈,再迭代。

这个流程继承自传统软件开发的生命周期模型——需求→设计→实现→测试→发布→维护,已经运行了几十年,是整个行业的默认实践。

但智能体系统在这个流程里经常出现一个特定的失败模式:发布了,用户在用,指标看起来还可以,但一段时间之后发现,这个系统完成的任务很多,但带来的实际业务价值却很少。追问下去,发现根本问题:开发团队从来没有清楚地定义过"这个系统完成任务之后,业务上应该发生什么变化"。功能完整,但价值漂移。

02为什么传统 SDLC 不能直接迁移到智能体开发

理论来源:传统软件开发生命周期(SDLC,1960 年代起系统化);敏捷开发方法(敏捷宣言,2001)。
本框架创新:针对智能体系统的概率性输出特征,将 SDLC 的线性功能驱动流程,重构为以"结果定义先行"为核心的迭代闭环——ADLC;在每个阶段引入对应的智能体专属实践,特别是"上下文设计优先于功能实现"和"评测集作为发布门禁"两个关键设计原则。

传统软件开发生命周期(SDLC)建立在一个对智能体系统不成立的假设上:需求可以被完整地转化为功能规格,功能规格可以被精确地实现,实现结果可以被确定地验证。

这个假设让线性的"瀑布式"流程成为可能,也让迭代式的敏捷开发成为可能——因为每一个迭代周期里,需求、实现和验证的边界是相对清晰的。

智能体系统打破了这个假设的每一个环节。

  • 需求无法被完整转化为功能规格。一个自然语言处理任务的"功能规格",无法精确描述系统在所有可能的输入下应该产生什么输出——输入空间是无限的。
  • 实现无法被精确地执行。提示词工程的结果是概率性的,模型的行为在不同上下文下有细微差异,系统表现是一个分布,不是一个点。
  • 实现结果无法被确定地验证。没有"测试通过"这个二元结论,只有"在这组评测集上,各维度的表现分布是否达标"这个统计判断。

03ADLC 的六阶段迭代闭环

智能体全生命周期开发法把智能体开发分为六个阶段,每个阶段都有明确的输入、输出和必须回答的核心问题。

阶段一·发现定义

传统 SDLC 从这里开始,但收集的是功能需求。ADLC 从这里开始,收集的是结果定义核心问题:这个系统部署之后,用户的业务状态应该发生什么变化?如何判断这个变化真的发生了?这个阶段的输出是:结果定义文档 + 结果评估指标。没有这个输出,不应该进入下一阶段。

阶段二·上下文设计

这是 ADLC 区别于传统 SDLC 最明显的阶段——在写任何代码之前,先设计智能体的信息环境。这个阶段的产出是上下文架构文档,它是后续所有工程实现的基础规格,不是一个可以随时补充的配置项

阶段三·能力构建

在上下文架构指引下进行系统实现,包括提示词设计、工具集成、Skill 文件开发、多智能体协作逻辑。所有实现决策都服务于上下文架构,而不是服务于功能列表。

阶段四·评测验证

用第一阶段定义的结果评估标准,对第三阶段的实现进行系统性评测。评测不是测试——测试回答"功能是否实现了",评测回答"在目标结果维度上,系统的表现分布是否达到了基准线"。

阶段五·部署监控

系统上线之后,建立持续的监控机制。关键的监控对象不只是技术指标(延迟、错误率),更是业务结果指标——第一阶段定义的那些结果,是否真的在发生。

阶段六·持续优化

基于监控数据,识别系统的改进机会,带着明确的改进假设进入下一个迭代循环。每次迭代结束后,更新评测集,确保新发现的失败场景被纳入下一轮的验证范围。

04"先定义成功再写代码"为什么这么难

在实践中,严格按照 ADLC 第一阶段的要求做结果定义,往往会遇到阻力。项目团队会说:现在还不知道系统的具体表现,怎么定义成功标准?等系统跑起来了再看看怎么样。

这种阻力是可以理解的。定义智能体系统的成功标准,确实比传统软件难得多——因为它需要把模糊的业务期待,转化为可以被量化评估的具体指标,而这个转化过程本身就需要大量的业务分析和指标设计工作

但这个困难,正是为什么这个工作必须在最前面做。不是因为简单,而是因为如果不在最前面做,后面的所有工作都缺少一个明确的终点。

没有终点的开发,不是在迭代,而是在漂移。

05从"功能实现"到"结果发生"的价值交付

ADLC 揭示的,是智能体开发和传统软件开发在"价值交付逻辑"上的根本差异。

传统软件的价值交付是"功能实现"——产品经理定义了功能,工程师实现了功能,交付了。

智能体系统的价值交付是"结果发生"——不是功能实现了,而是用 JTBO 框架定义的那个业务结果,在真实使用中真实发生了。功能实现只是达到结果的手段,不是目的本身。

这个认知的移位,意味着智能体项目的成功定义需要从产品层面延伸到业务层面。技术团队不能只对"系统正常运行"负责,他们需要对"系统帮助业务实现了预期的结果"负责。这是一个更高的要求,也是智能体系统真正成为业务价值创造者而不只是技术工具的必要条件。