技术干货 # ai已发布

AI 技术入门:从人工智能、机器学习到大语言模型

近年来,AI(Artificial Intelligence,人工智能)已经从一个相对专业的研究领域,逐渐进入日常软件开发。从 ChatGPT、AI 编程助手,到智能客服、知识库问答、图像生成和 AI Agent,越来越多的软件开始具备理解文本、生成内容、分析信息和调用工具的能力...

2024.11.2220 分钟阅读
AI 技术入门:从人工智能、机器学习到大语言模型
AI 技术入门:从人工智能、机器学习到大语言模型 · Cover

近年来,AI(Artificial Intelligence,人工智能)已经从一个相对专业的研究领域,逐渐进入日常软件开发。从 ChatGPT、AI 编程助手,到智能客服、知识库问答、图像生成和 AI Agent,越来越多的软件开始具备理解文本、生成内容、分析信息和调用工具的能力。

对于传统后端开发者来说,学习 AI 并不意味着必须从头研究数学公式、神经网络训练算法,也不意味着需要自己训练一个大模型。理解 AI 的基本概念、核心技术和应用架构,就已经能够帮助我们将 AI 能力集成到现有业务系统中。

本文将从基础概念开始,逐步解释人工智能、机器学习、深度学习、大语言模型以及现代 AI 应用之间的关系,并结合实际开发场景建立一套完整的知识框架。

一、什么是人工智能

人工智能,简称 AI,是指让计算机完成通常需要人类智能参与的任务的一系列技术与方法。

这些任务包括:

  • 理解和生成自然语言。
  • 识别图像、语音和视频中的信息。
  • 从大量数据中发现规律。
  • 进行预测、分类和决策。
  • 根据目标规划步骤并调用工具完成任务。

例如,传统程序可以根据固定规则判断用户是否满足某个条件:

function isAdult(age: number): boolean {
  return age >= 18;
}

这是一种典型的规则编程。开发者明确告诉计算机判断逻辑,程序根据输入执行规则。

但是,如果要求程序判断一张图片里是不是一只猫,就很难仅靠人工编写规则描述所有可能的情况。图片中的猫可能有不同颜色、姿势、光照和背景,规则会变得异常复杂。

机器学习提供了另一种思路:不再完全依靠人手编写所有判断规则,而是让计算机从大量带有示例的数据中学习规律。

在现代 AI 中,这种方式已经被广泛应用于图像识别、语音识别、文本分类和大语言模型等领域。

需要注意,AI 并不等于大模型。专家系统、传统机器学习、计算机视觉、强化学习和大语言模型都属于人工智能相关领域。

二、人工智能、机器学习与深度学习的关系

理解 AI 最重要的一步,就是区分几个经常被混用的概念。

1. 机器学习是什么

机器学习(Machine Learning,ML)是一种让计算机根据数据学习规律,并利用学到的规律处理新数据的方法。

例如,我们想预测房屋价格,可以收集历史房屋数据:

面积房间数房龄成交价格
80㎡25 年120 万
100㎡38 年150 万
120㎡33 年200 万

机器学习算法可以根据这些历史数据,学习房屋特征与价格之间的关系,然后对新的房屋进行预测。

在这个过程中,开发者提供数据、选择模型和训练方法,而模型通过训练寻找适合这些数据的参数。

机器学习并不只用于生成式 AI。垃圾邮件识别、风险评分、商品推荐、异常检测和销量预测,都可以使用传统机器学习方法实现。

2. 深度学习是什么

深度学习(Deep Learning,DL)是机器学习的一个分支,主要利用多层神经网络学习复杂的数据特征。

传统机器学习有时需要人工设计特征。例如,在识别垃圾邮件时,开发者可能会手工统计某些关键词的出现频率、邮件长度和链接数量。

深度学习则可以从大量数据中自动学习更复杂的特征表示。在图像、语音和自然语言处理等领域,它取得了显著进展。

现代大语言模型、图像生成模型和很多语音模型,都建立在深度学习技术之上。

3. 什么是神经网络

神经网络(Neural Network)是一种受生物神经系统启发、由大量数学运算单元构成的模型。

可以将它粗略理解为一个包含很多可调节参数的复杂函数:

输入数据
   |
   v
