深度学习、大模型、AI agent

本文概述深度学习的原理,包括完全连接前馈神经网络、层次结构、特征提取、权重矩阵与超参数、激活函数、梯度下降与学习率。探讨了神经网络在深度学习中的关键作用,适合初学者和进阶者了解技术细节。

目录

一,深度学习

二,神经网络

1,完全连接前馈神经网络

2,神经网络的层次

三,神经网络的基本概念

1,特征提取

2,权重矩阵、偏差、超参数

3,激活函数

4,梯度下降

四,大模型

1,大模型(LLM)

2,提示(Prompt)

3,会话(Session)

4,上下文(Context)

5,Prompt和Context的关系、长度限制

五,大模型工程

0,Prompt工程(Prompt Engineering)

1,MCP(Model Context Protocol)

2,Context工程(Context Engineering)

3,AI agent

(1)外部功能调用

(2)Context压缩

(2.1)压缩方法一,存盘+重拾记忆

(2.2)压缩方法二,摘要

(2.3)压缩方法三,sub agent

4,agent会话

六,AI编程


一,深度学习

深度学习是机器学习的一种方法。在过去几十年的发展中,它大量借鉴了我们关于人脑(神经网络)、统计学和应用数学的知识。近年来,得益于更强大的计算机、更大的数据集和能够训练更深网络的技术,深度学习的普及性和实用性都有了极大的发展。

深度学习的步骤:

  • Step1:神经网络(Neural network)
  • Step2:模型评估(Goodness of function)
  • Step3:选择最优函数(Pick best function)

深度学习算法,是回归算法中的一种,

所以回归回归 Regression_nameofcsdn的博客-CSDN博客一文中的内容,对深度学习都适用。

二,神经网络

1,完全连接前馈神经网络

完全连接,指的是相邻两层之间,两两都有连接。

前馈(feedforward)也可以称为前向,从信号流向来理解就是输入信号进入网络后,信号流动是单向的,即信号从前一层流向后一层,一直到输出层,其中任意两层之间的连接并没有反馈(feedback)。

2,神经网络的层次

  • 输入层(Input Layer):1层
  • 隐藏层(Hidden Layer):N层
  • 输出层(Output Layer):1层

而隐藏层的层数N,其实就是深度学习模型的深度Deep

三,神经网络的基本概念

1,特征提取

深度学习的本质就是通过隐藏层进行特征提取。

隐藏层的每一层,都是一次特征提取。隐藏层的最后一层到输出层的转化,本质上也是特质提取。

如动物识别算法,两层的网络,隐藏第一层的特质是毛发,第二层是猫毛or狗毛,输出层是猫or狗,那么也可以说,猫和狗也是图片的一个特征,这属于比较高阶的特征。

那么,每一层的特征提取是怎么做的呢?这其实是相当于一个0层的神经网络,只有输入层和输出层,它可以怎么做?

2,权重矩阵、偏差、超参数

如动物识别算法,输入是32*32像素的3通道的图片,输出是动物分类(分10类)

 其中f一般是根据是现成的,别人研究出来的,W是算法需要计算出来的,而计算的过程中需要一些参数,即超参数。

常见的简单的网络:

 这里的W就是权重矩阵,如果再加上偏差向量b的话,那么W和b都是训练算法需要计算的。

而计算方法,就是根据损失函数进行梯度下降。

3,激活函数

我们用激活函数,来表示不同强度的信号是否激活了神经元。

激活函数

4,梯度下降

(1)逐个梯度下降

(2)批量梯度下降

(3)随机梯度下降

(4)小批量梯度下降法

四,大模型

1,大模型(LLM)

大模型 (Large Language Models, LLM),是指参数数量庞大、拥有大量神经元的深度学习模型,可以进行更复杂、更精细的任务学习和预测,被广泛应用于自然语言处理、计算机视觉、语音识别等领域。

2,提示(Prompt)

简单来说,给大模型的一次输入就是一个Prompt,用好大模型的关键就是Prompt优化。

