《Git工作流与开源工程——AI智能体协同的物理AI产品开发》教材大纲

一、课程与教材定位

(一)课程名称

课程建设项目名称保持为:

《Git工作流与开源工程》

教材名称采用:

《Git工作流与开源工程——AI智能体协同的物理AI产品开发》

课程名称与申报名称保持一致。教材副标题说明AI协同开发和物理AI产品工程的应用方向。

(二)课程性质

本课程是创新实验班S1阶段的AI协同工程基础课程,面向大学一年级学生。课程不把Git命令、软件工程文档和AI工具割裂开来。学生在物理AI产品的版本演进中学习以下内容:

  1. 从用户问题形成可开发的产品范围;
  2. 把产品需求转化为接口、预算和可验收任务;
  3. 使用VS Code、Cline与校内Qwen服务开展受控AI协同;
  4. 使用Git和校内GitLab记录、评审和合并工程变化;
  5. 接收硬件、数据和模型构建物并完成系统集成;
  6. 通过自动检查、实机测试和小规模试用形成质量证据;
  7. 把项目整理为可复现、可发布和可维护的开源工程。

课程达成目标为:

学生能够在人主导、AI协同、Git管理和证据验证的条件下,完成一个物理AI产品从项目原点到v1.0发布的全过程。

(三)学生基础和教学深度

课程面向一年级学生。学生应在18周内建立稳定的AI协同开发流程和工程规范。课程不求一次覆盖高级软件架构、复杂模型算法和量产硬件设计。

学生需要形成的基础能力包括:

二、与另外两门专业课的协同

三门专业课围绕同一物理AI产品协同开发,但各自承担不同深度。

课程 核心问题 深入内容 向本课程交付
《人工智能数据科学》 数据怎样形成智能能力 数据采集设计、清洗、标注、分析、模型训练、评价和改进 数据集清单、训练代码提交、模型发布包、模型卡、评价和基准输入输出
《感知与异构计算系统原型》 产品怎样感知、计算和通信 芯片、传感器、电路、总线、驱动、通信、功耗、嵌入式实现和端侧支持 物料清单、引脚与配置、硬件原型、适配器、固件、板级测试和资源证据
《Git工作流与开源工程》 人、AI与各技术模块怎样形成可发布产品 产品边界、技术规格、AI任务、Git协作、接口集成、测试、评审、版本和开源发布 产品需求文档、规格、契约、议题、提交、合并请求、持续集成、发布包和开源仓库

本教材在涉及模型和嵌入式技术时讲解到“能够正确集成、验证和评审”的深度:

三、教材项目体系

(一)缩微训练项目:智能声音识别通知器

使用范围:第1—4章。

项目运行真实声音采集、特征处理、模型推理、事件策略和通知链路。教学仓库由课程组维护,正文不绑定特定商业通知服务。

教学安排:

该项目只承担基础训练,不作为贯穿全书的产品名称。

(二)教师贯穿项目:智能感知终端

使用范围:第5—12章。

项目采用中性、正式的技术名称,不预设手表或固定设备形态。根据真实调研和课程硬件条件,产品可以采用佩戴式、便携式或固定式终端。

核心闭环:

物理输入
→ 数据窗口
→ 模型或规则
→ 事件策略
→ 结构化事件
→ 本地或远程反馈
→ 用户行动与记录

版本路线:

版本 工程结果
v0.1.0 真实按键形成设备事件,服务器确认并向用户显示
v0.2.0 接入真实传感器、数据窗口、缓存、上传与数据回放
v0.3.0 接收数据集和模型发布包,完成版本与散列核对
v0.4.0 模型在真实设备运行,基准输出和资源经过验证
v0.5.0 连续模型输出形成受控产品事件并接入反馈链路
v1.0.0-rc.1 测试与GitLab持续集成通过的发布候选
v1.0.0 完成试用、权利、安全、复现和开源审查的正式版本

(三)学生主导项目

使用范围:第13—18章。

每组选择一个真实、低风险、可感知的物理AI问题,六周完成:

项目原点
→ 工程基线
→ v0.1最小闭环
→ v0.5智能能力
→ v1.0发布候选
→ v1.0开源发布与复盘

建议每组2—4人,第一版控制为:

四、总体编写与教学原则

(一)先运行真实系统

