AI CXYKK AI 教程
AI 程序员 AI 入门课
面向程序员 · 技术风格 · 从零开始

AI、机器学习、深度学习、生成式 AI,一次讲清

这份课件按程序员熟悉的方式展开:输入是什么,模型做了什么,训练怎么发生,推理怎么上线,为什么会出错。读完以后,能在面试里把四个词讲得清楚,也能听懂后续的 Agent、RAG、Prompt、MCP 课程。

先建立边界 AI 是目标,机器学习是常见实现路线,深度学习是一类模型,生成式 AI 是产出内容的系统。
再看工程流程 数据、训练、验证、部署、监控,每一步都能对应到程序员日常做系统的经验。
穿插面试表达 每个概念都给出短答案和展开答案,方便临场组织语言。
避免只背名词 重点不在术语堆砌,而是能判断什么时候该用规则、机器学习或大模型。
AI 让机器完成需要判断、理解、规划或生成的任务。
Machine Learning 不把规则写死,而是让模型从样本里学规律。
Deep Learning 用多层神经网络学习特征和表示,适合文本、图像、语音等复杂数据。
Generative AI 生成文字、图片、代码、音频等内容。现代主流方案通常建立在深度学习之上。
01 · 先把地图摆正

四个词不是同一层级

很多初学者一上来就被名词绕住。先记住一个简单关系:AI 是大目标,机器学习是用数据实现 AI 的办法,深度学习是机器学习里很强的一类模型,生成式 AI 是以“生成内容”为目标的应用和模型家族。

AI

人工智能

让系统看起来具备某种智能能力。比如识别图片、理解文本、规划路线、推荐商品、自动写代码。

ML

机器学习

让程序从数据里学出一个函数。以后遇到新输入,就用这个函数做预测、分类或排序。

DL

深度学习

用很多层神经网络处理复杂模式。它把“手写特征”的压力转移给模型自己学习。

GenAI

生成式 AI

模型不只是判断,还能生成新内容。文本、图片、代码、音频都可以是输出。

面试里可以这样开场 AI 是一个目标集合,机器学习是其中最常见的技术路径。深度学习属于机器学习,擅长处理高维复杂数据。生成式 AI 更像一个输出形态,它的特点是生成内容,当前主流实现通常依赖大规模深度学习模型。
02 · 程序员类比

传统程序写规则,机器学习学规则

写业务系统时,我们习惯把规则写进代码。机器学习换了一个方向:先准备样本,让模型自己拟合出规律。这个差别很重要,后面所有概念都围绕它展开。

传统规则系统

适合规则稳定、边界清晰的任务。比如审批金额超过阈值就走二级审批。

function riskLevel(order) {
  if (order.amount > 10000 && order.country !== order.userCountry) {
    return "high";
  }
  return "normal";
}
  • 规则来自产品、运营、法务或工程师经验。
  • 可解释性强,调试方便。
  • 当规则太多、相互冲突或变化很快时,维护成本会上升。

机器学习系统

适合规律复杂、难以手写规则的任务。比如判断一条评论是不是垃圾内容。

const samples = loadLabeledComments();
const model = train(samples);

function riskLevel(comment) {
  return model.predict(comment);
}
  • 规则来自历史数据里的模式。
  • 上线前要做验证,不能只看训练集效果。
  • 数据分布变化后,模型可能变差,需要监控和再训练。
03 · 机器学习到底在学什么

模型就是一个从输入到输出的函数

先把机器学习看成函数拟合,不要急着想算法名。输入可以是用户画像、商品信息、文本、图片或日志。输出可以是分类、分数、排序、预测值。

输入 x
样本特征
模型 f
参数与结构
输出 y
类别或分数

特征

模型能读取的输入字段。比如用户年龄、登录次数、商品价格、文本 token、图片像素。

标签

训练时给模型看的标准答案。比如“是否欺诈”“是否点击”“房价是多少”。

参数

模型内部可调整的数值。训练过程本质上是在调这些数,让输出更接近标签。

损失函数

用一个数衡量模型错得有多离谱。损失越低,不代表线上一定越好,但说明训练目标上更接近答案。

泛化

模型遇到没见过的数据时还能表现不错,这叫泛化。面试里经常会问过拟合,就是泛化失败的一种表现。

评估指标

准确率、召回率、AUC、F1、MAE、BLEU 等都属于指标。不同任务不能只盯一个数字。

04 · 训练和推理

训练是做模型,推理是用模型

这两个词要分清。训练发生在模型上线前或再训练时,消耗数据和算力。推理发生在线上请求里,目标是快速、稳定地给出结果。

训练阶段
收集数据 历史订单、评论、点击、图片、日志。
清洗标注 去噪、补字段、做人审或规则标注。
训练模型 让参数朝着更低损失的方向更新。
验证效果 用没参与训练的数据判断是否能泛化。
发布版本 固化模型、配置阈值、准备回滚方案。
推理阶段
接收请求 用户输入、业务上下文、系统状态。
特征处理 把原始输入转换成模型需要的格式。
模型计算 输出分类、概率、文本或排序分。
业务决策 结合阈值、规则、权限和兜底策略。
记录反馈 日志用于监控、评估和下一轮训练。