具体来说,一个提示(Prompt)远不止一个简单的问题,它是一个结构化的输入,可包含多个组成部分 。这些组件共同构成了与模型沟通的完整指令:

  • 指令(Instructions):对模型的核心任务指令,明确告知模型需要执行什么操作 。
  • 主要内容/输入数据(Primary Content/Input Data):模型需要处理的文本或数据,是分析、转换或生成任务的对象 。
  • 示例(Examples/Shots):演示期望的输入-输出行为,为模型提供“上下文学习”(In-Context Learning)的基础 。
  • 线索/输出指示器(Cues/Output Indicators):启动模型输出的引导性词语,或对输出格式(如JSON、Markdown)的明确要求 。
  • 支持性内容(Supporting Content):为模型提供的额外背景信息,帮助其更好地理解任务情境。

3,会话(Session)

用户和大模型之间的对话,类似于用户和客服之间的对话,交流结束之后对话内容就清空了。

可能客户端还能看到对话历史,但是服务端已经没有历史信息了。

这样的一次对话,称为一次会话(Session)

Session里面,服务端可以感知对话历史,Session之间是无法互相感知的。

4,上下文(Context)

Session和Context的概念是息息相关的。

简单来说,Context就是Session里面的所有信息。

做个比喻,Session是一次会议,Context是一篇会议纪要。

5,Prompt和Context的关系、长度限制

举个例子:

(a)用户:prompt是什么意思

(b)AI:“Prompt”这个词在中文里通常翻译为“提示”或者“指令”。在人工智能和编程领域,**prompt**指的是用户给AI模型的输入内容。

(c)用户:举个简单的例子

(d)AI:比如,你想让AI帮你列一个周末的购物清单,你输入的 **prompt** 可以是:  “周末要办烧烤聚会,帮我列一个购物清单,包括食材和饮料。”

在这个例子中,一共有abcd四句话,其中a是Prompt1,c是Prompt2,b和d是模型输出

如果在一个新的Session里面,直接输入c,那大模型是理解不了的,因为没有上下文语境。

所以,实际上输入给大模型的,第一次输入是a,第二次输入是abc

这样,随着Context越来越长,超过某个常数之后,大模型就无法响应了,这个Session就必须结束了。

五,大模型工程

0,Prompt工程(Prompt Engineering)

Prompt Engineering 是一种通过设计与优化提示语(Prompt),引导 AI 模型生成特定响应的实践方法。

从架构的角度来看,Prompt Engineering 可以被视作一种“接口设计”,在用户与模型之间,承担“语义适配层”的角色。

Prompt Engineering并没有太多需要深究的,因为AI发展太快了,很快Prompt Engineering就被Context Engineering替代了。

1,MCP(Model Context Protocol)

昙花一现。

MCP即模型上下文协议,由Anthropic在2024年11月开源发布,核心目标是规范LLM与外部系统的通信方式,解决传统集成中适配爆炸的问题。‌‌

当用户提出请求时,LLM首先分析可用工具,客户端通过MCP Server执行所选工具,再将结果返回LLM整合生成回答,流程类似检索增强生成。

2,Context工程(Context Engineering)

Context Engineering 是比Prompt Engineering更高阶、更侧重于系统设计的必要学科。

Context Engineering 是一门设计、构建并优化动态自动化系统的学科,旨在为大型语言模型在正确的时间、以正确的格式,提供正确的信息和工具,从而可靠、可扩展地完成复杂任务。

新的范畴:

  • 系统级指令和角色设定。
  • 对话历史(短期记忆)。
  • 持久化的用户偏好和事实(长期记忆)。
  • 动态检索的外部数据(例如来自RAG)。
  • 可用的工具(API、函数)及其定义。
  • 期望的输出格式(例如,JSON Schema)。

也就是说,Context Engineering是引导大模型不要只尝试直接给出答案,而是提出使用系统命令、读取外部文件、调用外部接口等需求,作为输入内容的补充

举个例子,大模型规划2点之间的最佳通行方案,如果直接分析,那只能分析空间关系、日期和时间,如果提出调用地图接口,那么就可以补充实时路况,那么规划处的通行发方案自然更佳。

3,AI agent

AI agent是一类产品,核心技术就是Context工程。

2026年3月,龙虾大火,自此进入AI agent的时代,用户不再直接和大模型交互,而是和AI agent交互。

(1)外部功能调用

