Transformer、LangChain、Agent、LangGraph、RAG、LORA 到底是什么,用通俗易懂的话帮你解释。
由于博主最近在学习AI方面的知识,把一些学习笔记、心得用通俗易懂的话分享到这里,如果有不正确的地方,欢迎指正。
网络安全方面的知识好久好久没有更新了,最近刚拾起博客,逐步更新
1、Transformer 是什么
是深度学习架构,本质是一种算法,是所有现代 LLM 的底层心脏。这个架构引入了“自注意力”机制,不再是一个字一个字顺序读,而是一眼扫过全文,然后计算词与词的关联程度。
相比传统的 循环神经网络 和 长短期记忆网络,优势在于 并行计算 和 长距离依赖。
核心是编码器(encoder)和解码器(decoder)
2、LangChain是什么
是一个工程化框架,何为框架,简单来说就是一个规范,一个 SOP。
3、为什么要引入 LangChain
LLM 虽然很强,但是没有记忆,对话都是一次性的。引入
LangChain 的目的就是吧对话链接在一起,让 LLM 可以跟着 SOP 自己动起来,比如说查数据库。
4、LangChain的核心组件
A 链(chains)
允许将多个任务串联起来,比如说 用户输入->提取关键词->搜索维基百科->总结并给出结果
B 检索增强生成(RAG)
简单来说就是,把用户喂给他的东西碎片化存储,回答问题前先去翻阅这些资料。
C 代理(Agents)
代理就是不再按照固定的代码逻辑执行,而是让 LLM 作为推理引擎。比如说我们给一堆工具,AI会自己决定,现在我需要查谷歌,或者是调用什么工具。。。就这样
D 内存(Memory)
负责管理对话上下文,将之前的对话历史以特定的窗口大小或总结塞进下一次的请求的 Prompt 中,让 AI 具备长期记忆。
5、LangChain到底在做什么
简单来说,如果开发者使用的是 LangChain 而不是调用API,那么本质上就是在构建一个工作流。
1、prompt template,将用户输入格式化为特定模板
2、Model I/O,统一不同模型(GPT、Claude)的调用接口
3、OutPut Parsers:将AI返回的无序的东西,转化为结构化的 JSON 结构或者是其他方便阅读的格式
6、如何理解上面二者的关系
Transformer 是核心算法
LLM 是具体模型
LangChain 是应用框架,是操作手册
LLM 是 LangChain 的核心插件
二者没有包含与被包含的关系,只有合作关系
一个瘸子和一个瞎子在合作
7、什么是 Agent
直白一点 Agent 可以把上面的瘸子和瞎子的功能结合起来变成一个完整的人,这个人学名就叫“智能体”。给 AI 真正的 自主思考权、决策权;
*** 注意我这里说的是功能结合,而不是简单的把二者的东西简单拼凑。
8、Agent 的核心部分
Agent=LLM(大脑)+ Planning(规划)+Memory(记忆)+ Tool Use(工具使用)
- Planning 不像 LangChain 里面的链一样,是一个固定的SOP,面对一个直白的问题,比如“帮我分析一个网站”,Agent 会拆分任务,指纹识别、端口扫描、匹配CVE、写报告;
- Memory 类似 LangChain 里面的 memory,这是短期记忆;长期记忆类似 RAG
- Tool Use 是进化的手脚,是正真的工具,而不是 LangChain的Agents,那个里面是一些函数;后面会解释这里。
- 动作与观察 这是Agent的闭环,也是后面会涉及到的 React机制。会思考 我现在在做什么?需要调用什么工具?查看返回的结果!根据结果进入下一个循环;
9、典型的 Agent 思考模式:React
这里就是我们在第 8 部分提到的 React 机制
10、Agents 和 Agent 的区别
相信很多师傅们和读者看到这里会被 LangChain 里面的 Agents 和 Agent 绕晕,这里解释一下二者的区别;
LangChain 里面的 Agents,其实是一个包的名字。LangChain 作为一个框架,里面需要包含很多的类,这些类都放在一个模块里,这个模块/包叫做 Agents。前面我们在介绍 LangChain 的时候说 Agents 让他具有自己决定能力,而这些能力仅限于这些写好的函数方法,如果说没有某个函数,你让他去调用,他会幻觉,为了满足链里面的输出,会胡乱编造内容给你。比如说你让他调用一个nmap工具,他没有,但是链里面写好了必须输出结果来闭环,这个时候他会胡说。
Agent 就是一个完整的智能体,他调用的工具也是真正意义上的工具而不是某个函数方法。在遇到某个没有的工具的时候他不会为了SOP闭环而去胡说,而是会重定向,也就是重新思考,我没有这个工具,我现在手里有什么工具可以解决这个问题,然后去调用工具。
对比完二者,其实会引出一个新的问题,LangChain 其实是比较死板的,因为他必须按照链里面写好的步骤去执行那个123,很容易出现我们上面说的幻觉,下面会介绍一个新的概念,LangGraph;
11、LangChain和Agent的对比
在介绍 LangGraph之前,我们先说一下这两者的优略势。
LangChain 虽然死板,但是他会严格执行 SOP,因为没有回头机制,结果是一定的,不会出错,我说的出错不是答案 True 或者 False,而是不会超出链中写好的范围,不会超出人的管控;
Agent 虽然灵活,但是会反循环“思考-动作-观察”,会感知环境,很消耗 Token。
12、LangGraph是什么
是 LangChain 团队出的用来构建 复杂、有状态、支持循环逻辑的AI架构 工具。重点他是个工具!
13、为什么要出 LangGraph
前面我们说到了,Agents 的问题,第一点是死板,第二点其实是黑盒,所有的行为人是看不见的,函数执行的时候,自己玩自己的,可能乱用函数,可能死循环,不和人交互,你很难介入他。
LangGraph 就解决了这个问题,把这种黑盒的自主变成了可以编程的交互,你可以告诉他,这个节点怎么走,那个节点怎么走,在哪里必须人机交互,这样;
14、LangGraph 的核心
节点、边、状态
A node(节点),面对的是具体的活,每一个节点就是一个函数或者大模型调用。比如节点 A 是用 nmap 扫描,节点 B 是让 LLM 分析结果;
B Edge(边),逻辑上的路,简单来说就是 if-else 结构,岔路口选路;
C State(状态),全局记忆,有一个全局数据库,所有的节点可以读取这个数据库;
逻辑案例其实可以参考 Coze 平台的工作流,注意我说的是逻辑上。本质上 LangGraph 还是代码库,Coze 是平台,能力大小取决于平台组件。
15、RAG 是什么
上面的 LangChain、Agent、LangGraph 都离不开 RAG,RAG到底是什么?
在前面介绍 LangChain 核心的时候我们简单的说了,RAG 就是把用户喂的东西碎片化存储,有参考。
16、为什么引入 RAG
针对LLM 先天的问题
1、幻觉,不知道的时候就会胡说八道
2、知识滞后,知识停留在结束训练的那一天,老模型可能不知道最新的 CVE。
RAG可以外挂知识库,准确来说是一个实时搜索引擎
17、RAG 的工作原理
检索,顾名思义就是在外挂的知识里面找和你的问题最接近的内容;
增强,把找到的内容和你的问题按照一定的格式组合,生成一个强化版的 Prompt;
生成,这一步跑 Transformer,根据上一步加强的 Prompt 生成答案;
通俗一点讲生成部分,RAG是一个字典,Transformer是运算逻辑,把字典中的内容给逻辑,让答案更准确、丰富;
17.1、空间向量
关于检索部分,有必要补充一点空间向量的内容;
去外挂知识库寻找与问题贴切的内容到底是怎么运行的,毕竟不是人脑。这里就会涉及到空间向量,用通俗易懂的话来说,白帽子和黑客的空间内的距离一定小于白帽子和卡皮巴拉的距离。
18、LORA 是什么
涉及到大模型微调的内容,我们想让大模型拥有某个技能或者是有某方面的知识,有两种方案,一种是微调一种是RAG。微调相当于重新训练,去调整几十亿个参数成本非常高。
LORA 其实相当于补丁,压缩了庞大的核心逻辑,让核心保持不变,然后加补丁,这样就避免了重新训练的成本问题。
通俗一点讲,书里面夹张纸,上面写了笔记。
19、LORA 核心卖点是什么
很多师傅们有这样的疑惑,都有 RAG 了,为什么还要 LORA 呢?直接用 RAG 不就好了吗?
RAG 固然好用,但是外挂得内容再多,大脑没东西还是不行;比如你在学习,你做再多的笔记,不过大脑,笔记不在的时候,你还是什么都不会。
LORA 的重点在于内部改造能力,虽然幻觉控制不如 RAG来的直接,但是更注重于高质量改善。
RAG 提供的是事实依据,LORA 改善的是格式、语气、逻辑习惯
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)