输入层
   |
   v
隐藏层 1
   |
   v
隐藏层 2
   |
   v
输出层
   |
   v
预测结果

每一层会对输入数据执行一定的数学变换,并将结果传给下一层。网络中的权重和偏置等参数会影响最终输出。

训练的过程,就是根据训练数据和目标结果不断调整这些参数,让模型逐渐学会完成指定任务。

例如,训练一个垃圾邮件分类模型时,模型会接触大量邮件及其标签,逐步学习哪些文本模式与垃圾邮件相关。

大语言模型使用的神经网络规模更大,结构也更复杂,但核心思想仍然是通过大量参数表示和学习数据中的规律。

三、AI 模型是如何学习的

要理解大模型,首先需要理解模型训练的基本过程。

一个典型的机器学习流程包括:

准备训练数据
     |
     v
选择模型结构
     |
     v
模型产生预测
     |
     v
计算预测误差
     |
     v
根据误差调整参数
     |
     v
重复训练
     |
     v
得到训练后的模型

其中最重要的几个概念是数据、参数、损失函数和优化算法。

数据是模型学习的材料。数据质量、覆盖范围和代表性都会影响模型的表现。

参数是模型内部可调整的数值。训练会不断更新这些参数,使模型逐步适应训练任务。

损失函数用于衡量模型输出与训练目标之间的差异。损失值可以帮助训练算法判断当前预测表现如何。

优化算法则负责根据损失计算结果调整模型参数。深度学习中常见的训练方法包括基于梯度的优化算法。

这里可以用一个简单的类比:如果训练模型相当于让学生学习,那么训练数据就是教材和练习题,模型参数是学习过程中形成的内部表示,而损失函数提供了对当前答案的反馈。

当然,模型并不是像人一样有意识地理解教材。这个类比只是帮助理解训练过程。

1. 训练与推理的区别

AI 系统中经常出现两个词:Training 和 Inference。

**训练(Training)**是调整模型参数的过程,通常需要大量数据和计算资源。

**推理(Inference)**是使用已经训练好的模型,根据输入生成预测或回答。

例如,模型开发团队花费大量计算资源训练一个大语言模型。普通开发者调用模型 API 时,通常是在执行推理,而不是重新训练整个模型。

模型训练阶段
数据 + 训练算法
       |
       v
调整模型参数
       |
       v
训练完成的模型
       |
       v
模型部署 / API
       |
       v
用户请求
       |
       v
模型推理
       |
       v
生成结果

这也是为什么普通开发者可以通过 API 使用能力很强的模型,而不需要拥有训练它所需的计算集群。

不过,推理同样需要计算资源。模型大小、输入长度、输出长度、并发量和硬件类型都会影响响应时间与成本。

四、什么是大语言模型 LLM

LLM 是 Large Language Model 的缩写,即大语言模型。

它是一类通过大量文本及其他数据训练、能够处理自然语言任务的模型。常见能力包括文本生成、摘要、翻译、问答、代码生成和信息提取。

大语言模型通常具有大量参数,并利用深度学习技术学习语言中的统计规律、语义关系和不同任务的模式。

与传统的单一任务模型相比,大语言模型可以通过自然语言指令完成多种不同任务,而不必为每种任务单独编写一套完整规则。

例如,同一个模型可以处理:

任务 1:解释这段 TypeScript 代码。
任务 2:将这段中文翻译成英文。
任务 3:总结下面的技术文档。
任务 4:根据需求生成 SQL。
任务 5:从文本中提取姓名、日期和金额。

这类灵活性是大语言模型成为通用 AI 应用基础的重要原因之一。

1. 大语言模型是如何生成文字的

大语言模型最基础的工作方式,可以理解为:根据前面的上下文,预测接下来最可能出现的 Token,然后不断重复这个过程。

例如,输入:

Redis 是一种高性能的

模型可能认为下一个 Token 是“内存”,随后继续生成“数据库”,最终得到一段完整回答。

简化后的生成过程如下:

输入:Redis 是一种高性能的
              |
              v
        计算下一个 Token
              |
              v
             内存
              |
              v
      结合新上下文继续预测
              |
              v
            数据库
              |
              v
        持续生成后续内容

