第3章实践:建立一套可交接的AI学习工作台

完成标准不是“我这里能聊天”,而是另一位同学能根据你的记录复现一次安全问答。

1. 项目结果

本项目用一个很小的问题验证完整链路:

课程工作区 → Notebook自检 → 选择模型路径 → 最小问答
             → 人工复核 → 故障排查 → 保存基线与状态页

完成后应得到五类证据:

  1. 运行过的 notebooks/ch03_environment_check.ipynb;
  2. 一条连通结果和一条模型回答;
  3. records/ch03_ai_output.md 中的提示词、回答与核验;
  4. records/ch03_baseline_template.md 环境基线;
  5. 一次故障排查记录和 qwen_code_rules_student.md 中自己补充的Qwen Code规则。

2. 为什么这也是人工智能实践

这一章暂时不训练模型,而是识别AI应用的基本结构。模型服务提供生成能力,编辑器组织工程,Notebook保存实验,Qwen Code帮助分析和修改,人负责授权、验证和交付。后续的数据模型、RAG、工具调用、智能体和物理AI项目都会复用这条链路。

三个判断贯穿全书:

3. 准备材料

先在本目录运行:

python verify.py

看到所有检查为 true,说明样板文件和离线主路径正常。

4. 三条模型路径

路径 何时使用 学生需要填写 密钥规则
mock离线模拟 所有人第一次运行;断网或服务故障 无 不读取密钥
local本地Qwen 本机或局域网已有OpenAI兼容服务 课程提供的地址、模型名 若服务需要授权,只用环境变量
cloud课程云端接口 学校已授权且课堂允许联网 课程地址、模型名、环境变量名 禁止写入Notebook、截图或提交包

mock不是“假装学会调用模型”,它把工作区、请求、结果、复核、故障与证据这条流程先稳定下来。连通真实模型后,只切换配置,不改学习任务。

5. 课堂过程(2课时)

第1轮:先跑通最小闭环

  1. 在VS Code打开 teaching_resources 文件夹。
  2. 打开 notebooks/ch03_environment_check.ipynb,按顺序运行到离线回答。
  3. 检查回答是否涉及CPU/GPU分工、内存或显存限制、模型大小取舍。
  4. 在复核单元格写出“可信内容、需核验内容、核验办法”。
  5. 保存模型输出记录和环境基线。

第2轮:让失败变得可解释

  1. 将Notebook中的 FAULT 改为 "service_offline";
  2. 运行故障单元格,观察错误类型,而不是重装软件;
  3. 按“保留现场→核对配置→降级到mock→求助”的顺序记录处理;
  4. 再改为 "wrong_model",比较两类故障的不同;
  5. 把 FAULT 恢复为 "none"。

第3轮:与Qwen Code协同,但保留决定权

把下面的任务说明发给Qwen Code:

请只阅读本章README和Notebook,不修改文件。先告诉我:
1. 你准备读取哪些文件;
2. 你准备运行什么;
3. 可能产生什么结果;
4. 哪些动作需要我确认。
得到我确认后,才能建议最小改动。不得读取本章以外目录,
不得查找或输出密钥,不得删除、覆盖、联网发送或批量修改文件。

学生应先阅读计划,再决定是否允许。不要启用自动批准全部命令。

完整固定边界和本次批准范围写在 qwen_code_rules_student.md。课堂应复制学生副本后填写,保留AI提出的计划与人的批准记录。

6. 学生必改点

Notebook中有两个明确的修改点,必须由学生本人完成:

  1. STUDENT_RULE:补充一条适合自己课堂环境的Qwen Code规则;
  2. STUDENT_PREDICTION:在模拟故障前预测会看到什么,以及第一步如何处理。

建议规则示例仅供理解,不能原样提交:

任何修改必须限定在当前章节目录,并先列出文件名、改动理由和验证方法。

若课堂提供真实模型,再完成第三个修改点:在教师指导下把 MODE 改为 local 或 cloud,只填写课程给定的服务信息。

7. 故障树

现象 先保存什么 第一步 不要做什么
服务未启动/超时 错误类型、时间、模式 核对服务状态和地址/端口 不要立即重装全部软件
模型名错误 模型名和返回信息 对照课程模型卡 不要盲猜或下载大模型
授权失败 HTTP状态、环境变量名 联系教师核对授权 不要打印或粘贴密钥
Notebook只显示JSON 截图或现象描述 检查Jupyter扩展和打开方式 不要改Notebook原始JSON
回答看似正确 原提示词和回答 按核验表查证关键点 不要直接作为事实提交

任何真实共享服务的启动、停止和配置修改都交给授课负责人。本章故障使用安全模拟,不影响同学。

8. 验收口试

学生应能现场回答:

  1. 为什么网页能回答一次还不等于环境可复现?
  2. mock、local、cloud三条路径的差异是什么?
  3. 模型回答中哪一条经过了核验,证据是什么?
  4. “服务未启动”和“模型名错误”怎样区分?
  5. 你的Qwen Code规则阻止了什么风险?

验收只看最终答案不够。还要查看提示词、运行状态、人工判断、故障记录和学生亲自完成的修改。

9. 进一步阅读

联网资料会变化,课程帮助页应记录访问日期和适用版本。建议优先查看:

若课堂网络无法访问上述网站,使用本资源中的说明和教师下发的模型卡即可完成主线,不因外部网站不可用阻断学习。