训练更像构建索引

它不是每次请求都重新学习,而是提前把大量样本压缩进模型参数里。线上用的是训练后的模型版本。

推理更像调用服务

输入来了,模型算一次,返回结果。工程上会关注延迟、吞吐、成本、缓存、降级和可观测性。

05 · 学习方式

不是所有学习都需要同一种答案

机器学习按训练信号可以分成几类。面试时不需要背很深的数学,但要能说出各自用在什么场景。

类型 模型看到什么 常见任务 程序员例子
监督学习 输入和标准答案 分类、回归、排序 用历史订单训练欺诈识别模型,标签是“欺诈或正常”。
无监督学习 只有输入,没有人工答案 聚类、降维、异常发现 把用户行为自动分群,找出访问模式特别异常的账号。
自监督学习 从数据本身构造训练任务 语言模型、表示学习 遮住一句话里的部分 token,让模型根据上下文预测被遮住的内容。
强化学习 动作、环境反馈和奖励 策略优化、机器人、游戏 让系统在一系列操作中学习怎样拿到更高长期收益。
06 · 深度学习

深度学习把特征学习交给多层网络

传统机器学习常常依赖人工设计特征。深度学习的变化在于:模型可以从底层输入中逐层学出表示。图像从边缘到形状,文本从词到句子关系,语音从波形到语义,都可以通过多层结构提取。

每一层把上一层的表示再加工。层数多,所以叫“深度”。
权重 连接上的可训练参数。训练就是不断调整这些权重。
激活函数 给网络加入非线性能力。没有非线性,多层叠起来也只是线性变换。
反向传播 根据损失把错误一层层传回去,告诉每个参数该往哪个方向调整。

为什么需要 GPU

神经网络里有大量矩阵运算。GPU 擅长并行计算,所以训练深度模型时通常比 CPU 合适。

为什么数据量很重要

参数越多,越需要足够多且质量稳定的数据,否则模型容易记住训练样本,而不是学到可迁移的规律。

为什么不总是用深度学习

小数据、强规则、解释性要求高的场景,传统模型或规则系统可能更便宜、更可控。

07 · 生成式 AI

判断型模型给答案,生成型模型造内容

生成式 AI 的输出不只是一个标签或分数,而是一段新内容。它可以写文案、生成图片、补代码、总结会议纪要,也可以在企业系统里辅助写需求、查知识库、生成测试用例。

Discriminative

判断型模型

回答“这个输入属于哪一类”“这个用户会不会点击”“这笔交易风险多高”。输出通常是类别、概率或分数。

input: 这条评论含广告吗?
output: spam = 0.92
Generative

生成型模型

回答“接下来该生成什么”。输出可以是句子、代码、图片、音频,也可以是结构化 JSON。

input: 给商品录入系统写一段异常校验说明
output: 当 SKU 已存在时,应提示重复并阻止保存...
1 用户输入 问题、指令、上下文、文件片段。
2 编码表示 把内容变成模型能处理的向量。
3 上下文计算 根据历史 token 和注意力关系计算分布。
4 采样生成 选择下一个 token,并反复追加。
5 后处理 格式化、过滤、引用来源或调用工具。
6 业务使用 展示给用户,或进入审批、保存、回写流程。
08 · 大语言模型

LLM 的基本动作是预测下一个 token

“预测下一个 token”听起来简单,但当模型足够大、训练语料足够多、结构足够强时,它会学到语言、事实、代码模式、推理格式和交互习惯。它不是普通数据库,也不会天然知道你公司最新的业务规则。

1. 文本切成 token

模型不直接吃整句话,而是先切成 token。token 可以是字、词、子词或符号。

生成 商品 录入 PRD

2. token 变成向量

Embedding 把 token 映射成数字向量。语义接近的内容在向量空间里通常距离更近。

"商品" → [0.12, -0.38, 0.74, ...]
"订单" → [0.09, -0.34, 0.70, ...]

3. 逐步生成

模型根据上下文给出候选 token 的概率,再按策略选择下一个输出。

0.76
0.15
0.09

Transformer

现代 LLM 常用的结构。它通过注意力机制计算 token 之间的关系,让模型能在上下文中抓重点。

上下文窗口

模型一次能看到的内容长度有限。窗口外的内容不会自动进入推理过程,除非系统重新提供。

幻觉

模型可能生成看似合理但不真实的内容。做企业系统时,要用检索、工具、校验和人工审核降低风险。

09 · 程序员怎么落地

把 AI 当成不确定的能力服务来设计

工程上不要把 AI 输出当作永远正确的返回值。更稳的做法是把它当成一个能力服务:输入要约束,输出要校验,失败要兜底,效果要评测。