实际生成过程涉及 Tokenization、神经网络前向计算、概率分布和解码策略,并不只是从数据库中查找一句现成的话。

模型会根据上下文为候选 Token 计算分数或概率,再根据采样策略选择下一个 Token。这个过程一直持续到达到停止条件。

因此,模型生成的答案具有一定的概率性。同一个问题,在不同的模型版本、提示词和采样参数下,可能得到不同的回答。

2. 大模型为什么会产生幻觉

因为模型主要是在学习数据中的规律,并根据上下文生成结果,所以它并不天然拥有一个保证所有事实正确的数据库。

当模型缺少相关知识、面对模糊问题或需要推断的信息超出其可靠范围时,仍然可能生成语气自然但实际错误的内容。

这就是通常所说的 AI 幻觉(Hallucination)。

例如,询问一个模型某个内部系统的私有接口,它可能生成一个看起来合理、实际上并不存在的 API 地址。

因此,在实际业务中,不应把模型输出直接视为真实事实。对于重要操作,应结合外部知识检索、数据库查询、程序校验、权限控制和人工审核等机制。

五、理解大模型必须知道的几个概念

1. Token:模型处理文本的基本单位

Token 是模型处理文本时使用的基本单位之一。

它并不严格等同于汉字、单词或者一个完整的词语。不同模型使用的分词器可能不同,同一段文本在不同模型中也可能被切分为不同数量的 Token。

例如:

原始文本:
我正在学习人工智能

分词结果示意:
["我", "正在", "学习", "人工", "智能"]

这只是示意,并不代表某个具体模型的真实分词结果。

Token 之所以重要,是因为它通常影响模型的上下文长度、输入输出成本和生成速度。

调用模型 API 时,输入的系统提示词、用户问题、历史对话和检索资料都会占用上下文空间;模型生成的回答也会消耗输出 Token。

因此,如果一次性将大量文档塞进 Prompt,不仅可能超过模型的上下文窗口,还会增加推理成本。

2. Context Window:上下文窗口

上下文窗口表示模型在一次请求中能够处理的 Token 范围,具体限制取决于模型和服务配置。

例如,一个请求可能包含:

系统提示词
+ 用户问题
+ 历史对话
+ RAG 检索资料
+ 本次生成的回答

这些内容共同占用模型的上下文容量,具体计算方式由模型服务决定。

上下文窗口越大,并不代表每次都应该使用越长的输入。过多的无关资料可能降低回答效率,也会增加成本。

因此,RAG 的检索、分块和上下文筛选不仅是为了让模型找到资料,也是为了更有效地利用有限的上下文预算。

3. Embedding:将文本转换为向量

Embedding 是将文本、图片等内容转换为数值向量的技术。

例如:

文本 A:如何修改 Redis 密码?
文本 B:Redis 认证信息在哪里配置?
文本 C:今天的天气如何?

经过 Embedding 模型处理后,每段文本会转换为一个向量:

文本 A -> [0.12, -0.08, 0.31, ...]
文本 B -> [0.10, -0.06, 0.29, ...]
文本 C -> [-0.41, 0.72, 0.05, ...]

以上数字仅用于演示。

Embedding 模型学习到的表示,可以让语义相近的内容在向量空间中更容易被检索到。应用程序可以通过向量相似度搜索找到与用户问题相关的文本。

需要注意,生成文本的 LLM 和用于向量化的 Embedding 模型通常承担不同职责。一个负责生成内容,另一个负责生成适合检索的向量表示。

4. Transformer:现代大模型的重要基础架构

Transformer 是一种深度学习网络架构,也是许多现代大语言模型的重要技术基础。

它的核心机制之一是 Attention,即注意力机制。

可以将 Attention 粗略理解为:在处理某个 Token 时,模型能够根据当前任务和上下文,计算其他 Token 对当前表示的重要程度。

例如:

小明把书放在桌子上,因为它太重了。

模型需要结合上下文判断“它”指的是什么。注意力机制帮助模型建立文本中不同位置之间的关联。

这并不意味着模型只靠 Attention 就能完成所有理解任务。现代 Transformer 还包含其他结构、参数和训练机制,注意力机制只是其中的重要组成部分。

