site logo

Marico's space

从提示到生产:AI辅助软件开发实用框架

AI技术与应用 2026-07-23 11:27:58 8

最近折腾了AI辅助开发这件事,在团队里搞了场实战工作坊,踩了几个坑,也摸索出一套还算实用的方法论。这篇把核心内容梳理清楚,不整虚的。

生成式AI正在快速改变软件开发的方式。很多团队都在用AI编程工具,但真正的挑战不在于生成代码,而在于建立一套可重复的流程,能持续产出可靠、高质量的成果。

这次工作坊没有用那些玩具级别的示例,而是围绕一个真实的业务问题展开,全程应用结构化的AI辅助开发流程。最终的产出不只是能跑的软件,更重要的是我们提炼出了一套实用框架,帮助工程师与AI agent高效协作、提升效率的同时保持工程质量。

在动手写代码之前,有一点反复强调:先理解,再动手。

参与者被要求提前熟悉业务需求和问题域,而不是上来就让coding agent开干。目标不是更快地生成代码,而是:

  • 真正理解业务问题
  • 验证AI生成的输出
  • 批判性地审视实现方案
  • 在实现前验证测试用例

工作坊强化了一个关键原则:AI可以加速开发,但理解业务意图的责任永远在人这边。

很多人讨论AI时,焦点都在"怎么写出完美的提示词"。这次工作坊让我们意识到,更重要的是"上下文工程"(Context Engineering)。

效果最好的案例中,工程师提供的是:

  • 业务目标
  • 功能需求
  • 验收标准
  • 系统上下文
  • 集成依赖
  • 架构约束
  • 数据权威来源的考虑

团队没有上来就让AI agent生成代码,而是先提供全面的上下文,要求agent充分理解问题后再行动。比如这样:

"我想创建一个新的Spring Boot应用,用于销售平台。请先review需求、理解验收标准,在创建实现计划之前,先向我追问所有问题。"

业务需求描述了一个场景:卖家需要一个流畅的方式服务客户,同时依赖现有系统作为数据权威来源,避免跨平台的不必要数据重复。

提供这种级别的上下文后,AI生成的计划、测试用例和实现建议质量明显提升。

工作坊中有一个非常实用的概念,我称之为"追问法"(Grill Me Technique)。

核心思路是:不急着给出解决方案,而是指示AI agent挑战假设、追问后续问题,直到彻底理解需求。

这让agent从一个代码生成器转变成了业务分析师。AI不再靠猜,而是主动提问:

  • 我们试图达成什么业务结果?
  • 哪些系统目前是数据的权威来源?
  • 集成的约束条件是什么?
  • 边界情况有哪些?
  • 怎样算成功?

目标是消除所有歧义,再开始规划或实现。这个过程经常能在开发启动前就发现需求中的缺口。

工作坊采用了一套可重复的工作流程,目的是最大化AI效能,同时保持工程纪律。

步骤一:需求发现

向AI agent提供业务需求,要求它在提出解决方案之前先充分理解请求。Agent应该review可用的上下文并提出澄清问题,直到需求被充分理解。

产出:对问题的清晰理解。

步骤二:实现规划

需求理解清楚后,AI生成:

  • 解决方案架构
  • 技术方案
  • 任务分解
  • 风险和假设

产出:可执行的实现计划。

步骤三:人工审查

开发者review提议的计划并挑战假设。这是整个流程中最关键的阶段之一。

目标不是盲目批准计划,而是验证:

  • 架构决策
  • 业务对齐
  • 缺失的需求
  • 技术可行性

产出:经过验证的实现策略。

步骤四:测试驱动开发(TDD)

在写代码之前,让AI生成测试用例。结构化的TDD方法鼓励工程师在实现开始前就定义系统的预期行为。

好处包括:

  • 更好地验证需求
  • 提升质量
  • 对结果更有信心
  • 更早发现需求缺口

产出:与业务需求对齐的全面测试覆盖。

步骤五:审查测试用例

开发者review生成的测试,确保:

  • 需求被完整呈现
  • 边界情况被覆盖
  • 验收标准被处理

高质量的测试用例往往能在实现开始前就暴露需求缺口。

产出:可靠的验证标准。

步骤六:代码实现

在需求、计划和测试都经过验证后,AI生成实现代码。由于前面几个阶段建立了强有力的防护栏,实现质量显著提升。

产出:更快、更准确的开发。

步骤七:验证和优化

AI生成的代码绝不能默认视为可投产状态。工程师仍然需要执行:

  • 代码review
  • 功能验证
  • 性能检查
  • 安全审查
  • 优化和改进

产出:达到生产质量的软件。

工作坊让我们收获了几个重要教训。

需求质量决定AI输出质量。输出的质量直接取决于输入的需求质量。清晰的业务需求一贯能产出:更好的实现计划、更好的测试覆盖、更好的代码质量。

人工监督仍然关键。AI可以加速分析、规划、测试和编码,但它无法替代工程判断。开发者仍然负责:

  • 理解业务意图
  • 挑战假设
  • 评估架构
  • 确保质量

TDD与AI配合得极好。在实现前生成测试,为开发者和AI agent之间创造了强有力的协作关系。测试提供了结构、定义了预期、减少了歧义。AI生成测试加人工review的组合被证明特别有效。

流程比模型更重要。最令人惊讶的教训之一是,成功更多地取决于围绕AI的工作流程,而不是使用哪个具体的模型。团队往往执着于找到"最好"的模型,但实际上,严格的流程带来的结果持续优于单纯依赖模型能力。

也许最重要的收获是:软件开发正在进化。开发者花在写重复代码上的时间越来越少,更多地花在:

  • 理解业务问题
  • 评估解决方案
  • review AI生成的输出
  • 设计系统
  • 定义质量标准
  • 做架构决策

最有价值的工程技能不再是快速敲代码,而是提供正确的上下文、问正确的问题、验证正确的结果。

软件开发的未来不是用AI取代工程师,而是让人类专业知识和AI能力之间形成有效的伙伴关系。工作坊证明,成功的AI采用早在代码生成之前就开始了。它始于理解需求、提供丰富的上下文、挑战假设、review计划、验证测试,并在整个开发生命周期中保持对质量的所有权。

当与严格的流程结合使用时,AI不仅仅是生产力工具——它成为了工程团队的效能倍增器。