输入

给足上下文,但不要乱塞

输入里应该有任务、边界、业务口径、格式要求。无关内容越多,越容易干扰模型。

知识

需要事实就接知识库

公司制度、系统字段、接口约束、历史需求,应该通过 RAG 或工具查询提供给模型。

输出

能结构化就结构化

让模型输出 JSON、表格或固定章节,后续才能校验、渲染、保存和 diff。

风控

敏感动作加审批

发邮件、改数据、下单、发布内容这类动作,不应该只靠模型一句话自动执行。

评测

用样例集判断进步

不要只凭一次聊天感觉好坏。准备一组典型问题,固定评分标准,反复比较版本。

监控

上线后看真实反馈

记录命中率、人工修改率、失败原因、用户撤回率、延迟和成本,才能持续迭代。

一个企业系统里的典型链路

1 用户提需求 例如“商品录入要支持批量导入”。
2 检索知识库 查字段、权限、历史 PRD、接口文档。
3 模型生成草稿 按企业模板输出范围、流程、规则。
4 规则校验 检查字段名、权限点、枚举值是否存在。
5 人工审阅 产品、研发、测试补充边界条件。
6 沉淀反馈 把修改点回收成模板和评测样例。
10 · 面试表达

回答要短、准、能落到工程

面试官不是只听你背定义,更想知道你能不能把概念放进真实系统里。下面这些回答可以直接练。

AI、机器学习、深度学习、生成式 AI 有什么区别?

短答:AI 是目标,机器学习是实现 AI 的方法,深度学习是机器学习中的神经网络方法,生成式 AI 是能生成内容的模型或应用方向。

展开:机器学习依赖数据训练模型,深度学习用多层网络自动学习复杂特征。生成式 AI 的输出不是简单分类或分数,而是文本、图片、代码等新内容。现在的大语言模型通常属于深度学习体系,也属于生成式 AI 的代表。

什么时候用规则,什么时候用机器学习?

规则清晰、变化少、解释性要求高时,先用规则。比如权限校验、金额阈值、流程状态流转。

规律复杂、特征很多、人工写规则成本高时,可以考虑机器学习。比如推荐、欺诈识别、搜索排序、文本分类。工程上也常用混合方案:模型给分,规则兜底。

训练和推理有什么不同?

训练是用数据调整模型参数,目标是得到一个表现稳定的模型版本。推理是线上使用模型,对新输入计算结果。

训练关注数据质量、损失、指标和算力;推理关注延迟、吞吐、成本、稳定性和降级。这个区分在做 AI 工程方案时很常用。

为什么大模型会产生幻觉?

因为它的生成目标是根据上下文产生高概率 token,不是直接从数据库里查证事实。训练语料里的模式、用户提示里的误导、上下文缺失,都可能让它编出看似合理的内容。

企业落地时通常用检索增强、工具调用、引用来源、结构化校验和人工审核来降低风险。

你会怎么设计一个生成 PRD 的 AI 功能?

我会把它拆成几个环节:先收集用户需求和业务背景,再检索知识库里的系统字段、权限、历史需求和接口文档,然后让模型按企业模板生成草稿。生成后做结构化校验,比如字段是否存在、枚举是否合规、权限点是否匹配。最后让产品和研发审阅,修改点再沉淀到模板和评测集里。

这样做的原因是,PRD 既需要表达能力,也需要贴合企业现状。只让模型凭空写,容易写得像样但不落地。

11 · 课后练习

用三个小题把概念落到手上

看懂概念之后,最好马上做一次迁移。下面的练习不需要写完整代码,先训练判断力和表达能力。

练习 A:给系统选方案

1
订单金额超过 5 万必须主管审批 这是清晰规则,直接写规则系统,不需要机器学习。
2
预测用户明天会不会流失 这是概率预测,可以用监督学习,标签来自历史留存数据。
3
根据企业知识库生成需求草稿 适合生成式 AI,加上检索和结构化校验。

练习 B:用一句话解释

  • 用自己的话解释“模型不是数据库”。
  • 用一个业务例子说明“训练”和“推理”的区别。
  • 说出一个适合规则系统、不适合大模型自动决策的场景。
  • 说出生成式 AI 在企业系统里必须加校验的原因。

最后记住这张速查表

概念 一句话 工程问题
AI 让系统具备判断、理解、规划或生成能力。 这个能力是规则能做,还是需要模型?
机器学习 用数据训练模型,让模型从样本中学规律。 数据、标签、评估指标是否可靠?
深度学习 用多层神经网络学习复杂表示。 数据量、算力、解释性和部署成本能否接受?
生成式 AI 生成文本、图片、代码等新内容。 事实来源、输出格式、风控和人工审核怎么设计?
LLM 基于上下文逐步生成 token 的语言模型。 是否需要 RAG、工具调用、评测集和降级策略?