人工智能
让系统看起来具备某种智能能力。比如识别图片、理解文本、规划路线、推荐商品、自动写代码。
这份课件按程序员熟悉的方式展开:输入是什么,模型做了什么,训练怎么发生,推理怎么上线,为什么会出错。读完以后,能在面试里把四个词讲得清楚,也能听懂后续的 Agent、RAG、Prompt、MCP 课程。
很多初学者一上来就被名词绕住。先记住一个简单关系:AI 是大目标,机器学习是用数据实现 AI 的办法,深度学习是机器学习里很强的一类模型,生成式 AI 是以“生成内容”为目标的应用和模型家族。
让系统看起来具备某种智能能力。比如识别图片、理解文本、规划路线、推荐商品、自动写代码。
让程序从数据里学出一个函数。以后遇到新输入,就用这个函数做预测、分类或排序。
用很多层神经网络处理复杂模式。它把“手写特征”的压力转移给模型自己学习。
模型不只是判断,还能生成新内容。文本、图片、代码、音频都可以是输出。
写业务系统时,我们习惯把规则写进代码。机器学习换了一个方向:先准备样本,让模型自己拟合出规律。这个差别很重要,后面所有概念都围绕它展开。
适合规则稳定、边界清晰的任务。比如审批金额超过阈值就走二级审批。
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);
}
先把机器学习看成函数拟合,不要急着想算法名。输入可以是用户画像、商品信息、文本、图片或日志。输出可以是分类、分数、排序、预测值。
模型能读取的输入字段。比如用户年龄、登录次数、商品价格、文本 token、图片像素。
训练时给模型看的标准答案。比如“是否欺诈”“是否点击”“房价是多少”。
模型内部可调整的数值。训练过程本质上是在调这些数,让输出更接近标签。
用一个数衡量模型错得有多离谱。损失越低,不代表线上一定越好,但说明训练目标上更接近答案。
模型遇到没见过的数据时还能表现不错,这叫泛化。面试里经常会问过拟合,就是泛化失败的一种表现。
准确率、召回率、AUC、F1、MAE、BLEU 等都属于指标。不同任务不能只盯一个数字。
这两个词要分清。训练发生在模型上线前或再训练时,消耗数据和算力。推理发生在线上请求里,目标是快速、稳定地给出结果。
它不是每次请求都重新学习,而是提前把大量样本压缩进模型参数里。线上用的是训练后的模型版本。
输入来了,模型算一次,返回结果。工程上会关注延迟、吞吐、成本、缓存、降级和可观测性。
机器学习按训练信号可以分成几类。面试时不需要背很深的数学,但要能说出各自用在什么场景。
| 类型 | 模型看到什么 | 常见任务 | 程序员例子 |
|---|---|---|---|
| 监督学习 | 输入和标准答案 | 分类、回归、排序 | 用历史订单训练欺诈识别模型,标签是“欺诈或正常”。 |
| 无监督学习 | 只有输入,没有人工答案 | 聚类、降维、异常发现 | 把用户行为自动分群,找出访问模式特别异常的账号。 |
| 自监督学习 | 从数据本身构造训练任务 | 语言模型、表示学习 | 遮住一句话里的部分 token,让模型根据上下文预测被遮住的内容。 |
| 强化学习 | 动作、环境反馈和奖励 | 策略优化、机器人、游戏 | 让系统在一系列操作中学习怎样拿到更高长期收益。 |
传统机器学习常常依赖人工设计特征。深度学习的变化在于:模型可以从底层输入中逐层学出表示。图像从边缘到形状,文本从词到句子关系,语音从波形到语义,都可以通过多层结构提取。
神经网络里有大量矩阵运算。GPU 擅长并行计算,所以训练深度模型时通常比 CPU 合适。
参数越多,越需要足够多且质量稳定的数据,否则模型容易记住训练样本,而不是学到可迁移的规律。
小数据、强规则、解释性要求高的场景,传统模型或规则系统可能更便宜、更可控。
生成式 AI 的输出不只是一个标签或分数,而是一段新内容。它可以写文案、生成图片、补代码、总结会议纪要,也可以在企业系统里辅助写需求、查知识库、生成测试用例。
回答“这个输入属于哪一类”“这个用户会不会点击”“这笔交易风险多高”。输出通常是类别、概率或分数。
input: 这条评论含广告吗?
output: spam = 0.92
回答“接下来该生成什么”。输出可以是句子、代码、图片、音频,也可以是结构化 JSON。
input: 给商品录入系统写一段异常校验说明
output: 当 SKU 已存在时,应提示重复并阻止保存...
“预测下一个 token”听起来简单,但当模型足够大、训练语料足够多、结构足够强时,它会学到语言、事实、代码模式、推理格式和交互习惯。它不是普通数据库,也不会天然知道你公司最新的业务规则。
模型不直接吃整句话,而是先切成 token。token 可以是字、词、子词或符号。
Embedding 把 token 映射成数字向量。语义接近的内容在向量空间里通常距离更近。
"商品" → [0.12, -0.38, 0.74, ...]
"订单" → [0.09, -0.34, 0.70, ...]
模型根据上下文给出候选 token 的概率,再按策略选择下一个输出。
现代 LLM 常用的结构。它通过注意力机制计算 token 之间的关系,让模型能在上下文中抓重点。
模型一次能看到的内容长度有限。窗口外的内容不会自动进入推理过程,除非系统重新提供。
模型可能生成看似合理但不真实的内容。做企业系统时,要用检索、工具、校验和人工审核降低风险。
工程上不要把 AI 输出当作永远正确的返回值。更稳的做法是把它当成一个能力服务:输入要约束,输出要校验,失败要兜底,效果要评测。
输入里应该有任务、边界、业务口径、格式要求。无关内容越多,越容易干扰模型。
公司制度、系统字段、接口约束、历史需求,应该通过 RAG 或工具查询提供给模型。
让模型输出 JSON、表格或固定章节,后续才能校验、渲染、保存和 diff。
发邮件、改数据、下单、发布内容这类动作,不应该只靠模型一句话自动执行。
不要只凭一次聊天感觉好坏。准备一组典型问题,固定评分标准,反复比较版本。
记录命中率、人工修改率、失败原因、用户撤回率、延迟和成本,才能持续迭代。
面试官不是只听你背定义,更想知道你能不能把概念放进真实系统里。下面这些回答可以直接练。
短答:AI 是目标,机器学习是实现 AI 的方法,深度学习是机器学习中的神经网络方法,生成式 AI 是能生成内容的模型或应用方向。
展开:机器学习依赖数据训练模型,深度学习用多层网络自动学习复杂特征。生成式 AI 的输出不是简单分类或分数,而是文本、图片、代码等新内容。现在的大语言模型通常属于深度学习体系,也属于生成式 AI 的代表。
规则清晰、变化少、解释性要求高时,先用规则。比如权限校验、金额阈值、流程状态流转。
规律复杂、特征很多、人工写规则成本高时,可以考虑机器学习。比如推荐、欺诈识别、搜索排序、文本分类。工程上也常用混合方案:模型给分,规则兜底。
训练是用数据调整模型参数,目标是得到一个表现稳定的模型版本。推理是线上使用模型,对新输入计算结果。
训练关注数据质量、损失、指标和算力;推理关注延迟、吞吐、成本、稳定性和降级。这个区分在做 AI 工程方案时很常用。
因为它的生成目标是根据上下文产生高概率 token,不是直接从数据库里查证事实。训练语料里的模式、用户提示里的误导、上下文缺失,都可能让它编出看似合理的内容。
企业落地时通常用检索增强、工具调用、引用来源、结构化校验和人工审核来降低风险。
我会把它拆成几个环节:先收集用户需求和业务背景,再检索知识库里的系统字段、权限、历史需求和接口文档,然后让模型按企业模板生成草稿。生成后做结构化校验,比如字段是否存在、枚举是否合规、权限点是否匹配。最后让产品和研发审阅,修改点再沉淀到模板和评测集里。
这样做的原因是,PRD 既需要表达能力,也需要贴合企业现状。只让模型凭空写,容易写得像样但不落地。
看懂概念之后,最好马上做一次迁移。下面的练习不需要写完整代码,先训练判断力和表达能力。
| 概念 | 一句话 | 工程问题 |
|---|---|---|
| AI | 让系统具备判断、理解、规划或生成能力。 | 这个能力是规则能做,还是需要模型? |
| 机器学习 | 用数据训练模型,让模型从样本中学规律。 | 数据、标签、评估指标是否可靠? |
| 深度学习 | 用多层神经网络学习复杂表示。 | 数据量、算力、解释性和部署成本能否接受? |
| 生成式 AI | 生成文本、图片、代码等新内容。 | 事实来源、输出格式、风控和人工审核怎么设计? |
| LLM | 基于上下文逐步生成 token 的语言模型。 | 是否需要 RAG、工具调用、评测集和降级策略? |