第14章 综合实践:人机协同开发智能信号卡系统

本章导读

第13章中,我们已经把第3章建立的 VS Code + 本地智能体学习环境用于一个物理世界任务:让智能体检查摄像头、生成摄像头访问程序、构建规则模型,并完成三色卡反馈。这个过程说明,AI 不只是聊天框里的文字工具,它可以在人的监督下参与程序开发,帮助我们把现实设备接入学习任务。

第14章是一次综合收束。它不再单独讲一个新概念,而是把前面学过的能力组装起来,完成一个低风险、可演示、可测试、可复核的物理 AI 最小作品。

本章项目是:智能信号卡系统。

它的基本任务是:摄像头捕捉画面,系统判断画面中是否出现红色、黄色、绿色或蓝色信号卡,并给出相应反馈;同时保存日志,记录输入、判断结果、反馈内容、异常情况和人工复核意见。

红色卡片:STOP / 需要关注,请暂停。
黄色卡片:CHECK / 不确定,请人工确认。
绿色卡片:PASS / 状态正常,可以继续。
蓝色卡片:HELP / 请求协助。
无卡片、暗光、摄像头异常:进入 fallback 路径。

这个项目看似简单,但它具备一个完整物理 AI 系统的雏形:摄像头或样例图片提供现实输入,程序完成质量检查和颜色证据提取,规则模型输出候选状态,决策规则把候选状态转换为可控反馈,日志记录过程,人工复核确认是否可信。

因此,第14章真正训练的不是“再识别一次颜色”,而是把一个低风险物理 AI 原型整理成可演示、可测试、可回归、可追溯、可说明边界的综合作品。

本章的重点不是把程序做得多炫,而是训练一种工程能力:把 AI 智能体当作协作开发伙伴,让它帮助你生成、修改、解释和调试程序;你负责需求拆解、边界设定、测试验收和风险控制。

《礼记·学记》说:独学而无友,则孤陋而寡闻。 一个 AI 小作品不是做完就结束。让别人看得懂、跑得起、能复核、能提出改进意见,作品才真正进入协作。

学习目标

先修要求与环境清单

相关内容见表14-1。

表14-1 设备或材料与必需程度记录表

设备或材料 必需程度 作用
电脑摄像头或 USB 摄像头 推荐 采集信号卡画面
红、黄、绿、蓝信号卡 必需 构造稳定测试输入
样例图片 必需 摄像头不可用时保证实验继续
屏幕反馈 必需 显示识别结果与提示语
LED / 蜂鸣器 选做 拓展为低风险真实输出

建议项目目录:

ch14_signal_card_engineering/
├── app/
│   ├── device_probe.py
│   ├── signal_card_v1.py
│   ├── signal_card_v2.py
│   └── signal_card_v3.py
├── samples/
│   ├── red_card.png
│   ├── yellow_card.png
│   ├── green_card.png
│   ├── blue_card.png
│   └── dark_scene.png
├── logs/
│   ├── run_log.md
│   └── change_log.md
├── tests/
│   └── test_matrix.md
├── evidence/
│   └── evidence_pack.md
└── README.md

所有文件必须放在该目录中,不访问工作区外文件。

知识准备:先认识这些词

  1. 最小可运行原型(minimum runnable prototype)
    • 一句话说明:功能很小,但能完整跑通输入、处理、输出、记录和复核。
    • 本章要求:不要追求万能识别,先让信号卡系统稳定跑通。
  2. 物理 AI 作品
    • 一句话说明:AI 通过摄像头、传感器、屏幕、声音或灯光与现实世界发生关系的作品。
    • 本章边界:只做低风险反馈,不做危险控制。
  3. AI 协同开发
    • 一句话说明:人提出目标、边界和验收标准,智能体协助生成方案、程序、测试和说明。
    • 关键原则:智能体负责加速,人负责判断。
  4. 版本迭代
    • 一句话说明:把作品分成 v1、v2、v3 逐步完成,每一版都有明确目标和测试。
    • 本章版本:v1 设备探测,v2 三色识别,v3 蓝色求助和 fallback。
  5. 需求变更
    • 一句话说明:在原有功能基础上提出新的功能或规则。
    • 本章例子:新增蓝色 HELP;暗光时进入 fallback;日志要记录异常原因。
  6. 回归测试
    • 一句话说明:修改新功能后,重新测试旧功能是否被破坏。
    • 本章要求:加入蓝色以后,红、黄、绿仍要重新测试。
  7. fallback 路径
    • 一句话说明:系统遇到异常时的备用处理方式。
    • 本章例子:摄像头打不开时使用样例图片;暗光时提示调整光线;无卡时输出 UNKNOWN。
  8. 作品证据包
    • 一句话说明:证明作品怎样设计、怎样运行、怎样测试、怎样复核的一组材料。
    • 拓展要求:证据包必须能让别人复现你的作品过程。