包括使用系统命令、读取外部文件、调用外部接口等,除了使用Context工程暗示大模型可以提出这种需求之外,当大模型提出这个需求之后,AI agent还需要直接去调用这些外部功能,并自动获取相应的输出,自动组装新的Prompt给大模型。

(2)Context压缩

(2.1)压缩方法一,存盘+重拾记忆

调用了外部功能,尤其是读取一个文档之后,Context的大小就会急剧增加。

举个例子:

(a)用户:帮我规划今晚9点从上海东站到上海南站的自驾路线
(b)AI agent:规划今晚9点从上海东站到上海南站的自驾路线,可以使用外部工具
(c)大模型:获取迎宾高速近5天晚上9点的路况,和此刻的实时路况
(d)AI agent:好的,正在打开百度地图
(e)AI agent:好的,近5天晚上9点的路况和此刻的实时路况是:& ¤§ | °゜¨±·×÷ˇˉˊˋ˙Γb567ΔΘΞΠΣΥΦΨΩ& ¤§ | °゜¨±e5b6bthh·×÷ˇˉˊ5eb6ˋ˙ΓΔΘΞΠΣdsybv6e6b575ΥΦΨΩ& ¤§ | °゜¨±·×÷ˇˉˊˋ˙ΓΔΘΞΠΣΥΦΨv65654Ω& ¤§ | °゜¨±·×÷ˇˉˊˋeb565e˙ΓΔΘΞΠΣΥΦΨΩ& ¤§ | °゜¨±·×÷ˇˉˊˋ˙ΓΔΘΞΠΣΥΦΨΩ
(f)大模型:今晚9点从上海东站到上海南站的最优自驾路线是:fsc6y4yc7n84a8n4y678

每次给大模型的输入都包含了历史对话,也就是说,在f之后,下一次的输入会以abcdefg为前缀,之后的每一次输入都会带上e这个长长的内容。

我们在大模型返回f之后做一次压缩,把abcdef这个前缀压缩成:

(a)用户:帮我规划今晚9点从上海东站到上海南站的自驾路线
(b)AI agent:规划今晚9点从上海东站到上海南站的自驾路线,可以使用外部工具
(c)大模型:获取迎宾高速近5天晚上9点的路况,和此刻的实时路况
(d)AI agent:好的,正在打开百度地图
(e)AI agent:好的,近5天晚上9点的路况和此刻的实时路况是:参考“D:/20260328165730.txt”
(f)大模型:今晚9点从上海东站到上海南站的最优自驾路线是:fsc6y4yc7n84a8n4y678

当下次再次需要使用时D:/20260328165730.txt的内容时,大模型需要输出类似于“我需要读取外部文件D:/20260328165730.txt”的请求,这就是重拾记忆

(2.2)压缩方法二,摘要

实际上,给大模型的输入应该是精简的,上面的示例可以精简成:

(b)AI agent:规划今晚9点从上海东站到上海南站的自驾路线,可以使用外部工具
(c)大模型:获取迎宾高速近5天晚上9点的路况,和此刻的实时路况
(d)AI agent:参考“D:/20260328165730.txt”
(f)大模型:今晚9点从上海东站到上海南站的最优自驾路线是:fsc6y4yc7n84a8n4y678

(2.3)压缩方法三,sub agent

当Context比较长时,AI agent可以让大模型把整个Context做一次摘要。

但是多次摘要的话,就会损失一些重要内容。

更好的解决方案是,把大模型重新训练,支持输出类似于“现在需要启动一个sub agent”的请求,收到这个请求之后,AI agent会拆分出sub agent

4,agent会话

如果我们把直接和大模型的交互称为会话,那可以把只和AI agent的交互称为agent会话。

所以,sub agent其实是从主agent会话中,拆出1个子agent会话

当sub agent退出时,会生成一个返回值,主agent只保留这个返回值,sub agent的整个Context全部删除。类似于一个函数调用,我们只保留返回值,函数内的运算过程和堆栈信息全部释放掉。

六,AI编程

只用大模型去生成代码,效果不尽如人意。

但是使用AI agent,就差强人意了。

我的AI编程实践:

(1)旋转数迷,参考旋转数迷​​​​​​​

(2)线条拼图,参考线条拼图​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值