Transformer 的出现,使模型能够更有效地学习长文本中的关系,并为大规模语言模型的发展提供了重要基础。

六、生成式 AI 与传统 AI 有什么区别

AI 并不都是生成内容的模型。

传统机器学习经常用于分类、预测和识别;生成式 AI 则更强调生成新的文本、图片、音频、视频或代码。

例如:

应用典型任务常见技术
垃圾邮件识别判断邮件是否为垃圾邮件分类模型
销量预测预测未来销量回归、时间序列模型
图片识别判断图片中的对象计算机视觉模型
智能问答根据问题生成回答大语言模型
文本转图片根据描述生成图像图像生成模型
语音转文字将音频转换成文本语音识别模型
AI 编程助手解释、生成和修改代码大语言模型及工具系统

这些技术并不是相互排斥的。在一个完整的 AI 产品中,可能同时使用分类模型、Embedding 模型、大语言模型和传统业务规则。

例如,企业智能客服可以先使用分类模型判断问题类型,再用 RAG 检索内部资料,最后由大语言模型组织答案。

七、微调、RAG 与 Prompt Engineering

使用大模型开发业务应用时,经常会听到三个词:Prompt Engineering、RAG 和 Fine-tuning。

它们解决的问题并不完全相同。

1. Prompt Engineering:提示词工程

提示词工程是通过设计输入指令、上下文、约束条件和输出格式,引导模型更好地完成任务。

例如:

你是一名后端开发工程师。

请解释下面的 NestJS 代码。

要求:
1. 先说明整体作用。
2. 再解释关键代码。
3. 最后说明可能存在的问题。
4. 不要编造代码中不存在的功能。

提示词能够明确任务目标、输出格式和回答边界。

但 Prompt 无法可靠地为模型提供它从未接触过的私有知识,也不能单独保证模型严格遵守所有要求。

2. RAG:检索增强生成

RAG 的核心是先从外部知识库中检索相关资料,再将资料交给大模型生成答案。

例如,企业有大量内部文档,模型本身并不知道这些文档的具体内容。RAG 可以在用户提问时搜索相关段落,将这些段落放进上下文,让模型基于资料回答。

典型流程是:

用户问题
   |
   v
Embedding / 关键词检索
   |
   v
找到相关文档
   |
   v
构建 Prompt
   |
   v
大语言模型
   |
   v
生成答案

RAG 适合知识更新频繁、需要引用来源、数据属于私有领域的场景。

3. Fine-tuning:微调

微调是利用特定数据进一步训练已有模型,使其在特定任务、输出风格或领域模式上表现得更好。

例如,某个团队希望模型始终按照固定格式输出代码审查结果,可以通过提示词先实现基本约束;如果需要稳定适应特定任务模式,也可以评估是否需要微调。

微调与知识库不是一回事。微调通常不适合作为频繁更新事实信息的唯一手段,因为训练后的模型并不等于一个可以随时精确查询的数据库。

对于大多数刚开始开发 AI 应用的团队,可以先从 Prompt 和 RAG 入手。只有在明确评估效果、成本和维护需求之后,再考虑微调。

八、AI Agent 是什么

传统的大模型应用通常是一次输入、一次生成:

用户问题 -> 模型 -> 回答

但有些任务并不是生成一段文字就能完成的。例如:

  • 查询订单状态。
  • 检索企业知识库。
  • 调用 API 创建工单。
  • 查询数据库并生成统计报告。
  • 根据结果决定是否执行下一步操作。

AI Agent(智能体)通常指能够围绕目标进行多步处理,并根据需要使用工具的 AI 系统。

一个简单的 Agent 流程可以是:

用户提出目标
      |
      v
模型分析任务
      |
      v
选择需要调用的工具
      |
      v
执行工具并获得结果
      |
      v
模型分析执行结果
      |
      +----> 任务未完成,继续执行
      |
      v
返回最终结果

例如,用户要求:

查询订单 10001 的状态,如果已经发货,告诉我物流信息。

Agent 可以先调用订单查询接口,再根据订单状态决定是否调用物流查询接口,最后组织结果。

这里的关键不在于模型能够生成多复杂的文字,而在于系统赋予模型了哪些工具,以及工具调用是否经过安全控制。