14.1 问题与现象:从能跑到像一个作品

14.1.1 为什么第14章不能只是再跑一遍摄像头

第13章已经完成了摄像头识别工程的入门任务。如果第14章只是再识别一次颜色,就没有综合收束的意义。

本章要提高一个层次:从程序能运行走向作品能交付。

作品至少要回答这些问题:

这些问题答清楚,才算一个小作品。

14.1.2 为什么选择信号卡系统

信号卡系统适合作为最终综合实践,因为它同时满足三个条件:

相关内容见表14-2。

表14-2 条件与说明记录表

条件 说明
低风险 只识别颜色卡,不识别人脸和身份
可测试 不同颜色和异常情况容易构造
可迁移 可迁移到实训状态、设备巡检、活动通行、仓储提示等场景

它不是为了替代场景管理,也不是判断人的表现,而是训练你用工程方法做一个最小物理 AI 作品。课程原型的价值在于证据完整、边界清楚,而不是功能看起来炫。

14.1.3 本章要建立的工程意识

本章要训练四种工程意识:

  1. 分阶段:不要一次让智能体写完整项目。
  2. 有边界:告诉智能体什么不能做。
  3. 可测试:每一版都有测试样例。
  4. 可追溯:每次修改、运行、失败都有记录。

【思考 1】 为什么程序能识别绿色卡还不能说明作品已经完成?

思考提示:作品还需要测试其他颜色、异常情况、日志、人工复核和安全边界。单个成功样例不能代表作品可靠。


14.2 原理与分析:作品化的七层结构

相关结构如图14-1所示。

图14-1 AI 小作品七层结构:从需求到展示的完整证据链

14.2.1 七层证据结构

七层结构不是为了把图画得复杂,而是为了让每一层都有证据可查。出错时,才能判断问题来自输入、处理、判断、反馈,还是来自测试和复核不足。

相关内容见表14-3。

表14-3 层次与必须留下的证据记录表

层次 必须留下的证据
感知层 摄像头或样例图片是否可用,输入是否合规
处理层 是否做了亮度检查、颜色区域提取或异常提示
推理层 规则模型或可选轻量视觉模型输出了什么候选状态
决策层 低置信、暗光、无卡片时是否进入 UNKNOWN / FALLBACK
反馈层 屏幕文字、颜色块、可选低风险声音或灯光是否符合预期
日志层 是否记录输入、输出、异常、版本和变更
人工复核层 人是否确认结果可信,是否记录不同意或待复核情况

七层结构的价值在于:每一层都能被验收,每一层出错都能被定位

14.2.2 人、智能体、程序、设备四者分工

相关内容见表14-4。

表14-4 角色与负责什么记录表

角色 负责什么 不负责什么
需求、边界、验收、安全判断 不需要独自手写全部程序
智能体 生成方案、代码、测试表、说明草稿 不承担最终责任
程序 按规则读取输入、判断、输出、记录 不理解真实场景含义
设备 提供摄像头输入和反馈显示 不判断任务是否合规

如果分工不清,就容易出现“仅依据 AI 输出就提交作品”的问题。

14.2.3 分版本开发

本章采用四个版本推进:

相关内容见表14-5。

表14-5 版本与目标记录表

版本 目标 验收标准
v0 建立项目和风险边界 路径清楚,禁止动作清楚
v1 摄像头或样例图片可用 能读取输入,能写日志
v2 红、黄、绿三色识别 三色测试通过
v3 加入蓝色 HELP 和 fallback 新功能通过,旧功能不坏

分版本不是为了麻烦,而是为了让问题变小、可检查。

14.2.4 测试矩阵

最终作品必须包含最小测试矩阵:

相关内容见表14-6。

表14-6 编号与输入记录表