第1章直接克隆、构建、烧录和运行完整项目。Git概念在实际仓库状态中解释,避免从命令定义开始罗列。

(二)AI从第3章开始

第1—2章完全手工完成,使学生先建立基线、差异、验证和提交之间的直接关系。

第3章AI只读取和规划;第4章以后才允许在议题、文件范围、权限和验证条件约束下实施。

(三)从最小项目原点迭代

产品核心问题确定后,立即验证最大技术风险并建立最小闭环。文档、测试和开源资料随版本补充,不等待所有规划完成后一次性开发。

(四)开发与验证同步

每个版本都包含:

目标
→ 议题
→ 任务分支
→ AI或人工实施
→ Git差异
→ 构建和测试
→ 合并请求
→ 同伴评审
→ 标签和发布记录

(五)实际证据优先

教材严格区分:

模板中的示例值不表述为项目实测。无法验证的内容标记为待确认,不由AI补写。

(六)真实设备与可重复验证结合

真实设备用于验证物理输入、硬件、资源和系统行为;脱敏数据回放与固定输入用于重复验证上层接口。两类结果分别记录,回放不替代实机。

(七)工具服务于工程方法

主要教学环境:

教材正文减少对短期界面位置和特定版本按钮的依赖,通过环境卡和配套资源更新易变信息。

五、教材章节大纲

第一篇 运行真实项目并建立Git基线

第1章 克隆并运行智能声音识别通知器

核心内容:

  1. 从校内GitLab克隆课程仓库;
  2. 使用稳定标签固定代码版本;
  3. 阅读README.md、目录、模型清单和主链路;
  4. 检查开发环境、硬件连接和本地秘密;
  5. 构建、烧录并使用真实声音运行;
  6. 核对声音、模型、策略和通知证据;
  7. 保存版本、硬件和运行记录。

主要成果:

第2章 手工修改并提交第一个可验证版本

核心内容:

  1. 从稳定标签建立个人分支;
  2. 区分模型阈值与通知冷却;
  3. 手工把冷却时间从课程基线改为课堂验证值;
  4. 检查工作区差异;
  5. 构建、烧录和执行正例、冷却期、冷却结束测试;
  6. 暂存、检查并提交;
  7. 在不同Git状态下恢复变化。

主要成果:

第二篇 建立受控AI与GitLab协作

第3章 配置受Git约束的AI协同开发工作台

核心内容:

  1. 从干净提交建立AI协同基线;
  2. 用VS Code打开完整仓库;
  3. 连接Cline与校内Qwen服务;
  4. 区分规划和实施权限;
  5. 保护凭据、内部地址和个人数据;
  6. 使用规则文件保存稳定约束;
  7. 让AI读取限定文件并解释工程;
  8. 形成一项小修改计划;
  9. 确认AI没有改变工作区。

主要成果:

第4章 用Git和GitLab管理AI协同变更

核心内容:

  1. 把前两章本地成果纳入个人课程仓库;
  2. 把修改计划写成议题;
  3. 从已同步的主分支建立任务分支;
  4. 区分工作区、暂存区和提交;
  5. 允许AI实施受限修改;
  6. 阅读差异并执行构建、实机验证;
  7. 使用交互式暂存形成原子提交;
  8. 创建合并请求并开展同伴评审;
  9. 处理冲突、恢复、回滚和分支保护。

主要成果:

第三篇 定义产品和工程规格

第5章 分析需求并确定产品边界

核心内容:

  1. 建立智能感知终端私有仓库;
  2. 用README.md记录项目当前事实;
  3. 开展访谈、观察、公开资料和替代方案调研;
  4. 让AI整理证据并标记假设;
  5. 比较候选场景和主要风险;
  6. 区分信号、模型结果、产品事件和用户反馈;
  7. 确定最小可行产品和排除项;
  8. 编写产品简述与轻量产品需求文档;
  9. 通过合并请求评审产品定义。

主要成果:

第6章 设计系统方案与工程规格

核心内容:

  1. 从产品需求形成系统规格和追踪关系;
  2. 确定设备、服务器、用户和外部系统边界;
  3. 定义三门课程交付接口;
  4. 建立时延、资源、功耗、可靠性、隐私和成本预算;
  5. 由约束驱动芯片、传感器、通信和电源选型;
  6. 建立物料清单和参数来源记录;
  7. 定义事件模式、服务接口和失败语义;
  8. 定义模型发布包接口;
  9. 使用技术决策记录保存关键选择;
  10. 用AI检查跨文件一致性。

