人机协同:AI驱动的高质量设计与代码生成 (2天培训)

人机协同:AI驱动的高质量设计与代码生成 (2天培训)
    马上咨询


    讲师介绍:温老师

    • 具有金融、军工电子、通讯、移动互联网等行业开发和代码重构经验;另外,有长期嵌入式软件研发和重构咨询经验,尤其擅长嵌入式软件的架构优化和代码重构,客户包括大厂华为、以及烽火和康尼等上市公司。
    • 十五年系统规划、架构设计和代码重构经验,在金融、航空、多媒体、电信、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与重构。
    • 产品涉及银行核心系统、航空专用操作系统、网管系统、中间件平台等。为众多知名企业提供了卓有成效的培训与咨询服务。在《程序员》杂志、IBM DeveloperWorks等媒体发表《图论思想与UML应用》、《拥抱变化:敏捷设计从理论到实践》、《运用RUP 4+1视图方法进行软件架构设计》、《随需而变的RUP》、《见山只是山 见水只是水──提升对继承的认识》、《浅谈模式的正交分类》等文章数十篇。

    核心目标:

    掌握“Spec驱动+AI协同”开发范式,提升设计与代码生成效率,产出高质量软件产物


    核心内容三部曲

    • 总体掌握:基于AI的设计与代码生成的阶段、产物
    • 分步掌握:基于AI的设计与代码生成的技能、要点
    • 学员实践:基于AI的设计与代码生成的技能、要点


    --------------------------------------------------------

    1、基础知识

    • 编程助手+LLM 的工作原理
    • Vibe Coding 实践简介
    • Spec驱动开发 实践简介
    • 未来软件研发 开展模式


    -----------------------【大局观篇】------------------------

    2、总体掌握:基于AI的设计与代码生成的阶段、产物

    2.1、案例示范

    • 项目背景
      • 上位机:基于Windows的调试应用程序
      • 连 接:基于串口通信
      • 下位机:FPGA实现矩阵运算等计算任务
    • 示范案例
      • 基于Trae、CodeBuddy等助手
      • 不写一行代码
      • 完成上位机程序的设计、代码生成



    2.2、认知掌握——步骤视角:从Spec开发、到Code生成

    • 示范:借助AI,进行高效spec开发
    • 示范:承接spec,AI生成项目代码

    2.3、认知掌握——产物视角:Req.md、Design.md内容

    • 示例:spec kit 的 spec.md
    • 示例:spec kit 的 plan.md
    • 示例:本课提供的 req_function.md
    • 示例:本课提供的 req_usecase.md
    • 示例:本课提供的 design.md


    ----------------------【技能 上篇】--------------------------

    3、分步掌握:基于AI的设计与代码生成的技能、要点

    3.1、人机交互第一步的两种做法

    • Style 1:输入prompt 要求AI生成代码,然后掉入“无休止修改”的泥潭
    • Style 2:输入prompt 问出AI对程序需求的理解

    3.2、约定技术选型 & 代码分层结构

    • Prompt要点
    • 编程助手操作示例

    3.3、模块清单 & 模块接口清单

    • Prompt要点
    • 编程助手操作示例
    • 接口难点:很多人不能清晰地设计 异步接口
    • 接口难点:很多人不能把异步接口 写成interface.md文件

    3.4、Spec深度不预设 由codegen效果定!

    • 思想:AI辅助开发中“探索性、反馈式、反直觉”思想
    • 做法:

    1)Spec集喂给AI 基于codegen效果反推spec漏洞

    2)选择细化spec

    3)返回1)


    ----------------------【技能 下篇】--------------------------

    4、不同场景下 需要的细化技能

    4.1、选择细化spec——关键子系统设计 定义xxxx_module_detailed.md

    • Prompt要点
    • 编程助手操作示例
    • 跨多层的垂直功能模块设计:功能内聚要求
    • 跨多层的垂直服务模块设计:内部模块的可扩展、可替换设计

    4.2、选择细化spec——关键功能细化澄清 定义req_xxxx_usecase.md

    • Prompt要点
    • 编程助手操作示例
    • 复杂功能需求 = 功能主干流程 + 功能分支场景
    • 用例规约格式 【以例代讲】

    4.3、选择细化spec——关键界面设计澄清 扩充req_function.md

    • Prompt要点
    • 编程助手操作示例

    4.4、选择细化spec——集成接口需求澄清 定义req_interface.md

    • Prompt要点
    • 编程助手操作示例
    • 接口技术风格 1:编程语言接口 (OO 类、C 函数均可)
    • 接口技术风格 2:通信协议接口 (二进制、Json等均可)
    • 为何协议接口需求定义需状态机


    -----------------------【实操训练篇】------------------------

    5、学员实践:基于AI的设计与代码生成的技能、要点

    通过实战案例,学员基于编程助手演练(Trae、CodeBuddy)

    • 项目背景
    • 步骤演练
    • 演练成功标准:

    1)req_function.md、req_interface、design.md等组成的【spec集】

    2)将【spec集】喂给AI,更直接产生可运行的、功能基本齐全的完整代码