编号 输入 预期输出 测试目的
T1 绿色卡 PASS 正常状态
T2 黄色卡 CHECK 待确认状态
T3 红色卡 STOP 暂停状态
T4 蓝色卡 HELP 求助状态
T5 无卡片 UNKNOWN 无有效输入
T6 暗光 FALLBACK 低质量输入
T7 摄像头不可用 SAMPLE_MODE 兜底流程

测试矩阵是作品可信度的核心证据。完成测试矩阵后,还要把演示流程串成可以复核的闭环,相关结构如图14-2所示。

图14-2 信号卡智能提醒器演示流程:从输入、判断到人工复核

14.2.5 为什么不能把模型输出直接当动作

模型输出可能错。即使规则模型也可能受光线、背景、距离影响;如果加入轻量视觉模型,也仍然可能受到训练数据、画面质量和提示方式影响。

所以本章所有反馈都必须经过决策层。决策层要回答三个问题:

例如,模型输出“可能是红色”并不等于系统一定输出 STOP。若画面暗、颜色区域小或背景干扰明显,就应降级为 CHECK、UNKNOWN 或 FALLBACK。

这就是物理 AI 比普通聊天更需要工程护栏的原因。


AI 协同实践:分阶段开发智能信号卡系统

第 1 步:让智能体生成 v0 方案

在 VS Code 插件中输入:

请帮我完成第14章智能信号卡系统。
注意:第13章已经完成摄像头识别工程基础,本章重点是形成可演示、可测试、可回归、可追溯、可说明边界的综合作品。

总目标:
1. 使用摄像头或样例图片识别红、黄、绿、蓝四种信号卡;
2. 输出 STOP / CHECK / PASS / HELP / UNKNOWN;
3. 暗光或摄像头异常时进入 fallback;
4. 保存运行日志和变更日志;
5. 生成作品证据包;
6. 不拍摄人脸,不上传图片,不控制外部设备;
7. 程序不主动保存摄像头画面,只保存运行日志、变更日志和人工复核记录。

请先不要创建文件。
请先列出项目目录、文件作用、版本计划、测试矩阵、安全风险和验收标准,等待我确认。

确认智能体计划时,检查它是否包含 v0、v1、v2、v3 的阶段划分。

第 2 步:完成 v1 摄像头与样例图片输入

确认后输入:

我确认 v0 方案。
请先实现 v1:摄像头或样例图片输入。
要求:
1. 先探测摄像头;
2. 摄像头可用时读取摄像头画面;
3. 摄像头不可用时读取 samples 中的样例图片;
4. 测试前确认画面不含人脸,程序不主动保存摄像头画面;
5. 运行结果写入 logs/run_log.md;
6. 完成后不要继续做颜色识别,先等待我验收 v1。

v1 验收表:

相关内容见表14-7。

表14-7 项目与是否通过记录表

项目 是否通过 说明
摄像头探测
样例图片兜底
日志写入
未越界访问文件

第 3 步:完成 v2 三色识别

v1 通过后输入:

v1 已验收。
请实现 v2:红、黄、绿三色识别。
要求:
1. 绿色输出 PASS / 状态正常;
2. 黄色输出 CHECK / 请人工确认;
3. 红色输出 STOP / 需要关注;
4. 无明显颜色输出 UNKNOWN;
5. 更新 tests/test_matrix.md;
6. 运行 T1、T2、T3、T5 测试;
7. 把结果写入 run_log.md。

v2 测试表:

相关内容见表14-8。

表14-8 编号与输入记录表

编号 输入 预期 实际 是否通过
T1 绿色卡 PASS
T2 黄色卡 CHECK
T3 红色卡 STOP
T5 无卡片 UNKNOWN

第 4 步:提出 v3 需求变更

现在提出需求变更:

现在提出 v3 需求变更:
1. 新增蓝色卡;
2. 蓝色输出 HELP / 请求协助;
3. 加入暗光检测,暗光时输出 FALLBACK / 请调整光线;
4. 原有红、黄、绿、UNKNOWN 功能不能被破坏;
5. 请先说明要修改哪些文件和测试用例,等待我确认。

确认后再让智能体执行修改。

第 5 步:执行 v3 并做回归测试

我确认 v3 修改计划。
请执行修改,并完成完整回归测试:
T1 绿色 → PASS
T2 黄色 → CHECK
T3 红色 → STOP
T4 蓝色 → HELP
T5 无卡片 → UNKNOWN
T6 暗光 → FALLBACK
T7 摄像头不可用 → SAMPLE_MODE
请生成 logs/change_log.md,并更新 evidence/evidence_pack.md。

