跳转至

扩展篇:AI 特色功能开发(选学)

先完成基础项目,再选择一个小而完整的 AI 功能

AI 功能是项目加分项,不是核心业务的替代品

完成第五篇后,你的项目已经具备核心业务闭环、测试记录、部署版本和基础交付材料。如果时间、能力和项目场景允许,可以继续为项目增加一个真正有业务价值的 AI 特色功能。

本扩展篇不要求堆叠技术,也不要求每个项目都增加聊天窗口。你只需选择一个真实问题,完成“模型接入 → 业务融合 → 安全与降级 → 测试交付”的最小闭环。模型服务不可用时,项目原有业务仍应正常运行。

本篇学习目标

理解大模型 API、流式输出、RAG、智能生成、分类、推荐、Tool Calling、MCP 和智能体的基本用途;根据项目需要选择一种能力,将其接入真实业务;通过密钥保护、最少数据、人工确认、成本限制、失败降级和固定测试,使 AI 功能能够稳定演示和安全关闭。

开始学习:AI-01 大模型 API 调用 返回第五篇:测试、部署与成果交付


一、先区分两种“使用 AI”

本课程一直鼓励使用 AI 辅助学习和开发,但“使用 AI 开发项目”与“在产品中实现 AI 功能”不是一回事。

方式 使用者 作用 示例
AI 辅助开发 学生和开发者 帮助分析、设计、编码、测试和检查 让编码助手分析错误、生成测试初稿
产品 AI 功能 项目最终用户 在真实业务中获得生成、问答、分类或推荐 用户生成商品描述、查询办事指南

即使项目没有产品 AI 功能,你仍然可以在整个开发过程中合理使用 AI 协作。产品 AI 功能属于选学扩展,不是所有项目的必做要求。

不能用一个通用聊天框代替业务设计

如果 AI 页面与项目用户、数据和业务流程没有关系,它只能证明模型接口可以调用,不能证明项目增加了实际价值。


二、你是否适合进入扩展篇

1. 必须满足的进入条件

  • 项目能够稳定启动;
  • 用户可以登录并完成核心业务流程;
  • 后端权限和数据归属已经检查;
  • 核心功能测试已经执行;
  • 严重缺陷已经修复并回归;
  • 项目已经完成本地或目标环境部署;
  • README 和配置说明基本完整;
  • 剩余时间足够实现并测试一个扩展功能。

如果核心流程仍然不通,应先返回第四篇和第五篇完成基础项目。

2. 不建议进入的情况

  • 项目只能在开发者电脑上偶尔运行;
  • 登录、权限或核心状态仍有严重错误;
  • 测试和部署尚未完成;
  • 团队希望同时实现多个复杂 AI 功能;
  • 没有真实业务场景,只是想加入“AI”名词;
  • 计划将真实用户隐私直接上传到外部模型;
  • 免费额度或模型服务不稳定,但没有降级方案;
  • 无法安排固定测试和演示时间。

3. 最重要的停止规则

在扩展开发中出现以下情况时,应暂停 AI 功能:

1
2
3
4
5
6
AI 改动破坏核心业务
AI 依赖导致项目无法部署
密钥或隐私存在泄露风险
扩展范围持续增大
没有时间完成失败测试
模型不可用时用户无法继续

先保住一个完整、可靠的基础项目,再考虑特色功能。


三、本篇完成后你应具备什么能力

完成所选路线后,你应能够:

  1. 从业务问题判断是否真的需要大模型;
  2. 在后端安全配置模型地址、API Key 和模型名称;
  3. 将第三方模型调用封装为可替换的客户端;
  4. 处理输入、输出、超时、限流和外部服务异常;
  5. 根据需要实现流式输出或 RAG 检索;
  6. 将生成、分类或推荐放入真实业务步骤;
  7. 区分 Tool Calling、MCP 与智能体;
  8. 保持权限、业务状态和最终决定由项目后端控制;
  9. 估算调用成本,限制输入、输出、频率和步骤;
  10. 使用固定案例验证效果、安全和失败降级;
  11. 通过功能开关关闭 AI,并重新完成基础业务;
  12. 用真实证据演示 AI 功能的价值和限制。

