沈毅资深全栈与 AI 解决方案开发者

巴黎 • 新加坡 • 上海

AI 工程实验室 · 19 集课程

跟着 19 集课程,构建一个只读的 SaaS 支持 Copilot。

SaaS Support Copilot 是一套已完成的跟做式课程。你将一步步构建一个 AI 助手,基于文档、代码、Git 历史、数据库和日志回答使用、缺陷与功能可行性问题,并提供引用、按角色控制的访问权限和诚实的拒答。

$ 课程 --状态
▸ 形式 跟做式构建,每集一个经过测试的改动
▸ 集数 19
▸ 语言 EN · FR · ZH
▸ 状态 已完成
● 读取 → 引用 → 拒答

课程大纲

一次一个经过测试的改动,构建只读的支持 Copilot。

SaaS Support Copilot 是可自定进度的跟做式课程。通过 19 集内容和一节方法课,你将为一个虚构的工单类 SaaS 逐步构建 copilot——从第一个带类型的数据模型,到使用真实模型的压轴演示。

形式
19 集跟做式课程,每集一个聚焦且经过测试的改动
语言
英语、法语和中文——每一集都有完整翻译
技术栈
Python、FastAPI、SQLite 或 MySQL,可选 MCP 服务器
示例应用
Loopline,为本课程虚构的工单类 SaaS

课程使命

构建一个只读的 copilot,通过阅读某个 SaaS 应用的帮助文档、源代码、Git 历史、数据库和日志,回答使用、缺陷和功能可行性问题。回答会标注来源、遵守调用者的角色权限,并拒绝证据无法支持的内容。Copilot 从不执行操作;课程讲授的是围绕这条边界的工程实践。

课程如何进行

  1. 阅读本集的学习目标和讲解要点。
  2. 实现改动并在本地运行,无需付费 API key。
  3. 观察失败案例,再运行能证明修复有效的测试。
  4. 先完成练习,再进入下一集。

推荐顺序

每一集都建立在上一集之上,因此按 0 → 18 的顺序学习最容易。《用提示词驱动整个构建》是贯穿整门课程的配套课:学过几集之后再读一次即可。

阶段 1 · 第 0–3 集

基础

明确问题、搭好带类型的 Python 项目基础、完成最小的 LLM 调用,并把模型输出转成结构化数据。

阶段 2 · 第 4–7 集

路由、工具与智能体循环

为每个问题分类,为智能体提供安全的只读工具,驱动有边界的循环,并保存对话状态。

阶段 3 · 第 8–13 集

证据与安全

从零构建 RAG 与调用图,在检索层强制执行权限,规划可行性分析,拒绝命令式请求,并防御提示注入。

阶段 4 · 第 14–18 集

交付与验证

加入 HTTP 边界、评估与可观测性、本地部署、生产就绪度评审,以及压轴演示。

学完你将能够

  • 说清楚何时用工作流就够、何时值得用智能体,并设计两者之间的边界。
  • 用安全的契约构建只读工具,并由有边界的智能体循环来驱动。
  • 结合关键词检索、向量检索和调用图检索,并在模型看到文档之前就执行基于角色的访问控制。
  • 拒绝命令式请求,把检索到的文本视为数据,并用一组黄金问题集测试 copilot。
  • 准确说明原型与生产部署之间还差什么。

课程目录

19 集内容,加上背后的方法

每一集都会在 GitHub 上打开中文版,就在它所构建的代码旁边。

00 · 基础

我们要构建什么

模型、应用与智能体的区别,工作流与智能体的区别,以及 Loopline 示例应用导览。

阅读本集

01 · 基础

Python 项目基础

带类型的数据模型与测试,让后续每一集传递数据时都不必猜测。

阅读本集

02 · 基础

最小可用的 LLM 调用

与服务商无关的消息接口和一个假客户端,在接触真实 API key 之前就先搭好。

阅读本集

03 · 基础

系统提示词与结构化输出

把模型的自由文本输出变成带类型、经过校验的值,输出格式错误时自动重试。

阅读本集

04 · 路由、工具与智能体循环

决策、路由与工作流

先判断问题类型——使用、缺陷、功能或含糊不清——再进行路由。

阅读本集

05 · 路由、工具与智能体循环

工具与安全的工具契约

面向文档、源码、Git 历史、数据库和日志的只读工具,通过带超时的注册表调用。

阅读本集

06 · 路由、工具与智能体循环

智能体循环

由模型驱动的循环——观察、决策、行动——每一步在调用工具与直接回答之间做选择。

阅读本集

07 · 路由、工具与智能体循环

对话状态与记忆

有边界的对话上下文和按会话保存的记忆,不把“这次对话”与“这个用户”混为一谈。

阅读本集

08 · 证据与安全

RAG 基础

分块、BM25、向量嵌入与排名融合——从零构建,让 RAG 不再是黑盒。

阅读本集

09 · 证据与安全

面向代码关系的知识图谱

用调用图回答“改动这个函数会破坏什么?”——这是文本检索做不到的。

阅读本集

10 · 证据与安全

具备权限感知的检索

让调用者的角色成为检索的一等输入,在模型看到任何文档之前就强制执行。

阅读本集

11 · 证据与安全

规划与多步骤工作:功能可行性评估

为可行性问题设计先规划的工作流:在调用任何工具之前,先想清楚需要什么证据。

阅读本集

12 · 证据与安全

人工审批与拒绝

识别命令式请求并诚实地拒绝,全程不调用模型。

阅读本集

13 · 证据与安全

提示注入与数据泄露防御

把检索到的文本当作数据而非指令,并亲眼看到被注入的命令遭到双重拦截。

阅读本集

14 · 交付与验证

FastAPI 应用边界

带请求校验、共享资源、请求 ID 的 HTTP 边界,出错时返回清晰的错误而不是堆栈跟踪。

阅读本集

15 · 交付与验证

评估与可观测性

在真实模型上运行的黄金问题集,加上延迟、token 用量和结构化日志,用来发现回归。

阅读本集

16 · 交付与验证

本地部署与可复现性

带 MySQL 的 Docker Compose、不进入版本控制的密钥,以及用于访问数据库的独立 MCP 服务器。

阅读本集

17 · 交付与验证

原型架构与生产架构

划清原型已有内容与生产所需内容的界线;补上一个真实的缺口,并把其余部分记录下来。

阅读本集

18 · 交付与验证

压轴演示

一个运行中的系统加一个真实模型:同一个问题,因为一个请求头里的角色不同,得到回答或被拒绝。

阅读本集

加餐 · 方法

用提示词驱动整个构建:这 19 集课程究竟是怎么写成的

AI 编程智能体如何写出每一行代码:每次提示只做一个聚焦且经过测试的改动,先验证再记录。

阅读本集

当前状态

一套已完成的 19 集课程,也是一个学习用原型。

已完成:19 集 · 代码采用 MIT 许可证。所有内容都在本地基于虚构的示例数据运行。Loopline 是为本课程虚构的,不代表任何真实公司的产品、代码或数据。这是学习用原型,而非生产环境的安全保证:第 17 集准确列出了真实部署还缺什么。