如果智能体只测试蓝色,而没有重新测试红、黄、绿,应要求它补做回归测试。

第 6 步:生成作品证据包

请根据项目文件、运行日志和测试结果,生成 evidence/evidence_pack.md。

证据包必须包含:
1. 作品目标;
2. 系统七层结构;
3. 人、智能体、程序、设备四者分工;
4. v1/v2/v3 版本变化;
5. 测试矩阵和测试结果;
6. 失败样例或 fallback 记录;
7. 安全边界;
8. 仍需改进的问题。

第 7 步:准备展示与答辩

让智能体生成展示草稿:

请帮我生成一份 5 分钟作品展示说明。
要求:
1. 不夸大作品能力;
2. 说明本作品只是课程原型;
3. 展示 v1/v2/v3 的迭代过程;
4. 说明我如何验收智能体生成的程序;
5. 说明失败样例和安全边界;
6. 最后提出下一步改进方向。

展示稿必须由你修改,并加入真实测试结果。


验证与证据:怎样证明作品可靠

作品证据包

相关内容见表14-9。

表14-9 材料与必须包含记录表

材料 必须包含
需求说明 目标、用户、使用场景、禁止动作
智能体提示词 v0/v1/v2/v3 的关键提示词
文件结构 项目目录和各文件作用
运行日志 摄像头探测、识别结果、异常记录
变更日志 v3 修改了什么、为什么改
测试矩阵 至少 T1~T7
回归测试表 新功能和旧功能都测试
安全说明 隐私、上传、硬件动作边界
展示说明 5 分钟展示稿

作品验收建议

相关内容见表14-10。

表14-10 维度与权重记录表

维度 权重 说明
功能闭环 25% 输入、判断、反馈、日志是否完整
测试充分 25% 是否覆盖正常、异常、fallback
协同过程 20% 是否记录与智能体的提示词和修改过程
安全边界 20% 是否保护隐私、限制动作、说明边界
展示表达 10% 是否能清楚讲出作品价值和限制

不合格情况

出现以下情况之一,应要求重做或补证据:


伦理、安全与边界

摄像头数据属于敏感数据

摄像头会采集现实环境。即使本章只识别色卡,也必须默认谨慎:

低风险反馈优先

本章只做屏幕文字、颜色块、可选蜂鸣器或低压 LED 提示。

禁止接入:

模型判断不能直接成为现实动作

即使识别结果看起来正确,也必须经过决策规则和人工确认。特别是红色、求助、异常等状态,不能让系统自动做高风险动作。

AI 协同开发必须留痕

作品中必须保留:

没有留痕,就无法证明你真正参与了设计和验收。


总结与思考

本章核心判断

  1. 第14章的目标不是再学一个工具,而是完成一个可演示、可测试、可复核的物理 AI 最小作品。
  2. 智能体可以协助开发,但人必须负责需求、边界、验收和安全。
  3. 分版本开发能降低复杂度,让问题可定位、可修复。
  4. 需求变更必须配合回归测试。
  5. 能说明失败边界的作品,比只展示成功的作品更可信。

基础题

  1. v1、v2、v3 分别解决什么问题?
  2. 什么是 fallback?本章有哪些 fallback 场景?
  3. 为什么作品证据包比单个运行截图更重要?

迁移题

请选择一个专业场景,将智能信号卡系统迁移为一个低风险提示作品:

请说明输入、判断、反馈、日志和人工复核点。

风险题

如果有人建议把本章作品改成自动判断学习者是否需要帮助,你会如何修改这个需求,使它保持低风险、可复核、尊重隐私?

补充题

请判断下列说法是否正确,并说明理由:

  1. 智能体生成的项目能运行,就可以直接展示为成熟产品。
  2. 需求变更后,只测试新增功能即可。
  3. 物理 AI 小作品必须说明不能做什么。

本章交付物

完成本章后,你应提交以下材料:

  1. 项目目录结构说明 1 份;
  2. v0/v1/v2/v3 关键提示词记录 1 份;
  3. 运行日志 run_log.md
  4. 变更日志 change_log.md
  5. 测试矩阵 test_matrix.md
  6. 作品证据包 evidence_pack.md
  7. 5 分钟展示说明 1 份;
  8. 安全边界说明 1 份。