四、学习路线与章节目录

1
2
3
4
AI-01 接入模型 API
→ 选择一个能力方向
→ 接入真实业务
→ AI-06 完成测试交付
小节 核心问题 主要成果
AI-01 接入模型 怎样安全完成第一次大模型 API 调用? 模型客户端、配置、异常和降级
AI-02 流式问答 怎样让内容边生成、页面边显示? SSE 流式接口、停止和断线处理
AI-03 RAG 知识库 怎样让回答依据自己的可信资料? 文档分块、向量检索、引用和拒答
AI-04 融入业务 怎样实现生成、分类或推荐? 一个真实业务 AI 功能和效果评测
AI-05 Tool Calling、MCP 与智能体 怎样让模型在受控范围内使用工具? 只读工具、权限、审计和概念理解
AI-06 测试交付 怎样证明 AI 功能可以安全交付? 测试、安全、成本、降级和演示材料

不要求顺序完成所有章节

AI-01 是共同基础,AI-06 是统一收尾。中间章节根据项目场景选择,不需要为了“技术全面”全部实现。


五、根据项目选择学习路线

路线 A:入门生成

1
2
3
AI-01 大模型 API
→ AI-04 智能文本生成
→ AI-06 测试交付

适合:

  • 商品描述;
  • 报修描述;
  • 活动通知;
  • 工作摘要;
  • 内容草稿。

最低成果:

  • 一个可编辑草稿;
  • 用户确认后再保存;
  • 模型失败时手工填写;
  • 正常、虚构和超时测试。

路线 B:流式交互

1
2
3
AI-01 大模型 API
→ AI-02 流式问答
→ AI-06 测试交付

适合:

  • 较长问答;
  • 报告草稿;
  • 长文本摘要;
  • 需要降低等待感的生成任务。

最低成果:

  • 页面逐段显示;
  • 能够停止生成;
  • 中断不会显示为成功;
  • 代理部署后仍能流式返回。

路线 C:知识问答

1
2
3
4
AI-01 大模型 API
→ AI-03 RAG 知识库
→ 可选 AI-02 流式展示
→ AI-06 测试交付

适合:

  • 校园办事指南;
  • 课程资料;
  • 项目使用手册;
  • 设备操作说明;
  • 组织内部公开知识。

最低成果:

  • 可信知识来源;
  • 文档分块和向量检索;
  • 回答返回真实引用;
  • 没有依据时明确拒答;
  • 资料更新和权限说明。

路线 D:业务智能

1
2
3
AI-01 大模型 API
→ AI-04 分类或推荐
→ AI-06 测试交付

适合:

  • 报修分类;
  • 内容标签;
  • 活动推荐;
  • 商品推荐;
  • 候选项排序和解释。

最低成果:

  • 分类只能使用已有类别;
  • 推荐只能选择真实候选 ID;
  • 后端业务规则优先;
  • 有人工修改或规则降级;
  • 使用固定数据与基线比较。

路线 E:挑战拓展

1
2
3
AI-01 大模型 API
→ AI-05 Tool Calling、MCP 与智能体
→ AI-06 测试交付

适合:

  • 查询本人业务状态;
  • 连接多个标准化工具或资源;
  • 完成范围明确的多步辅助任务。

最低成果:

  • 一个只读工具;
  • 当前身份来自后端登录状态;
  • 未知和越权工具调用被拒绝;
  • 有步骤、时间和调用上限;
  • 能解释 Tool Calling、MCP 和智能体的区别。

推荐大多数学生选择路线 A、B、C 或 D

路线 E 的重点是理解受控工具和协议,不以工具数量或自主步骤多少评价。复杂智能体不是课程项目质量的必要条件。


六、怎样选择一个有价值的功能

先回答五个问题:

1
2
3
4
5
1. 谁在使用?
2. 当前业务哪一步困难、重复或信息过多?
3. 普通规则为什么不够?
4. 模型输出错误时会造成什么影响?
5. 模型不可用时用户怎样继续?

1. 好功能的共同特征

  • 与项目主题和核心流程有关;
  • 输入、输出和使用位置明确;
  • 第一版范围小;
  • 结果可以人工核对;
  • 失败不会破坏业务数据;
  • 有固定案例能够验证;
  • 成本和响应时间可控;
  • 能在 3—5 分钟内稳定演示。