主要成果:

第四篇 按版本实现智能感知终端

第7章 建立最小端云闭环并发布v0.1

核心内容:

  1. 选择真实按键到用户反馈的最短路径;
  2. 按依赖拆分契约、设备、服务器和用户端议题;
  3. 建立可构建项目骨架和统一命令;
  4. 分离配置与秘密;
  5. 实现设备事件、服务器校验、幂等确认和用户显示;
  6. 约束AI一次完成一个议题;
  7. 按依赖顺序合并;
  8. 使用同一事件身份完成四层核对;
  9. 验证成功和失败路径;
  10. 发布v0.1.0。

第8章 接入真实传感器并发布v0.2

核心内容:

  1. 接收硬件课程的传感器适配器与板级证据;
  2. 定义样本、错误和配置接口;
  3. 验证采样率、时间戳、序号和溢出;
  4. 建立有界窗口和上传队列;
  5. 定义传感数据模式和采集会话;
  6. 分离产品事件与授权数据采集;
  7. 处理断网、缓存和重传;
  8. 建立数据回放适配器;
  9. 组织跨课程合并请求与冲突解决;
  10. 发布v0.2.0。

第9章 接收数据与模型构建物并发布v0.3

核心内容:

  1. 区分数据集、训练代码、训练运行和模型发布包;
  2. 接收数据集清单;
  3. 定义模型包目录和模型清单;
  4. 阅读模型卡中的用途、评价和限制;
  5. 使用Git LFS或受控构建物存储管理二进制;
  6. 使用SHA-256核对文件身份;
  7. 检查采集、数据集、模型和固件输入一致性;
  8. 使用基准输入输出建立接收测试;
  9. 让AI实现一致性检查器而非生成指标;
  10. 发布v0.3.0。

第10章 部署端侧模型并发布v0.5

核心内容:

  1. 从模型清单生成固件元数据;
  2. 建立稳定模型运行器接口;
  3. 保持训练与设备预处理一致;
  4. 在真实设备完成基准样例测试;
  5. 测量闪存、RAM、时延和功耗;
  6. 在资源不满足时选择模型、固件、硬件或产品调整;
  7. 发布端侧推理基线v0.4.0;
  8. 使用平滑、连续确认和冷却形成事件策略;
  9. 进行固定序列、数据回放和真实场景测试;
  10. 管理重构、冲突和回退;
  11. 发布v0.5.0。

第五篇 持续验证与开源发布

第11章 建立测试体系与GitLab持续集成

核心内容:

  1. 从需求与风险形成测试矩阵;
  2. 为AI变化先建立验收测试;
  3. 统一本地验证命令并固定工具版本;
  4. 理解流水线、阶段、作业、运行器和构建物;
  5. 编写.gitlab-ci.yml;
  6. 为合并请求、主分支和标签配置触发规则;
  7. 管理持续集成变量和秘密;
  8. 保存报告和固件构建物;
  9. 从第一条实际错误定位失败;
  10. 处理不稳定测试和硬件在环验证;
  11. 设置主分支合并门禁;
  12. 发布v1.0.0-rc.1。

第12章 完成开源审查并发布v1.0

核心内容:

  1. 固定候选版本并开展小规模试用;
  2. 把反馈转成可复现议题;
  3. 对缺陷分级并发布新的候选;
  4. 开展产品、代码、硬件、模型、测试、安全和运维联合评审;
  5. 建立权利与公开清单;
  6. 选择不同工程对象的许可证;
  7. 保留第三方声明和标准许可证标识;
  8. 生成并核对软件物料清单;
  9. 清理秘密、个人数据和内部资料;
  10. 完善README.md、贡献、安全和支持入口;
  11. 从干净环境复现构建和实机闭环;
  12. 在学校批准的平台发布v1.0.0;
  13. 建立修复、模型更新和维护流程。

第六篇 学生主导项目六周冲刺

第13章 学生项目冲刺一:确定项目原点

