生成式 AI 正在迅速进入软件开发流程。从最初的代码补全工具,到能够执行复杂任务的智能体,AI 在开发中的角色正在不断扩大。

然而,在许多组织中,人们仍然把 AI 编程理解为一种工具升级:更聪明的 IDE 插件、更强大的代码生成器,或者更方便的技术问答助手。

这种视角很容易低估 AI 对软件工程的真正影响。

在越来越多的团队中,AI 不再只是提供建议,而开始参与实际开发任务,例如生成模块、运行测试、修复错误,甚至创建 Pull Request。软件开发正在逐渐从 “人使用工具” 的模式,转变为 “人与 AI 协作” 的模式。

为了理解这种变化,我们可以借鉴 Agile Fluency Model 的思想,将 AI 编程看作一种能力演进,而不是一次性的技术 adoption。这种能力演进,可以称为 AI Coding Fluency

AI Coding Fluency 模型

AI Coding Fluency 描述的是团队在使用 AI 进行软件开发时逐渐形成的一组能力。这些能力不仅包括 AI 工具的使用方式,还包括人机协作模式、工程系统支持、质量治理以及上下文管理。

随着团队能力的提升,AI 在开发流程中的角色也会逐渐发生变化。从最初的辅助工具,到能够执行复杂任务的智能体,开发者与 AI 之间的分工不断演进。

下表展示了一个典型的 AI Coding Fluency 演进模型:

像许多 Fluency 模型一样,AI Coding Fluency 并不是一个严格的成熟度路径。不同团队可能在不同阶段同时具备部分能力。这个模型的目的不是评估组织成熟度,而是帮助团队理解 AI 编程能力的演进方向。

在最初的 Awareness 阶段,团队主要通过对话界面或简单工具使用 AI。开发者向 AI 提问,例如解释代码、生成函数或查找技术信息。AI 在这个阶段更像一个增强的知识助手,开发流程仍然完全由人类主导。

当团队进入 Assisted Coding 阶段时,AI 开始深度集成到开发工具中。例如 IDE 插件可以提供智能补全、代码生成和错误修复。开发者仍然是主要实现者,但 AI 已经能够显著提高开发效率。工程系统在这个阶段通常仍然依赖传统质量机制,例如 Linter、代码格式检查和人工 Review。

随着团队逐渐探索 AI 的能力,会进入 Structured AI Coding 阶段。在这个阶段,开发者不再只是要求 AI 生成代码,而是以任务或规格(Spec)的方式与 AI 协作。例如,通过描述功能需求,让 AI 生成模块结构、测试和实现代码。工程系统开始形成自动反馈闭环,例如通过 CI/CD 执行测试、静态分析和质量门禁。

在更成熟的团队中,AI 可能成为开发流程中的主要执行者。在 Agent-Centric 阶段,人类开发者更多地专注于目标拆解和环境设计,而智能体负责执行开发任务,例如生成代码、运行测试和修复错误。工程系统开始为智能体提供专门能力,例如可观测性接口、自动化工具链以及针对智能体的架构约束。

最终,在 Agent-First 的环境中,AI 可以在一定程度上自主执行开发流程,例如复现问题、生成修复并通过测试验证。开发者的角色更多地转向定义系统边界、验证结果以及持续演进工程系统。软件开发开始进入一种新的模式:AI 负责实现细节,而人类负责系统设计与价值判断。

AI 编程的关键挑战

当 AI 开始参与开发流程时,许多传统的软件工程假设开始发生变化。

首先是 信任问题。AI 可以生成大量代码,但开发者往往难以快速判断这些代码是否可靠。如果缺乏有效的验证机制,开发者很容易陷入不断检查 AI 输出的循环。

其次是 上下文问题。AI 的能力高度依赖上下文信息。如果 AI 无法理解系统架构、依赖关系或业务规则,它生成的代码往往难以真正融入现有系统。

第三是 任务设计问题。许多开发任务并不是简单的代码生成问题,而是跨越多个模块的复杂工作。开发者需要学会如何将问题拆解成 AI 可以理解和执行的任务。

这些挑战说明,AI 编程的核心问题并不只是模型能力,而是 协作方式

从工具使用到协作能力

这种变化与企业数字化转型中的一个重要认知转变非常相似。

在早期的数字化实践中,许多组织把重点放在技术 adoption 上,例如引入云平台、大数据平台或移动应用。但后来人们逐渐意识到,数字化并不是简单地采用新技术,而是形成一组能够持续创造价值的能力。

这一思想在 Digital Fluency Model 中得到了系统化表达。Digital Fluency 并不是关于技术本身,而是关于组织是否具备利用技术创造价值的能力:

AI 编程也面临类似的问题。

关键问题并不是团队是否在使用 AI,而是团队是否形成了 人与 AI 协作的能力。当这种能力逐渐成熟时,AI 不再只是开发者的工具,而成为软件工程系统中的一个参与者。

人机协作的软件工程

当 AI 进入开发流程后,软件工程体系本身也需要发生变化。

在传统的软件开发中,工程体系主要围绕人类开发者设计。例如代码 Review、架构规范和开发流程,都是为了支持团队协作。而现在工程中的角色,可以交由 AI 去完成,下图是 Routa 的人机协同看板:

在 AI 编程环境中,工程体系需要同时支持 人类协作和人机协作

开发者需要能够清晰描述问题、提供必要上下文,并通过测试和反馈验证 AI 的输出。与此同时,AI 需要能够访问工程系统,例如构建工具、测试框架和代码分析工具,从而完成开发任务。

在人机协作的软件工程中,开发流程逐渐形成一种新的循环:人类定义目标,AI 尝试实现,工程系统提供反馈,人类再根据结果调整任务:

这种循环并不是简单的“AI 写代码,人类检查”,而是一种持续的协作过程。

结语

生成式 AI 正在改变软件开发的基本模式。从代码补全到智能体编程,AI 在开发流程中的角色正在不断扩展。

在这个过程中,真正决定团队能力的,并不是使用哪一种 AI 工具,而是团队是否能够形成有效的人机协作方式。

AI Coding Fluency 提供了一种理解这种演进的视角。通过逐步建立人与 AI 的协作能力,团队可以更好地利用 AI 的潜力,同时保持软件系统的质量与可持续演进。

随着这些能力逐渐成熟,软件开发可能会进入一个新的阶段:开发者专注于系统设计与问题建模,而 AI 承担越来越多的实现工作。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