夜雨聆风学习资料网

ARTICLE · 992434

AI Coding 越强,为什么越需要软件工程?

AI Coding 越强,为什么越需要软件工程?

最近几年,AI Coding 工具的能力进步很快。

从代码补全到 Coding Agent,开发工具已经可以阅读代码库、修改文件、执行命令、运行测试,再根据错误继续修复。“氛围编程”也让更多人可以用自然语言把想法快速变成程序。

代码生成的门槛正在降低,从想法到可交付、可维护软件的工程问题仍然存在。

软件工程是一套受控的信息减熵过程

需求往往混乱、不完整、充满歧义,软件则是可以被计算机执行的结构化结果。软件工程把需求作为输入,通过持续收集、澄清、转换和验证信息,逐步形成目标软件。

从需求到软件的信息减熵过程

01

业务问题和目标

↓  收集、澄清、确认

02

需求和验收标准

↓  分析、取舍、设计

03

架构和实现方案

↓  编码、构建、集成

04

可执行的软件

↓  测试、验收、运行反馈

05

可交付并持续演进的软件

上一阶段的输出会成为下一阶段的输入。评审、测试、验收、配置管理、变更管理和运行监控,用于发现输入遗漏、转换偏差和结果缺陷。

CMMI 将过程变得可管理、可度量、可追踪、可改进;敏捷开发通过小步交付和快速反馈,持续修正变化中的需求和实现。这些方法保留了人类对软件信息减熵过程的控制经验。

AI Coding 提高整个流程的运行效率

重复工作存在于需求、设计、开发、测试和项目管理的每一个环节:整理材料、追踪变更、梳理依赖、更新文档、生成代码、构造测试数据、执行回归、分析日志、收集状态和整理风险。

AI Coding 的三层分工

LLM

处理自然语言和非结构化信息,完成抽取、归纳、关联和生成

Coding Agent

连接项目数据、工具和状态,执行信息收集、制品生成、结果检查和状态跟踪

重复劳动交给 Coding Agent 和自动化系统,人保留目标、取舍、风险、验收和关键决策

AI Coding 提高的不应只是编码效率,而应该是整个软件工程流程的运行效率。

岗位结构与流程结构解耦

两种结构相关,但不是同一件事

流程结构

定义阶段、输入、输出和验证方式

岗位结构

定义这些工作由谁完成

人的能力和精力有限,传统组织把需求、架构、开发、测试和运维分配给不同岗位。专业化分工增加了交接环节,并带来信息压缩、理解偏差、等待和返工。

Coding Agent 可以跨越多个环节,也可以根据上下文、权限、并行执行和独立验证的需要,调度多个专项 Agent 和工程工具。岗位的部署方式因此可以改变。

需求理解、约束识别、系统设计、代码实现、结果验证、部署和维护仍然必须完成。一个 Coding Agent 可以在一次任务中完成多个阶段,不能省略每个阶段应该产生的工程结果。

执行流程的方式可以变,流程需要保证的工程结果不能消失。

项目管理经验的工程化沉淀

Coding Agent 可以承担信息收集、状态跟踪、结果检查和问题提醒,自动化系统执行测试、构建和发布。

项目经验的工程化沉淀

判断标准:需要收集的信息、必须检查的结果、提前控制的风险,以及继续、暂停、返工和升级的条件。

执行机制:工作流程、上下文、检查点、验证器、权限边界和异常升级机制。

将这些经验沉淀为工作流程、上下文、检查点、验证器、权限边界和异常升级机制,才能让 Coding Agent 低成本、可控地执行软件生产过程。

从氛围编程到工程化交付

氛围编程降低了把想法变成程序的门槛,适合个人工具、原型和快速试验。

使用范围扩大、数据价值上升、需求持续变化、用户增多以后,开发就需要清晰需求、验收标准、模块化设计、版本管理、自动化测试、发布、监控和变更管理。

能力扩展路径

氛围编程  →  工程化  →  稳定交付

掌握软件工程的人,能够给 Coding Agent 提供更完整的信息,合理拆分任务,明确验收结果,并控制不应交给 Coding Agent 自行决定的风险。

氛围编程提供创造的起点,软件工程将它推进到稳定交付。

软件工程 Agent 的完整形态

软件工程 Agent 是在 Coding Agent 之上扩大工作范围,将需求、设计、开发、测试、交付和维护连接起来的 Agent 系统。

它会引导用户明确问题,收集业务背景,识别需求缺失和矛盾,建立验收标准,再根据复杂度和风险选择工程流程。

设计、实现、测试、部署和维护由软件工程 Agent 结合工程工具继续执行,关键决策、风险取舍和最终验收由人确认。

用户看到自然语言对话,系统内部执行完整软件工程流程。软件工程知识由人工经验转化为 Agent 系统的生产能力。

结语:把软件工程经验变成 Agent 能力

LLM 降低语义信息的整理和转换成本,Coding Agent 和工程工具降低流程执行成本。

软件工程、CMMI、敏捷开发和项目管理经验,定义信息如何收集、转换、验证并最终交付为软件。AI Coding 改变这些方法的执行方式,不改变它们要解决的基本问题。

结语

AI 时代的软件工程,是用 LLM 提高信息减熵效率,用 Coding Agent 和工程工具执行和验证流程,并把人类积累的工程经验变成可运行的软件生产能力。

相关学习资料

返回首页浏览学习资料