核心内容:

  1. 设定六周项目范围和低风险边界;
  2. 从真实实例形成候选;
  3. 开展小规模调研;
  4. 建立事件可感知假设并完成最小技术探查;
  5. 使用AI扩展候选并依据证据收敛;
  6. 通过需求、感知、数据和工程四个门槛;
  7. 定义最小智能闭环;
  8. 规划六周版本路线和停止条件;
  9. 建立README.md、项目章程和团队责任;
  10. 提交立项合并请求。

主要成果:项目章程、调研与技术探查、README.md、立项合并请求。

第14章 学生项目冲刺二:建立工程基线

核心内容:

  1. 绘制系统上下文和组件关系;
  2. 定义产品规格、预算和最小契约;
  3. 约定数据、模型和硬件交付;
  4. 由约束建立物料清单和技术决策;
  5. 限时验证最大技术风险;
  6. 初始化实际项目目录和统一命令;
  7. 设置Cline项目规则;
  8. 建立v0.1任务树、里程碑和看板;
  9. 提交工程基线合并请求和v0.0.1内部标签。

主要成果:系统规格、物料清单、技术验证、仓库基线、议题任务树。

第15章 学生项目冲刺三:发布v0.1

核心内容:

  1. 冻结一周范围;
  2. 选择本地、端云或网关最短闭环;
  3. 先合并事件契约;
  4. 实现真实输入适配器;
  5. 建立可替换基线判断;
  6. 实现用户可见反馈;
  7. 让AI按议题推进并持续检查差异;
  8. 使用小合并请求持续合并;
  9. 处理接口冲突和进度阻塞;
  10. 验证实机成功和失败路径;
  11. 发布v0.1.0。

主要成果:真实设备最小闭环、功能合并请求、实机证据、v0.1.0。

第16章 学生项目冲刺四:接入智能能力

核心内容:

  1. 执行数据与模型接入门禁;
  2. 固定数据、标签和输入接口;
  3. 接收带构建物清单、模型卡和散列值的模型包;
  4. 决定端侧、服务器或混合推理;
  5. 实现模型运行器;
  6. 约束AI完成集成;
  7. 完成主机、目标环境和产品事件三层验证;
  8. 建立初始事件策略;
  9. 处理跨课程接口变化;
  10. 发布v0.5.0。

主要成果:数据集与模型包、模型卡、资源报告、智能版本v0.5.0。

第17章 学生项目冲刺五:形成发布候选

核心内容:

  1. 冻结v1.0范围;
  2. 建立系统测试矩阵;
  3. 分层记录模型、策略、系统和用户结果;
  4. 验证输入、网络、服务、重启和持续运行故障;
  5. 开展小规模用户验收;
  6. 把失败转成带版本证据的议题;
  7. 约束AI定位和修复;
  8. 判断重构、回退和冲突;
  9. 建立最小持续集成门禁;
  10. 开展候选评审;
  11. 发布v1.0.0-rc.1。

主要成果:测试矩阵、缺陷与修复合并请求、持续集成、用户验收、发布候选。

第18章 学生项目冲刺六:发布、展示与复盘

核心内容:

  1. 固定最终候选;
  2. 建立内部仓库、公开仓库和发布构建物边界;
  3. 完成许可证与第三方声明;
  4. 执行安全、隐私和软件物料清单检查;
  5. 完善README.md、贡献、支持、部署和回退;
  6. 从干净环境复现;
  7. 编写发布说明并发布v1.0.0;
  8. 设计可重复的真实产品演示;
  9. 使用仓库证据说明工程过程;
  10. 建立后续反馈入口;
  11. 复盘AI协同和个人贡献;
  12. 形成工程作品集和v1.1候选。

主要成果:开源项目v1.0.0、发布包、演示、复盘和个人工程作品集。

六、18周教学安排

