
LLM、Prompt、AI Agent、RAG... 一网打尽大模型热门概念
大模型(),或者称为基础模型 (),指的是包含超大规模参数(通常在十亿个以上)的神经网络模型。这些参数使得大模型能够处理和理解复杂的任务,如自然语言处理、图像识别等。参数规模大架构规模大训练数据大算力需求大以上“大”衍生出模型能力的强大。我们常说到的大模型,指的是最常用的一类,大语言模型LLM,Large Language Model),如:ChatGPT、DeepSeek等都是大语言模型。注:本
0. 引入
随着 ChatGPT、DeepSeek 等大语言模型的迅速崛起,AI技术已深度融入我们的日常生活与工作场景。对于程序员群体而言,大语言模型在代码生成领域的效率提升尤为显著,拥抱AI技术已成为必然趋势。
那么,究竟什么是大模型?频繁出现的Prompt
、RAG
、Agent
等专业术语又该如何理解?本文将针对大模型及其相关概念进行入门级的介绍,旨在于建立对大模型的基础认知与理解。
1. 基础概念扫盲
在谈到AI
(Artificial Intelligence
,人工智能)时,可能会听到模型、算法、训练、推理等概念。
用一个猫狗分类的例子来简单说明上述概念。例如:给定一张猫或狗的图片,刚出生的小宝宝是无法区分的。
-
模型:刚出生的小宝宝。
-
训练:教模型认识猫狗的一个过程。给模型展示大量不同的猫狗的图片,并告诉ta猫狗的不同之处,猫狗的特征是什么,如:猫的尾巴、耳朵,狗的鼻子、体型等等。模型就能根据其学到的知识,来做出区分。
-
算法:用什么方法来教模型。训练模型时使用的具体方法技术,训练过程中,算法会知道模型如何学习、处理图片特征。
-
推理:模型学习完毕后,给模型一张新的猫or狗的图片,模型根据学到的知识区分猫狗。模型解题的过程就是推理。
-
数据集:模型学习的知识。一般分为训练集和测试集,训练集用于训练模型;测试集用于验证模型学习的效果。
-
参数:参数决定了模型如何根据输入数据生成预测或输出结果。模型本质上是一个函数(比如最简单的 y=wx+b),其中的 w(权重)和 b(偏置)就是模型的参数。通过分析大量数据样本(x, y),模型会自动调整这些参数,使得它能够尽可能准确地拟合数据,找到最能解释输入和输出之间关系的参数值。
-
泛化能力:模型对于未见过的新数据的预测能力。
-
过拟合:模型对训练数据学习得过于精确。模型变成了“书呆子”,只会死记硬背,不会融会贯通。
-
神经网络:模拟人脑认知的分层学习系统,通过不断调整各层"神经元"之间的连接参数,从大量数据中逐步学会区分猫狗,最终能对新数据做出智能判断。
2. 关于大模型
2.1 什么是大模型?
大模型(Large Model
),或者称为基础模型 (Foundation Model
),指的是包含超大规模参数(通常在十亿个以上)的神经网络模型。这些参数使得大模型能够处理和理解复杂的任务,如自然语言处理、图像识别等。
“大” 主要体现在以下几个方面:
- 参数规模大
- 架构规模大
- 训练数据大
- 算力需求大
以上“大”衍生出模型能力的强大。
我们常说到的大模型,指的是最常用的一类,大语言模型(LLM
,Large Language Model),如:ChatGPT、DeepSeek等都是大语言模型。
注:本文后续的大模型均代指大语言模型(
LLM
)
2.2 大模型两大能力
2.2.1 涌现能力
涌现能力(Emergent Abilities
):训练数据规模及参数数量的提升,大模型解锁了一系列新的能力,如:上下文学习、常识推理、数据运算、代码生成等能力。脑子突然“开窍”了,不再仅仅是复述知识,而是能够理解知识,并且能够发散思维。
2.2.2 泛化能力
泛化能力(Generalization Abilities
):在面对未见过的新任务、新领域或新数据时,仍能有效完成任务的能力。这种能力使模型不仅限于复现训练数据中的模式,而是能灵活适应多样化场景。
3. Prompt工程
随着大语言模型(LLM
)的出现,提示工程(Prompt Engineering
)变得越来越重要。很多人将 Prompt 视为大模型的咒语,其好坏直接影响模型输出的结果。
3.1 什么是Prompt?
Prompt
(提示词):发送给大模型的指令,通常以自然语言文本的形式出现。核心目的在于清晰地描述模型应该执行的任务,以引导模型生成特定的文本、图像、音频等内容。
3.2 什么是Prompt工程?
Prompt 提示词很大程度决定生成回答的质量。
Prompt工程(Prompt Engineering
,提示工程):专注于如何编写Prompt的技术。
一个高质量的Prompt包含以下基本要素:
-
任务说明:向模型明确提出具体的任务要求。任务说明应当清晰、直接,并尽可能详细地描述期望模型完成的任务。
-
上下文:向模型提供的任务相关背景信息,用以增强模型其对任务的理解以及提供解决任务的思路。如:特定的知识前提、目标受众的背景、相关任务的示例等。
-
问题:向模型描述用户的具体问题或需要处理的信息。
-
输出格式:期望模型给出的回答的展示形式。包括输出的格式,以及任何特定的细节要求,如简洁性或详细程度。
3.3 如何编写一个好的Prompt
核心技巧:把大模型当人看
3.3.1 编写规范的Prompt
编写规范的Prompt是与大语言模型进行有效沟通的基础。
经典的Prompt通常由任务说明,上下文,问题,输出格式等部分中的一个或几个组成以下是规范编写Prompt需要满足的要求。
3.3.1.1 任务说明要明确
清晰、具体的任务说明能够保证模型准确理解任务要求,产生符合预期的输出。
以下是任务编写的技巧:
- 使用明确的动词:选择能够清晰表达动作的动词。如:“判断”、“生成”等;避免使用模糊的动词,如:“处理”、“操作”等。
- 具体的名词:使用具体的名词来定义任务的输出或目标
- 简洁明了:任务说明应简洁且直接,避免冗长或复杂的句子结构,使模型能够快速抓住任务的核心要求。
- 结构化布局:在较长的 Prompt 中,将任务说明放置在开头和结尾,因为模型通常更关注这些部分的信息。
3.3.1.2 上下文丰富且清晰
丰富且清晰的上下文能够显著提升模型的回答准确率。
丰富体现在:内容可以是与问题直接相关的背景信息、具体的演示示例、或是对话历史等。 清晰体现在:上下文信息必须与问题紧密相关,避免包含冗余或是不必要的信息。
3.3.1.3 输出格式要规范
规范的输出格式对于确保模型的输出的可用性至关重要。
通过指定明确的输出格式,使模型的输出结构化,便于下游任务直接提取、使用生成内容。或者直接提供输出格式的具体示例,使模型按照期望的输出格式输出内容。
3.3.1.4 排版要清晰
-
使用一致的分隔符:选择并坚持使用一种或集中分隔符来区分不同的prompt部分。如:# - 、 等;
-
合理使用空白、缩进;增强Prompt可读性,帮助模型区分不同的内容块;
-
清晰的标题和子标题:帮助模型快速识别每个部分的主题;
3.3.2 合理归纳提问
-
复杂问题拆解:将复杂问题拆解成更小、更易于理解的子问题,引导模型逐一回答,确保子问题得到充分考虑和解答。随后将子问题的答案汇总,形成全面回答。
-
追问:根据回答去做追问。
3.3.3 善用心理暗示
- 角色扮演:为大模型设定一个详尽的角色。在指令中包含具体属性、职责、知识和技能。
- 情景代入:将特定情境下所需的专业知识、历史背景等信息嵌入到模型的响应中。
4. AI Agent
如果最近有关注科技新闻,一定会被一款名为 Manus 的AI Agent
刷屏。Manus一经发布,就引起广泛关注,内测资格甚至一度被炒至高价。到底什么是AI Agent?AI Agent与大模型又是什么关系?
4.1 为什么需要AI Agent?
设想一个场景,我们想要规划一次跨国旅行,涉及到机票的预定、酒店的选择、当地天气以及景点推荐等方面。
如果借助大模型帮助我们规划的话,需要我们自己先思考,将任务拆分成订酒店、订机票、推荐景点等任务,然后我们需要根据拆分好的任务,不断输入任务指令,不断调整,才能完成这件事。任务是交互式的,即通过提示词一步一步来回答问题。
如果有一个智能助手,也就是Agent
,我们只需要给出“规划一次跨国旅行”的指令,由助手帮助我们拆解任务、执行任务,不需要我们自己动脑子、做格外的操作,我们只关心助手最终反馈的结果。
总结来说,需要Agent
的理由如下:
- 能够处理复杂任务:单一工具(如:
LLM
)无法直接完成多步骤、多工具协作的任务; - 能够自主决策:=能根据用户偏好(如预算、时间)自动调整计划,例如优先选择低价航班或高评分酒店;
- 能够弥补大模型的不足:大模型无法直接访问实时数据(如最新航班价格),但
Agent
可以通过API获取。
4.2 什么是AI Agent?
如果查询Agent
的中文释义,意思是:代理人,代理商,或是经纪人。
可以将Agent
理解为一个中间人的角色,代替别人做事。如:艺人的经纪人帮助艺人去完成商务活动的谈判、对接等工作,无需艺人自己操心,艺人只关心结果。
AI Agent:可以理解为用户和大模型(LLM)之间的中间人,由Agent
代替用户去操作大模型。用户只需要给出简单指令,Agent便会自己独立解决问题,而不是“指哪打哪”,整个过程无需用户的干预。
4.2 AI Agent与LLM是什么关系?
Agent = LLM(大模型)+ Planning(规划)+ Memory(记忆)+ Tools(工具)
AI Agent是一种能利用大模型进行自主的任务规划、决策与执行的系统。如果把Agent看作一个人,那么大模型(LLM
)就是Agent的大脑。
如果说大模型是一本百科全书,而AI Agent就像一个办事能力强的助手。助手会根据需求,把任务拆解成多个步骤,并主动找到资源或工具来完成任务。
Agent关键组成部分如下:
-
规划(
Planning
):Agent
通过规划来决定如何实现目标,把大任务拆解为子任务,并规划执行任务的流程;并在任务执行的过程中进行思考和反思,决定是继续执行任务,或判断任务完结并终止运行。 -
记忆(
Memory
):Agent
拥有的存储器,可用来存储短期记忆或长期记忆。- 短期记忆:执行任务过程中的上下文,会在子任务的执行过程产生和暂存,在任务完结后被清空;
- 长期记忆:如记录使用者的任务历史、个人信息、兴趣偏好等,长时间保留的信息,一般存到外部数据库。
-
工具(
Tools
):Agent
的手脚。可以自动调用各种工具API,例如:计算器、搜索工具、代码执行器、数据库查询工具等。有了这些工具API,可以扩展Agent的能力,执行任务。 -
行动(
Action
):智能体根据规划的结果采取的实际行动。
总结来说:LLM 扮演了 Agent 的 “大脑”,在 Agent 这个系统中提供推理、规划等能力。
5. 检索增强生成(RAG)
5.1 为什么需要RAG?
举个常见的例子:让大模型比较13.8和13.11哪个大,它可能会很自信地告诉你13.11更大。这种明显违背数学常识的回答,暴露了大模型在回答某些问题时,可能会存在一本正经胡说八道的情况。
正如上述例子展示的那样,大模型并非无所不能,有些时候会胡言乱语,即产生“幻觉”。可以从两方面去理解幻觉:
-
模型自身导致的“幻觉”。大模型实际上是依赖于统计概率来预测下一个最可能的词语,而非基于事实查询。由于训练数据和参数学习上的不足,可能会出现“幻觉”,即生成看似合理实则逻辑混乱或者违背事实的回答。
-
训练数据导致的“幻觉”。大模型的回答都是从已有的知识(数据)中学习到的,而知识可能存在以下问题:
-
知识过时:训练模型时所用的数据是过时的数据;
-
知识边界:垂直领域或者私有的知识,大模型可能不清楚;
-
知识偏差:训练数据的正确性无法保证,可能存在错误的知识。
-
针对大模型存在的“幻觉”问题,可以通过增强检索生成(RAG
)技术来补足短板,从而提高大模型的回答质量。
5.2 什么是RAG?
RAG(Retieval-Augmented Generation
,检索增强生成):建立一个外部数据库,将大模型不知道的知识存储在外部数据库中,供大模型进行检索调用,用于提高大模型回答的质量。
用户提问后,根据用户的问题到外部数据库中检索得到上下文(context
),得到的上下文与用户的问题整合后,作为Prompt
提示词送入大模型,供大模型搜索答案。
5.3 RAG三大好处
- 减少大模型的幻觉;
- 为大模型提供最新的知识,帮助大模型生成质量更高的答案;
- 相较于模型微调,效率更高 、成本更低。
5.4 RAG工作流程
5.4.1 基础概念扫盲
5.4.1.1 向量嵌入
向量嵌入(Vector Embeddings
):将复杂数据(如:图像、文本、音频等)转换为数值向量的过程和结果。向量通常是高维的数字数组,向量中可以体现数据间的语义信息,语义相近的数据向量值接近,在向量空间中距离更近。
例如,给定三个词Cat、kitty、Apple,将这三个词转换为向量,可以看到,语义相近的Cat、kitty向量值比较接近,而Apple与其他词值相差较大,体现在向量空间中,语义相近的词距离更近。
图源@Jim大表哥-AI讲解
5.4.1.2 嵌入模型
嵌入模型(Embedding Model
):将复杂数据(如:词语、句子或文档)等转换为向量的技术。
5.4.1.3 向量数据库
向量数据库(Vector Database
):用于存储和检索高维向量数据的数据库,处理与相似性搜索相关的任务,通过语义来搜索。可作为AI的长期记忆库。
向量数据库与传统数据库区别如下:
向量数据库 | 关系数据库 | |
---|---|---|
数据类型 | 存储高维向量数据 | 结构化数据 |
查询方式 | 相似性搜索 | 精确匹配和范围查询 |
应用场景 | AI相关 | 管理系统等 |
代表数据库 | Milvus、Elasticsearch等 | MySQL、Oracle等 |
5.4.1.4 相似性搜索
相似性搜索(Similarity Search
):利用向量空间中对象间的接近程度来识别和检索相似的对象,这种基于相似度检索的方法,就是相似性搜索。
5.4.2 RAG工作流程详解
总体流程可分为四步;
-
构建外部知识库:针对知识库中各类格式的文档(如:PDF、Word等)进行处理。对知识库中的文档进行分割(
Split
),将分割后的文本块(Text Chunk
)利用嵌入模型转为嵌入向量,存储到向量数据库中。文档分割的质量决定了检索的准确性和生成模型的效果。
-
检索(Retreive): 将用户输入的问题利用嵌入模型转换为向量,到向量数据库中进行相似性搜索,找到相似度最大的向量,输出为上下文(
Context
)。 -
增强(Augment):上下文与用户问题结合作为提示词(
Prompt
)送入大模型。 -
生成(Generation):大模型根据提示词(
Prompt
)生成回答,生成的回答返回给用户。
更多推荐
所有评论(0)