2. 不合适的功能

  • 与项目无关的通用聊天;
  • 让模型自动决定权限、金额或审批;
  • 没有真实候选数据的“推荐”;
  • 没有可信资料来源的“知识问答”;
  • 把 SQL、Shell 或完整文件系统交给模型;
  • 一次计划完成 RAG、智能体、语音和图像全部功能;
  • 只能在线运行,没有任何备用或降级方式。

3. 项目与功能示例

项目类型 推荐方向 业务价值 基础降级
图书管理 借阅规则 RAG 快速查找规则和来源 查看规则原文
宿舍报修 描述生成或分类 提高描述完整度、减少错分 手工填写和选择
校园集市 商品描述生成 降低发布填写难度 手工编辑
活动报名 候选活动推荐 帮助筛选真实可报名活动 热门或时间排序
教室预约 查询本人预约 Tool 通过自然语言查询状态 原预约记录页面
课程平台 课程资料 RAG 基于指定资料回答 课程资料目录

七、本篇必须遵守的七条原则

1. 业务优先

先定义用户问题,再选择模型能力。技术名称不能代替需求。

2. 后端调用

浏览器只调用项目后端。API Key、模型配置和第三方错误处理都在后端。

3. 最少数据

只发送完成任务需要的信息,不发送密码、Token、无关隐私和完整数据库。

4. 规则兜底

权限、金额、库存、状态和数据归属由后端确定性代码负责。

5. 人工确认

模型输出优先作为草稿、建议或候选结果。高风险操作必须明确确认。

6. 失败可降级

超时、限流、额度耗尽和模型离线时,保留手工或规则方式。

7. 证据验收

不能只展示一次成功截图。需要固定测试、失败案例、成本记录和关闭 AI 后的基础业务验证。


八、AI 功能的最小工程结构

现有业务页面
→ 项目 AI 辅助接口
→ AI Feature Service
→ LlmClient / EmbeddingClient / ToolRegistry
→ 外部模型或知识存储

用户确认
→ 原有业务接口
→ 原有 Business Service
→ 数据库

推荐职责

负责
页面 输入、加载、结果展示、编辑、确认和降级入口
Controller 登录、请求接收和项目响应
AI Feature Service 业务场景、提示词、结果校验和人工确认边界
模型客户端 配置、HTTP、超时、平台字段和错误转换
原业务 Service 权限、状态、金额、库存和正式数据修改
测试 模拟模型、固定评测、真实小规模验证和降级演练

不要为了 AI 功能创建第二套登录、用户表、响应格式或业务规则。


九、三种难度层级

层级 学习目标 推荐成果
入门 会安全调用模型并处理失败 一个文本草稿功能
进阶 能连接业务数据或知识 流式、RAG、分类或推荐
挑战 能设计受控工具和多步流程 只读 Tool、MCP 体验或最小智能体

评价重点不是技术名称,而是:

1
2
3
4
5
6
真实价值
+ 正确边界
+ 测试证据
+ 安全与成本
+ 失败降级
+ 稳定演示

一个完成度高的文本生成功能,比一个无法控制、无法测试的复杂智能体更有价值。


十、最低交付标准

所有路线都应提交:

1. 设计

  • AI 功能任务卡;
  • 业务问题和使用位置;
  • 输入、输出和数据来源;
  • 模型、业务规则和人工确认边界;
  • 明确不做的范围。

2. 实现

  • 后端模型客户端;
  • 环境变量配置;
  • 一个真实业务入口;
  • 输入与输出校验;
  • 超时和错误处理;
  • 基础功能降级。

3. 验证

  • 固定正常案例;
  • 边界和错误案例;
  • 恶意输入或越权案例;
  • 模型服务不可用案例;
  • 关闭 AI 后的完整基础流程;
  • 少量真实服务验证;
  • 自动化测试使用模拟客户端。

4. 交付

  • .env.example
  • README 配置和关闭说明;
  • 测试与效果记录;
  • 安全和隐私说明;
  • 成本预算;
  • 降级矩阵;
  • 已知限制;
  • 3—5 分钟演示或录屏。