周次 章节 教师/学生主导 主要技术内容 阶段成果
1 第1章 教师主导 克隆、标签、构建、烧录、实机运行 基线运行记录
2 第2章 教师主导 手工修改、diff、暂存、提交、恢复 第一次提交
3 第3章 教师主导 VS Code、Cline、Qwen、权限和Plan AI规划记录
4 第4章 教师主导 议题、分支、原子提交、合并请求和评审 第一次AI协作闭环
5 第5章 教师主导 调研、README.md、产品简述、产品需求文档 产品定义
6 第6章 教师主导 架构、契约、预算、物料清单和决策 工程规格
7 第7章 教师主导 真实按键、端云事件、幂等和发布 v0.1.0
8 第8章 教师主导 传感器、窗口、缓存、数据回放 v0.2.0
9 第9章 教师主导 数据集、模型包、散列和基准样例 v0.3.0
10 第10章 教师主导 端侧推理、资源、事件策略和回退 v0.4.0、v0.5.0
11 第11章 教师主导 测试、GitLab持续集成、门禁和候选 v1.0.0-rc.1
12 第12章 教师主导 试用、联合评审、开源和维护 教师项目v1.0.0
13 第13章 学生主导 项目原点、调研、技术探查 立项合并请求
14 第14章 学生主导 架构、选型、规则和任务树 工程基线
15 第15章 学生主导 真实设备最小闭环 学生项目v0.1.0
16 第16章 学生主导 数据、模型和智能能力 学生项目v0.5.0
17 第17章 学生主导 故障、试用、修复和持续集成 学生项目v1.0.0-rc.1
18 第18章 学生主导 开源、展示、复盘和作品集 学生项目v1.0.0

七、课堂组织

(一)教师主导12周

教师负责:

学生每周完成一个可运行或可评审成果,不以填写模板数量作为完成标准。

(二)学生主导6周

教师从讲授者转为评审者和风险控制者:

八、评价建议

(一)过程性评价

评价对象:

(二)阶段版本评价

阶段 评价重点
v0.1 真实设备最小闭环
v0.5 数据、模型、资源和事件策略
v1.0-rc 测试、故障、试用和持续集成
v1.0 权利、安全、复现、发布和维护

(三)个人评价

个人证据包括:

不以提交次数、代码行数或AI对话长度单独评价。

九、配套资源设计

(一)智能声音识别通知器教学仓库

应提供:

(二)智能感知终端项目骨架

应提供:

(三)环境卡

每学期更新:

易变信息保存在配套资源中,教材正文只保留稳定工程方法。

十、出版与公开边界

  1. 正文不出现未经授权的外部项目名称;
  2. 吸收公开工程经验时重新组织教学结构和表达;
  3. 配套代码若使用第三方内容,保留原版权、许可证和声明;
  4. 教学协作以校内GitLab为主;
  5. 最终公开发布使用学校批准的代码托管平台,不在正文绑定单一公共平台;
  6. 不在教材或公开仓库保存校内模型地址、真实令牌和内部服务细节;
  7. 模型、数据、软件、文档和硬件资料分别审查权利与许可证;
  8. 示例参数明确标注为结构示例,实际结果必须来自指定版本和环境;
  9. 不把课程原型表述为经过量产、法规或高风险应用验证的产品。

十一、当前教材文件

正文采用Markdown管理:

正文/
├─ 00_前言.md
├─ 01_教材使用指南.md
├─ 02_第1章_认识智能声音识别通知器.md
├─ 03_第2章_运行修改和验证第一个AI产品.md
├─ 04_第3章_配置VSCode_Cline与校内Qwen服务.md
├─ 05_第4章_用Git和GitLab管理AI协同变更.md
├─ 06_第5章_分析需求并确定产品边界.md
├─ 07_第6章_设计系统方案与工程规格.md
├─ 08_第7章_建立最小端云闭环并发布v0.1.md
├─ 09_第8章_接入真实传感器并发布v0.2.md
├─ 10_第9章_接收数据与模型构建物并发布v0.3.md
├─ 11_第10章_部署端侧模型并发布v0.5.md
├─ 12_第11章_建立测试体系与GitLab_CI.md
├─ 13_第12章_完成开源审查并发布v1.0.md
├─ 14_第13章_学生项目冲刺一_确定项目原点.md
├─ 15_第14章_学生项目冲刺二_建立工程基线.md
├─ 16_第15章_学生项目冲刺三_发布v0.1.md
├─ 17_第16章_学生项目冲刺四_接入智能能力.md
├─ 18_第17章_学生项目冲刺五_形成发布候选.md
├─ 19_第18章_学生项目冲刺六_发布展示与复盘.md
├─ 20_附录A_Git命令与状态速查.md
├─ 21_附录B_工程模板.md
├─ 22_附录C_术语与缩略语.md
└─ 23_参考文献与延伸阅读.md

文件名保持当前在线构建兼容性,正式交稿时可按出版社编辑规范统一重命名。