在生产环境中,Agent 不应拥有不受限制的数据库权限,也不应仅凭模型生成的文本就执行资金转账、删除数据等高风险操作。工具权限、参数校验、执行确认、审计日志和业务规则都需要由应用系统控制。

九、从传统后端开发到 AI 应用开发

对于已经熟悉 Node.js、NestJS、数据库和消息队列的开发者来说,开发 AI 应用并不意味着必须推翻原有架构。

可以将 AI 能力看作现有业务系统中的一个新模块。

例如,一个 NestJS AI 问答服务可以包含以下组件:

前端
 |
 v
NestJS API
 |
 +----> 用户认证与权限控制
 |
 +----> 对话管理
 |
 +----> RAG 检索服务
 |         |
 |         +----> Embedding API
 |         |
 |         +----> PostgreSQL / Elasticsearch / 向量数据库
 |
 +----> LLM 服务
 |
 +----> 日志、监控与成本统计

不同模块的职责相对清晰:

  • NestJS 负责接口、认证、业务逻辑和流程编排。
  • 数据库负责用户、会话、文档元数据等业务数据。
  • Embedding 模型负责生成检索向量。
  • 搜索引擎或向量数据库负责召回相关知识。
  • LLM 负责理解上下文并生成回答。
  • 队列系统负责异步处理文档解析、向量化和其他耗时任务。

例如,文档上传后,可以将解析与向量化任务提交到 BullMQ;Worker 处理完成后将结果写入向量数据库;用户提问时,再由 API 触发检索和模型推理。

这种设计既利用了传统后端开发的优势,也避免将所有逻辑都塞进一次模型调用中。

十、学习 AI 应该从哪里开始

如果没有机器学习和神经网络基础,不建议一开始就尝试从零训练大模型。更实际的方式是先理解概念,再通过 API 完成一个端到端的小项目。

可以按照下面的顺序学习:

第一阶段:建立基本概念

理解 AI、机器学习、深度学习、神经网络、训练、推理、Token、Embedding 和 Transformer 的含义。

目标是知道这些技术分别解决什么问题,不必一开始就推导数学公式。

第二阶段:调用大模型 API

学习如何构造请求、传递系统提示词、管理对话历史、处理超时与错误,并理解输入输出 Token 和上下文窗口。

可以先开发一个简单的聊天接口,再加入结构化 JSON 输出和流式响应。

第三阶段:开发 RAG 知识库

选择一批 Markdown 或 PDF 文档,实现文档解析、分块、Embedding、向量检索和答案生成。

在基础流程跑通后,再研究混合检索、Rerank、来源引用和检索效果评估。

第四阶段:接入工具与业务系统

让模型能够调用经过权限控制的业务 API,例如查询订单、读取公开业务数据或创建待审核工单。

重点学习工具调用、参数验证、异常处理、执行状态和审计机制。

第五阶段:评估与优化

建立固定测试集,评估回答正确性、检索召回率、响应时间、Token 成本和失败率。

根据实际结果决定是否需要更复杂的检索策略、模型切换、微调或 Agent 架构。

整个过程中,最重要的是始终围绕一个真实需求进行实践,而不是只收集大量 AI 名词。

总结

人工智能是一个广泛的技术领域,机器学习是其中的重要分支,深度学习进一步推动了现代模型的发展,而大语言模型则为自然语言理解和生成提供了通用能力。

理解这些概念后,还需要掌握 Token、Embedding、Transformer、训练与推理等基础知识,才能理解模型为什么能够生成文字、如何检索知识,以及为什么仍然可能产生错误答案。

从应用开发的角度来看,AI 并不是要替代所有传统软件技术。数据库仍然负责可靠的数据存储,搜索引擎仍然负责信息检索,消息队列仍然负责异步处理,业务代码仍然负责权限、事务和关键规则。大模型则可以在这些系统之上提供语言理解、内容生成和工具编排能力。

对于后端开发者来说,一个很好的起点是先掌握模型 API 调用,再实现一个小型 RAG 知识库,最后尝试让模型安全地调用业务工具。

先把 AI 能力真正接入一个可运行、可验证、可监控的业务系统,再逐步深入底层原理,会是一条比较务实的学习路线。

#ai
ZZC

ZZC

写代码,也写一些生活。