十一、扩展篇成果包

建议整理:

1
2
3
4
5
6
7
8
docs/ai-feature/
├── 01-feature-design.md
├── 02-data-and-privacy.md
├── 03-test-report.md
├── 04-cost-budget.md
├── 05-fallback-matrix.md
├── 06-demo-script.md
└── 07-known-limitations.md

代码仓库还应包含:

1
2
3
4
5
6
7
.env.example
README.md
AI 功能代码
模拟测试
数据库迁移(如有)
部署配置
演示截图或视频说明

扩展成果可以在第六篇中继续使用:

扩展成果 第六篇用途
功能任务卡 说明为什么选择这个 AI 功能
架构图 答辩 PPT 技术设计
测试报告 证明功能经过验证
安全与成本说明 回答工程风险问题
降级演示 证明基础业务独立
个人贡献记录 简历和作品集
已知限制 项目复盘

十二、评价建议

AI 功能是选学内容时,应与基础项目评分分开。没有选择复杂 AI 技术,不应影响核心业务项目的基础成绩。

评价维度 关注点
业务价值 是否解决真实问题
范围控制 是否只完成一个小闭环
工程实现 模块边界、配置、异常和测试
模型效果 是否使用固定案例验证
安全隐私 密钥、数据、权限和输出
成本稳定 调用限制、超时和预算
降级能力 AI 关闭后基础业务正常
演示表达 能否讲清价值、限制和证据

详细评分量规参见 AI-06 测试交付


十三、AI 在扩展篇中的正确角色

AI 编码助手可以帮助:

  • 阅读现有项目结构;
  • 解释模型平台官方文档;
  • 设计最小接口和 DTO;
  • 生成客户端和测试初稿;
  • 分析异常响应;
  • 检查提示词和结构化输出;
  • 整理安全、成本和降级清单;
  • 生成演示脚本初稿。

AI 不能替代你完成:

  • 选择真实业务问题;
  • 确认资料和数据是否合法;
  • 核对平台接口、价格和模型名称;
  • 创建和保护真实 API Key;
  • 执行真实测试;
  • 判断模型输出是否正确;
  • 完成权限和越权验证;
  • 确认关闭 AI 后基础业务正常;
  • 记录真实成本、耗时和失败结果。

不要把 AI 生成的测试结果当作真实证据

AI 可以生成测试表和预期结果,但不能证明测试已经执行。正确率、耗时、费用、通过数量和失败案例必须来自真实记录。


十四、开始前准备

1. 项目材料

  • 需求说明书;
  • 系统设计说明书;
  • 权限矩阵;
  • 测试报告;
  • 部署说明;
  • 当前 v1.0 版本;
  • 与候选 AI 场景相关的真实业务数据结构。

2. 模型与平台

  • 选择可用的模型服务;
  • 阅读官方 API 文档;
  • 确认模型、接口和计费方式;
  • 创建仅用于当前环境的密钥;
  • 明确额度和预算;
  • 准备模型不可用时的模拟客户端。

3. 安全

  • .gitignore 已覆盖真实配置;
  • .env.example 不包含密钥;
  • 测试数据已经脱敏;
  • 不会向模型发送密码、Token 和无关隐私;
  • 知道怎样撤销泄露密钥;
  • 明确哪些输出需要人工确认。

4. 选择路线

1
2
3
4
5
6
我选择的路线:【A / B / C / D / E】
业务功能:【填写】
预计使用章节:【填写】
基础降级:【填写】
明确不做:【填写】
完成标准:【填写】

本篇小结

扩展篇不是要求项目“AI 化”,而是训练你把一种不确定的外部能力放进真实软件工程:

先完成基础项目 → 选择真实问题 → 接入最小模型能力 → 保持后端规则 → 人工确认 → 安全与成本限制 → 固定测试 → 失败降级 → 稳定演示

请从 AI-01 开始理解模型调用,再根据项目选择一条路线。无论选择哪种功能,都应回到 AI-06 完成统一测试和交付。

开始学习:AI-01 接入模型 API 查看最终要求:AI-06 测试交付 返回第五篇:测试、部署与成果交付