深入理解AI Agent架构,史上最全解析!赶紧码住!

news2024/11/26 4:26:06

AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望

1. AI Agent(LLM Agent)介绍

1.1. 术语

  • Agent:“代理” 通常是指有意行动的表现。在哲学领域,Agent 可以是人、动物,甚至是具有自主性的概念或实体。
  • AI Agent:AI Agent(人工智能代理)是一种能够感知环境、进行决策和执行动作的智能实体。
  • RPA:RPA(Robotic Process Automation) 即机器人流程自动化,是一种软件自动化技术。RPA 通过模仿人类在电脑上的手动操作,如打开网站、点击鼠标、键盘输入等,实现业务流程的自动化。RPA 系统可以自动处理大量重复的、基于规则的工作流程任务,例如在银行中,纸质文件输入、文件票据验证、从电子邮件和文件中提取数据、跨系统数据迁移、自动化 IT 应用操作等。RPA 的主要优势包括减少劳动成本、提高生产力、出错率低、可监控的操作和开发周期短。它可以在金融、办公自动化、IT 流程自动化等多个领域发挥重要作用。
  • Copilot:即飞机的 “副驾驶”,这里 Copilot 指依托于底层大语言模型(LLM),用户只需说几句话,做出指示,它就可以创建类似人类撰写的文本和其他内容。
  • LangChain:LangChain 是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序,它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 是一个语言模型集成框架,其使用案例与语言模型的使用案例大致重叠,包括文档分析和摘要、聊天机器人和代码分析。
  • LLM:大型语言模型(LLM)是一种人工智能(AI)算法,它使用深度学习技术和大量大型数据集来理解、总结、生成和预测新内容。
  • 感知记忆(Sensory Memory):感知记忆是信息处理的第一个阶段,它涉及对通过感官接收的信息进行短暂的存储。感知记忆通常只持续几百毫秒到几秒。就像你看到一张美丽的风景照片,感知记忆是大脑对刚刚通过感官接收到的信息的短暂存储。比如,你闭上眼睛后,还能在脑海中短暂地 “看到” 那张照片的颜色和形状,这就是感知记忆在起作用。
  • 短期记忆(Short-term memory):短期记忆就像是你的心智工作台,它能够暂时存储和处理少量信息。比如,当你试图记住一个电话号码时,你可能会重复念叨这个号码,直到你拨打它,这就是短期记忆在工作。所有的上下文学习(In-context Learning)都是利用模型的短期记忆来学习。
  • 长期记忆(Long-term memory):长期记忆就像是一个大仓库,能够存储我们的经验、知识和技能,而且这个存储时间可以非常长,甚至是一生。比如,你学会骑自行车的技能,即使多年不骑,你仍然记得怎么骑,这就是长期记忆。Agent 一般通过外部向量存储和快速检索实现。
  • Memory Stream:“记忆” 存储了 Agent 过去的观察、思考和行动序列。正如人脑依靠记忆系统来回溯利用先前的经验制定策略和做出决策一样,Agent 也需要特定的记忆机制来确保其熟练处理一系列连续任务。+ MRKL(Modular Reasoning, Knowledge and Language):MRKL 可以理解为是一种构建 AI 的方式,用于自主代理的神经符号结构,它将推理、知识理解和语言能力作为不同的模块来处理。就像搭积木,每个积木代表 AI 的一个能力,组合在一起就能让 AI 进行复杂的思考和交流。
  • TALM(Tool Augmented Language Models):TOOL 增强的语言模型,是指通过工具或技术来增强的语言处理模型,通常通过微调来实现。例如,一个 AI 聊天机器人,通过接入搜索引擎或其他数据库,能够更准确地回答问题或提供信息。
  • 子目标与分解(Subgoal and decomposition):在解决问题时,Agent 经常会把一个大目标分解成几个小目标(子目标),从而实现对复杂任务的高效处理。比如,准备一顿晚餐,你可能需要先去购物(子目标 1),然后准备食材(子目标 2),最后烹饪(子目标 3)。
  • 反思与完善(Reflection and refinement):Agent 可以对历史的动作进行自我批评和自我反思,从错误中吸取教训,并为未来的步骤进行改进,从而提高最终结果的质量。就像写完一篇文章后,你回顾并修改语法错误或不清晰的表达,使文章更加完善。
  • 思维链(Chain-of-thought, CoT):已成为一种标准的提示技术,用于提高模型在复杂任务中的表现。模型被要求 “一步一步地思考”,将艰巨的任务分解为更小更简单的步骤。思维链将大任务转化为多个可管理的任务,并帮助人们理解模型的思维过程。思维链是解决问题时的逻辑推理过程。比如,你想找出为什么天空是蓝色的,你可能会想:“光是由不同颜色组成的… 蓝色光波短,容易被大气散射… 所以天空看起来是蓝色的。+ 思维树(Tree of Thoughts, ToT):通过在任务的每一步探索多种推理可能性来扩展思维链。它首先将问题分解为多个思考步骤,并在每个步骤中生成多个想法,从而创建一个树状结构。搜索过程可以是 BFS(广度优先搜索)或 DFS(深度优先搜索)。思维村是一种图形化的思维链,它像一棵大树,每个分支代表一个思考的方向或想法,可以帮助我们组织和可视化复杂的思考过程。
  • 自我反思(Self Reflection): 自我反思是指对自己的行为、想法或情感进行深入的思考和分析。就像在一天结束时,回想自己的所作所为,评估自己做得好的地方和需要改进的地方。
  • ReAct:将任务中单独的行为和语言空间组合在一起,从而使大模型的推理和行动融为一体。该模式帮助大模型与环境互动(例如使用维基百科搜索 API),并以自然语言留下推理的痕迹。主要包括:Thought:Action\Observation。
  • Reflexion:一个让 AI Agent 具备动态记忆和自我反思能力以提高推理能力的框架。沿用了 ReAct 中的设置,并提供简单的二进制奖励。每次行动后,AI Agent 都会计算一个启发式函数,并根据自我反思的结果决定是否重置环境以开始新的试验。这个启发式的函数可以判断是否当下的路径效率低下(耗时过长却没有成功)或包含幻觉(在环境中遇到一连串导致相同观察结果的相同行动),并在出现这两种情况下终止函数。
  • Self-ask:Self-ask 可能是指 AI 系统在处理问题时,自主提出问题以引导其思考过程。这类似于人类在面对问题时,会自问:“我接下来应该做什么?” 来推动解决问题的进程。+ 后见链(Chain of Hindsight):通过向模型明确展示一系列过去的输出结果,鼓励模型改进自身的输出结果,使得下一次预测的行动比之前的试验取得更好的成绩。算法蒸馏(Algorithm Distillation)将同样的理念应用于强化学习任务中的跨集轨迹。

1.2. Agent 这个词意义、什么是Agent

1.2.1 Agent由来

有很多人或许会疑惑,Agent 这个东西看起来跟 LLM 也没差得那么远,那为啥最近突然 Agent 那么火,而不称之为 LLM-Application 或者其他的词呢?这就得从 Agent 的来历上说起了,因为 Agent 是个很古老的术语,甚至可以追溯至亚里士多德和休谟等人的言论。从哲学意义上讲,“代理人”是指具有行动能力的实体,而 “代理” 一词则表示这种能力的行使或体现。而从狭义上讲,“代理”通常是指有意行动的表现; 相应地,“代理人” 一词表示拥有欲望、信念、意图和行动能力的实体。需要注意的是,代理人不仅包括人类个体,还包括物理世界和虚拟世界中的其他实体。重要的是,“代理” 的概念涉及个人的自主性,赋予他们行使意志、做出选择和采取行动的能力,而不是被动地对外部刺激做出反应。

在 20 世纪 80 年代中后期之前,主流人工智能界的研究人员对 Agent 相关概念的关注相对较少,这可能会让人感到惊讶。然而,从那时起,计算机科学和人工智能界对这一话题的兴趣就大大增加了。正如 Wooldridge 等人所言,我们可以这样定义人工智能:“它是计算机科学的一个子领域,旨在设计和构建基于计算机的、表现出智能行为各个方面的 Agent。” 因此,我们可以把 Agent 作为人工智能的核心概念。当 Agent 这一概念被引入人工智能领域时,其含义发生了一些变化。在哲学领域,Agent 可以是人、动物,甚至是具有自主性的概念或实体。然而,在人工智能领域,Agent 是一个计算实体。由于意识和欲望等概念对于计算实体来说似乎具有形而上学的性质,而且我们只能观察机器的行为,包括艾伦 - 图灵在内的许多人工智能研究者建议暂时搁置 Agent 是否 “真正” 在思考或是否真的拥有 “思想” 的问题。相反,研究人员采用其他属性来帮助描述 Agent,如自主性、反应性、主动性和社交能力等属性。也有研究者认为,智能是“看人的眼睛”;它不是与生俱来的、孤立的属性。从本质上讲,AI Agent 并不等同于 Philosophy Agent;相反,它是 Agent 这一哲学概念在人工智能领域的具体化。

现在 AI Agent 也没有完全统一的名称,比如 “AI 代理”、“智能代理”、“智能体” 等等叫法,我们可以通过下面的文章还了解一下什么是 AI Agent,以及下了的技术原理及应用场景等。

1.2.2 什么是 AI Agent

AI Agent(人工智能代理)是一种能够感知环境、进行决策和执行动作的智能实体。 不同于传统的人工智能, AI Agent 具备通过独立思考、调用工具去逐步完成给定目标的能力。比如,告诉 AI Agent 帮忙下单一份外卖,它就可以直接调用 APP 选择外卖,再调用支付程序下单支付,无需人类去指定每一步的操作。 Agent 的概念由 Minsky 在其 1986 年出版的《思维的社会》一书中提出,Minsky 认为社会中的某些个体经过协商之后可求得问题的解,这些个体就是 Agent。他还认为 Agent 应具有社会交互性和智能性。 Agent 的概念由此被引入人工智能和计算机领域,并迅速成为研究热点。但苦于数据和算力限制, 想要实现真正智能的 AI Agents 缺乏必要的现实条件。

大语言模型和 AI Agent 的区别在于 AI Agent 可以独立思考并做出行动,和 RPA 的区别在于它能够处理未知环境信息。 ChatGPT 诞生后, AI 从真正意义上具备了和人类进行多轮对话的能力,并且能针对相应问题给出具体回答与建议。 随后各个领域的 “Copilot” 推出,如 Microsoft 365 Copilot、 Microsoft Security Copilot、GitHub Copilot、 Adobe Firefly 等,让 AI 成为了办公、代码、设计等场景的“智能副驾驶”。 AI Agent 和大模型的区别在于:

  • 大模型与人类之间的交互是基于 prompt 实现的,用户 prompt 是否清晰明确会影响大模型回答的效果,例如 ChatGPT 和这些 Copilot 都需要明确任务才能得到有用的回答。
  • AI Agent 的工作仅需给定一个目标,它就能够针对目标独立思考并做出行动,它会根据给定任务详细拆解出每一步的计划步骤,依靠来自外界的反馈和自主思考,自己给自己创建 prompt,来实现目标。如果说 Copilot 是 “副驾驶”,那么 Agent 则可以算得上一个初级的 “主驾驶”。

和传统的 RPA 相比, RPA 只能在给定的情况条件下,根据程序内预设好的流程来进行工作的处理,在出现大量未知信息、难以预测的环境中时, RPA 是无法进行工作的, AI Agent 则可以通过和环境进行交互,感知信息并做出对应的思考和行动。

我们看见的 AI Agent 往往以问答机器人作为交互入口,通过自然语言触发全自动的工作流,中间没有人工介入。由于人只负责发送指令,并不参与对 AI 结果的反馈。

1.2.3 为什么需要 AI Agent

  • LLM 的一些缺点:
    • 会产生幻觉
    • 结果并不总是真实的
    • 对时事的了解有限或一无所知
    • 很难应对复杂的计算
    • 没有行动能力
    • 没有长期记忆能力

比如让 ChatGPT 买一杯咖啡,ChatGPT 给出的反馈一般类似 “无法购买咖啡,它只是一个文字 AI 助手” 之类的回答。但你要告知基于 ChatGPT 的 AI Agent 工具让它买一杯咖啡,它会首先拆解如何才能为你购买一杯咖啡并拟定代用某 APP 下单以及支付等若干步骤,然后按照这些步骤调用 APP 选择外卖,再调用支付程序下单支付,过程无需人类去指定每一步操作。这就是 AI Agent 的用武之地,它可以利用外部工具来克服这些限制。这里的工具是什么呢?工具就是代理用它来完成特定任务的一个插件、一个集成 API、一个代码库等等,例如:

  • Google 搜索:获取最新信息
  • Python REPL:执行代码
  • Wolfram:进行复杂的计算
  • 外部 API:获取特定信息

而 LangChain 则是提供一种通用的框架通过大语言模型的指令来轻松地实现这些工具的调用。我们都知道在执行一个复杂的任务时,我们需要考虑多方面的影响因素,将复杂任务拆分为细小的子任务去执行。AI Agent 的诞生就是为了处理各种复杂任务的,就复杂任务的处理流程而言 AI Agent 主要分为两大类:行动类、规划执行类。总而言之,AI Agent 就是结合大模型能去自动思考、规划、效验和执行的一个计算体,以完成特定的任务目标,如果把大模型比作大脑,那 AI Agent 可以理解为小脑 + 手脚。

1.2.4 AI Agent 对比人类与其它 AI 协同的区别

AI Agent 较日前广泛使用的 Copilot 模式更加独立。对比 AI 与人类的交互模式,目前己从过去的嵌入式工具型 AI (例如 siri)向助理型 AI 发展。目前的各类 AI Copilot 不再是机械地完成人类指令,而是可以参与人类工作流,为诸如编写代码、策划活动、优化流程等事项提供建议,与人类协同完成。而AI Agent 的工作仅需给定一个目标,它就能够针对目标独立思考并做出行动,它会根据给定任务详细拆解出每一步的计划步骤,依靠来自外界的反馈和自主思考,自己给自己创建 prompt,来实现目标。如果说 Copilot 是 “副驾驶”,那么 Agent 则可以算得上一个初级的 “主驾驶”。

1.3 AI Agent 案例

1.3.1. AI 虚拟小镇

临近情人节,生活在名为 “Smallville” 小镇上的咖啡店长伊莎贝拉试图举办一场情人节派对,她邀请了自己的闺蜜玛利亚一起布置派对,而玛利亚得知有这么一场派对后,偷偷邀请了暗恋对象克劳斯一同前往…… 在小镇的同一时间线上,年近六旬的汤姆对小镇即将举办的市长选举有着强烈的兴趣,作为一名对政治格外关心的已婚中年男人,他拒绝了伊莎贝拉的情人节派对邀请。以上情节并未发生在现实世界,但也不是人类编造的虚构剧情,它来自一个由 25 名 AI 角色组成的虚拟小镇。而这个小镇上发生的任何事件,都是 AI 之间通过互动随机生成的结果,目前这个小镇已经井井有条地运转了两天。

1.3.2. AutoGPT 做市场调研

假装自己经营一家鞋公司,给 AutoGPT 下达的命令是对防水鞋进行市场调查,然后让其给出 top5 公司,并报告竞争对手的优缺点 :

  • 首先,AutoGPT 直接去谷歌搜索,然后找防水鞋综合评估 top 5 的公司。一旦找到相关链接,AutoGPT 就会为自己提出一些问题,例如「每双鞋的优缺点是什么、每款排名前 5 的防水鞋的优缺点是什么、男士排名前 5 的防水鞋」等。
  • 之后,AutoGPT 继续分析其他各类网站,并结合谷歌搜索,更新查询,直到对结果满意为止。期间,AutoGPT 能够判断哪些评论可能偏向于伪造,因此它必须验证评论者。

执行过程中,AutoGPT 甚至衍生出自己的子智能体来执行分析网站的任务,找出解决问题的方法,所有工作完全靠自己。结果是,AutoGPT 给出了 top 5 防水鞋公司的一份非常详细的报告,报告包含各个公司的优缺点,此外还给出了一个简明扼要的结论。全程只用了 8 分钟,费用为 10 美分。期间也完全没有优化。

2. AI Agent 的框架

上面介绍了 AI Agent 是什么以及一些案例演示,下面的内容将对 AI Agent 背后的技术进行分析。一个基于大模型的 AI Agent 系统可以拆分为大模型、规划、记忆与工具使用四个组件部分。6 月,OpenAI 的应用研究主管 Lilian Weng 撰写了一篇博客,认为 AI Agent 可能会成为新时代的开端。她提出了 Agent=LLM + 规划技能 + 记忆 + 工具使用的基础架构,其中 LLM 扮演了 Agent 的 “大脑”,在这个系统中提供推理、规划等能力。

2.1. 大模型 + 规划: Agent 的 “大脑”, 通过思维链能力实现任务分解

LLM 具备逻辑推理能力,Agent 可以将 LLM 的逻辑推理能力激发出来。当模型规模足够大的时候,LLM 本身是具备推理能力的。在简单推理问题上,LLM 已经达到了很好的能力;但在复杂推理问题上,LLM 有时还是会出现错误。事实上,很多时候用户无法通过 LLM 获得理想的回答,原因在于 prompt 不够合适,无法激发 LLM 本身的推理能力,通过追加辅助推理的 prompt,可以大幅提升 LLM 的推理效果。在《Large language models are zero-shot reasoners》这篇论文的测试中,在向 LLM 提问的时候追加 “Let’s think step by step” 后,在数学推理测试集 GSM8K 上的推理准确率从 10.4% 提升到了 40.7%。而 Agent 作为智能体代理,能够根据给定的目标自己创建合适的 prompt,可以更好地激发大模型的推理能力。

通常情况下,一项复杂的任务往往涉及许多步骤。AI Agent 需要首先拆解这些步骤,并提前做好计划。任务的分解的环节可以由三种方式完成:1)在大模型输入简单的提示,比如 “XYZ 的步骤”,或者 “实现 XYZ 的子目标是什么?”;2)使用特定任务的指令,比如在需要写小说的时候要求大模型 “写一个故事大纲”;3)通过人工提供信息。当下普遍的技术模式包括思维链和思维树:

思维链(Chain of Thoughts)

思维链(Chain of Thoughts)已成为一种标准的提示技术,用于提高模型在复杂任务中的表现。模型被要求 “一步一步地思考”,将艰巨的任务分解为更小更简单的步骤。思维链将大任务转化为多个可管理的任务,并帮助人们理解模型的思维过程。

以一个数学题为例,标准 Prompting,模型输入:

问:罗杰有5个网球,他又买了两盒网球,每盒有3个网球。他现在有多少网球?
答:答案是11
问:食堂有23个苹果,如果他们用掉20个后又买了6个。他们现在有多少个苹果?
模型输出:
答:答案是27

可以看到模型无法做出正确的回答。但如果说,我们给模型一些关于解题的思路,就像我们数学考试,都会把解题过程写出来再最终得出答案,不然无法得分。CoT 做的就是这件事,示例如下:CoT Prompting,模型输入:

问:罗杰有5个网球,他又买了两盒网球,每盒有3个网球。他现在有多少网球?
答:罗杰一开始有5个网球,2盒3个网球,一共就是2*3=6个网球,5+6=11。答案是11.
问:食堂有23个苹果,如果他们用掉20个后又买了6个。他们现在有多少个苹果?
模型输出:
答:食堂原来有23个苹果,他们用掉20个,所以还有23-20=3个。他们又买了6个,所以现在有6+3=9。答案是9 


可以看到,类似的算术题,思维链提示会在给出答案之前,还会自动给出推理步骤。思维链提示,就是把一个多步骤推理问题,分解成很多个中间步骤,分配给更多的计算量,生成更多的 token,再把这些答案拼接在一起进行求解

思维树(Tree of Thoughts)

思维树(Tree of Thoughts)通过在任务的每一步探索多种推理可能性来扩展思维链。它首先将问题分解为多个思考步骤,并在每个步骤中生成多个想法,从而创建一个树状结构。搜索过程可以是 BFS(广度优先搜索)或 DFS(深度优先搜索)。ToT 做 4 件事:思想分解、思想生成器、状态评估器和搜索算法

ToT Prompt 的例子如下:

假设三位不同的专家来回答这个问题。所有专家都写下他们思考这个问题的第一个步骤,然后与大家分享。然后,所有专家都写下他们思考的下一个步骤并分享。以此类推,直到所有专家写完他们思考的所有步骤。只要大家发现有专家的步骤出错了,就让这位专家离开。请问...

另一方面,试错和纠错在现实世界的任务决策中是不可避免且至关重要的步骤。自我反思帮助 AI Agent 完善过去的行动决策、纠正以前的错误、从而不断改进。当下的技术包括 ReAct、Reflexion、后见链(Chain of Hindsight)等

ReAct(!)

ReAct:将任务中单独的行为和语言空间组合在一起,从而使大模型的推理和行动融为一体。该模式帮助大模型与环境互动(例如使用维基百科搜索 API),并以自然语言留下推理的痕迹。

React 论文《ReAct: Synergizing Reasoning and Acting in Language Models》:react-lm.github.io/

问题:除了Apple遥控器,还有什么其他设备可以控制相关软件?相关软件指的是Apple遥控器最早可以控制的软件。
说明:
1.Apple遥控器最早只能控制Front Row软件。
2.Front Row软件可以被两种设备控制,Apple遥控器和键盘的功能键。
3.所以,正确答案是键盘的功能键。

传统方式1,直接问LLM。得到结果:
iPod。
答案错误,显然是在胡言乱语。因为LLM的内容生成,是根据之前所有的字预测后续内容,所以,我推测,出现这个结果很可能因为,LLM其实并不知道相关答案,只是Apple遥控器和iPod的语义很接近,所以才得出iPod这个结论。

传统方法2,思维链。得到结果:
想法:让我们一步一步思考这个问题。Apple遥控器可以控制Apple电视。Apple电视可以被iPhone、iPad和iPod Touch控制。
答案:iPhone、iPad和iPod Touch控制。
答案错误,思维链范式,其实也是在胡编,因为它不知道答案。

传统方法3,动作范式。得到结果:
动作1:搜索【Apple 遥控器】
结果1:Apple遥控器是一种遥控器……最早可以控制“Front Row”……

动作2:搜索【Front Row】
结果2:无结果

动作3:搜索【Front Row软件】
结果3:FrontRow是一种过时软件……

动作4:完成【是的】
答案错误,动作范式,即隐式推理,也没有得到正确答案。不难理解,隐式推理对LLM的推理能力要求很高,因为他会隐去思考过程。我觉得当LLM推理能力达到一定程度时,应该也能得出正确答案。

ReAct方法,即推理+动作。得到结果:
想法1:我需要搜索Apple遥控器,并找到Apple遥控器最早可以控制的软件。
动作1:搜索【Apple 遥控器】
结果1:Apple遥控器是一种遥控器……最早可以控制“Front Row”……

想法2:Apple遥控器最早可以控制Front Row。我需要搜索Front Row下一步,找出还有什么其他设备可以控制他
动作2:搜索【Front Row】
结果2:无结果,可以试试“Front Row Seat to Earth”和“Front Row软件”

想法3:Front Row没有找到,我可以搜索“Front Row软件”
动作3:搜索【Front Row软件】
结果3:FrontRow是一种过时软件……可以被Apple遥控器和键盘功能键控制。

想法4:现在我知道答案了。
动作4:完成【键盘功能键】
答案正确。通过显式推理,加上动作,LLM Agent自主找到了答案。整个过程感觉就像是个不是特别聪明的孩子,要把想法写出来,然后去综合所有想法和观察,接着再做出相应的动作。但显然这个方法很有效,它最终找到了答案。



Reflexion

Reflexion:一个让 AI Agent 具备动态记忆和自我反思能力以提高推理能力的框架。沿用了 ReAct 中的设置,并提供简单的二进制奖励。每次行动后,AI Agent 都会计算一个启发式函数,并根据自我反思的结果决定是否重置环境以开始新的试验。这个启发式的函数可以判断是否当下的路径效率低下(耗时过长却没有成功)或包含幻觉(在环境中遇到一连串导致相同观察结果的相同行动),并在出现这两种情况下终止函数。

2.2. 记忆:用有限的上下文长度实现更多的记忆

记忆模块负责存储信息,包括过去的交互、学习到的知识,甚至是临时的任务信息。对于一个智能体来说,有效的记忆机制能够保障它在面对新的或复杂的情况时,调用以往的经验和知识。例如,一个具备记忆功能的聊天机器人可以记住用户的偏好或先前的对话内容,从而提供更个性化和连贯的交流体验。

对 AI 智能体系统的输入会成为系统的记忆,与人类的记忆模式可实现一一映射。记忆可以定义为用于获取、存储、保留以及随后检索信息的过程。人脑中有多种记忆类型,如感觉记忆、短期记忆和长期记忆。而对于 AI Agent 系统而言,用户在与其交互过程中产生的内容都可以认为是 Agent 的记忆,和人类记忆的模式能够产生对应关系。感觉记忆就是作为学习嵌入表示的原始输入,包括文本、图像或其他模态;短期记忆就是上下文,受到有限的上下文窗口长度的限制;长期记忆则可以认为是 Agent 在工作时需要查询的外部向量数据库,可通过快速检索进行访问。目前 Agent 主要是利用外部的长期记忆,来完成很多的复杂任务,比如阅读 PDF、联网搜索实时新闻等。任务与结果会储存在记忆模块中,当信息被调用时,储存在记忆中的信息会回到与用户的对话中,由此创造出更加紧密的上下文环境。

为了解决有限记忆时间的限制,通常会用到外部存储器。常见的做法是将信息的嵌入表示保存到可支持快速的最大内积搜索(MIPS)的向量存储数据库中。向量数据库通过将数据转化为向量存储,解决大模型海量知识的存储、检索、匹配问题。向量是 AI 理解世界的通用数据形式,大模型需要大量的数据进行训练,以获取丰富的语义和上下文信息,导致了数据量的指数级增长。向量数据库利用人工智能中的 Embedding 方法,将图像、音视频等非结构化数据抽象、转换为多维向量,由此可以结构化地在向量数据库中进行管理,从而实现快速、高效的数据存储和检索过程,赋予了 Agent“长期记忆”。同时,将高维空间中的多模态数据映射到低维空间的向量,也能大幅降低存储和计算的成本,向量数据库的存储成本比存到神经网络的成本要低 2 到 4 个数量级。

Embedding 技术和向量相似度计算是向量数据库的核心。Embedding 技术是一种将图像、音视频等非结构化数据转化为计算机能够识别的语言的方法,例如常见的地图就是对于现实地理的 Embedding,现实的地理地形的信息其实远远超过三维,但是地图通过颜色和等高线等来最大化表现现实的地理信息。在通过 Embedding 技术将非结构化数据例如文本数据转化为向量后,就可以通过数学方法来计算两个向量之间的相似度,即可实现对文本的比较。向量数据库强大的检索功能就是基于向量相似度计算而达成的,通过相似性检索特性,针对相似的问题找出近似匹配的结果,是一种模糊匹配的检索,没有标准的准确答案,进而更高效地支撑更广泛的应用场景。

2.3. 工具:懂得使用工具才会更像人类

AI Agent 与大模型的一大区别在于能够使用外部工具拓展模型能力。懂得使用工具是人类最显著和最独特的地方,同样地,也可以为大模型配备外部工具来让模型完成原本无法完成的工作。ChatGPT 的一大缺点在于,其训练数据只截止到了 2021 年底,对于更新一些的知识内容它无法直接做出回答。虽然后续 OpenAI 为 ChatGPT 更新了插件功能,能够调用浏览器插件来访问最新的信息,但是需要用户来针对问题指定是否需要使用插件,无法做到完全自然的回答。AI Agent 则具备了自主调用工具的能力,在获取到每一步子任务的工作后,Agent 都会判断是否需要通过调用外部工具来完成该子任务,并在完成后获取该外部工具返回的信息提供给 LLM,进行下一步子任务的工作。OpenAI 也在 6 月为 GPT-4 和 GPT-3.5 更新了函数调用的功能,开发者现在可以向这两个大模型描述函数,并让模型智能地选择输出包含调用这些函数的参数的 JSON 对象。这是一种更可靠地将 GPT 的功能与外部工具和 API 相连的新方法,允许开发者更可靠地从模型中获得结构化的数据,为 AI 开发者提供了方便。实现调用工具的方法就是编写大量的工具调用数据集来进行模型的微调。

总结一下 AI Agent 的原理主要包括感知、分析、决策和执行四大能力。这些能力相互协同,构成了 AI Agent 的基本工作原理。首先是感知能力,通过传感器获取外部环境的信息,使 AI Agent 能够对周围的情况有所了解。其次是分析能力,通过对感知到的信息进行分析和处理,提取有用的特征和模式。然后是决策能力,AI Agent 基于分析结果进行决策,制定相应的行动计划。最后是执行能力,将决策转化为具体的行动,实现任务的完成。这四大能力相互配合,使得 AI Agent 能够在复杂的环境中高效地运行和执行任务。

3. AI Agent 的应用进展

3.1. AutoGPT:推动 AI Agent 研究热潮

AutoGPT 将 AI Agent 概念带 “出圈” 。 2023 年 3 月, 开发人员 Significant Ggravitas 在 GitHub 上发布了开源项目 AutoGPT,它以 GPT-4 为驱动基础, 允许 AI 自主行动,完全无需用户提示每个操作。给 AutoGPT 提出目标,它就能够自主去分解任务、执行操作、完成任务。 AutoGPT 仍存在成本高、响应慢、出现死循环 bug 等缺点。 Auto-GPT 采用的是 GPT-3.5 和 GPT-4 的 API, 而 GPT-4 的单个 token 价格为 GPT-3.5 的 15 倍。 假设每次任务需要 20 个 step(理想状况下),每个 step 会花费 4K tokens 的 GPT-4 使用量, prompt 和回复的平均每一千 tokens 花费是 0.05 美元(因为实际使用中回复使用的 token 远远多于 prompt),假设汇率为 1 美元 = 7 人民币,那么花费就是 20_4_0.05*7=28 元人民币。而这仅是理想状况下,正常使用中经常出现需要拆分出几十上百个 step 的任务,这时单个任务的处理成本就会难以接受。而且 GPT-4 的响应速度远远慢于 GPT-3.5,导致 step 一多的时候任务处理会变得很慢。并且 AutoGPT 在遇到 GPT-4 无法解决的 step 问题时,就会陷入死循环中,不断重复没有意义的 prompt 和输出,造成大量的资源浪费和损失。

3.2. 游戏领域应用:西部世界小镇

斯坦福西部世界小镇首次创造了多个智能体生活的虚拟环境。 2023 年 4 月, 斯坦福大学的研究者们发表了名为《 Generative Agents: Interactive Simulacra of Human Behavior》 的论文,展示了一个由生成代理( Generative Agents)组成的虚拟西部小镇。 这是一个交互式的沙盒环境,在小镇上,生活着 25 个可以模拟人类行为的生成式 AI Agent。它们会在公园里散步,在咖啡馆喝咖啡,和同事分享当天的新闻。 甚至一个智能体想举办情人节排队,这些智能体在接下来的两天里,会自动传播派对邀请的消息,结识新朋友,互相约对方一起去派对,还会彼此协调时间,在正确的时间一起出现在派对上。 这种 Agent 具有类似人的特质、独立决策和长期记忆等功能,它们更接近于 “原生 AI Agent”。在这种合作模式下, Agent 不仅仅是为人类服务的工具,它们也能够在数字世界中与其他 Agent 建立社交关系。

西部世界小镇中 Agents 的架构 记忆流包含大量的观察、检索过程记忆流是西部世界小镇中 AI Agents 的架构核心。 小镇中的 Agents 包含三大重要的基本要素:记忆、反思和规划,相比前面提到的几个核心组件略有调整。这三大基本要素都基于一个核心:记忆流( Memory Stream),记忆流存储了 Agent 的所有经历记录,是一个包含了多个观察的列表,每个观察都包含了事件描述、创建时间以及最近一次访问的时间戳, 观察可以是 Agent 自己的行为或从其他人那里感知到的行为。为了检索最重要的记忆以传递给语言模型,研究者确定了检索过程中需要考虑的三个因素:最近性、重要性和相关性。通过确定每条记忆基于这三个因素的分数,最后加总起来得到权重最高的记忆,作为 prompt 的一部分传递给大模型,以此来决定 Agent 的下一步动作。反思和规划都是基于记忆流中的观察来进行更新与创建的。

3.3. HyperWrite:推出首个个人 AI 助理 Agent

HyperWrite 推出首个个人 AI 助理 Agent。 2023 年 8 月 3 日, 人工智能初创公司 HyperWrite 正式推出了 AI Agent 的应用 Personal Assistant,希望可以成为人类的 “数字助手”。 作为 HyperWrite 的投资者,生成式 AI 初创企业 Cohere 联合创始人 Aidan Gomez 表示:“我们将开始第一次看到真正的个人 AI 助理” 。作为个人助理 Agent,它可以帮助用户整理邮箱并起草回复、帮助用户订机票、订外卖、整理领英上适合的简历等,将 AI 能力无缝接入到用户的日常生活和工作流中。目前该工具还处于试用阶段,主要适用于网页浏览器场景。

Personal Assistant 可以自主在浏览器中完成指定任务。 Personal Assistant 现在是以浏览器拓展插件的形式来提供服务的,用户在安装完插件并注册账户后即可开始试用。其初始页面类似于 New Bing 这样的搜索引擎,仅提供一个自然语言交互的聊天框。用户输入其想要完成的目标后,该插件就会新建一个浏览器页面,并在页面以侧边栏形式展示其进行的每一步操作与思路。以 “给我一些美国现在关于 AI Agent 的新观点” 这一目标为例,该个人助理会先去进行相关的搜索,然后打开相关的文章页面进行阅读并总结观点,在完成阅读和总结后,它会将结果汇总并返回到聊天框中,整体用时约为 2 分钟。目前个人 AI 助理能力仍旧有限,但潜力可期。

目前 HyperWrite Personal Assistant 仅为 0.01 版本,其功能仍相对有限,也存在一些出错的问题,并且响应过程也较为缓慢。但我们认为, AI Agent 自此迈出了走向个人消费者领域的第一步,随着未来大模型能力的进一步提升,以及算力基础设施的不断普惠,个人 AI 助理的发展潜力值得期待。

3.4. ModelScopeGPT:国内大模型调用工具

ModelScopeGPT 是阿里云 MaaS 范式在模型使用层的重要映射,旨在建立大模型生态。 阿里云表示,构建 ModelScopeGPT 的数据集和训练方案将会对外开放,供开发者自行调用,开发者可以根据需要对不同的大模型和小模型进行组合, 帮助开发者多、快、好、省地使用大模型。 目前在 AI 开发者圈,魔搭社区已成中国大模型第一门户。所有模型生产者都可以上传自己的模型,验证模型的技术能力和商业化模式,并与其他社区模型进行协作,共同探索模型应用场景。ModelScopeGPT 则实现了将模型生产力进行自由组合,继续强化阿里云在大模型生态建设中的领先地位。

3.5. Inflection AI: 高情商个人 AI — Pi

Inflection AI 推出主打情感陪伴的个人 AI——Pi。 Inflection AI 是一家成立于 2022 年的人工智能初创公司,目前公司的估值已经突破 40 亿美元,在人工智能领域仅次于 OpenAI。在 2023 年 5 月,公司推出了旗下的个人 AI 产品 Pi。 与 ChatGPT 不同, Pi 从未以专业性与替代人工作为宣传。它不能写代码,也不能帮我们生产原创内容,与时下流行的通用聊天机器人相反, Pi 只能进行友好的对话,提供简洁的建议,甚至只是倾听。它的主要特征是富有同情心、 谦虚好奇、幽默创新,具有良好的情商,可以根据用户的独特兴趣和需求提供无限的知识与陪伴。 Inflection 自开发 Pi 开始,就确定了 Pi 将作为个人智能( Personal Intelligence) ,而不仅仅是辅助人工作的工具。

Pi 的核心是公司研发的 Inflection-1 大模型,性能媲美 GPT-3.5。 Inflection-1 是 Inflection AI 推出的大模型,根据公司的评估测试, Inflection-1 在多任务语言理解、常识问题等多项测试中的性能都略胜于 GPT-3.5、 LLaMA 等常用的大模型,但在代码能力上要落后于 GPT-3.5。不过这是公司的差异化竞争所在, Pi 作为一个以情感陪伴为主的 Agent 并不需要拥有很强的代码和辅助工作能力。

和辅助工作的 Agent 不同, Pi 能够满足更多的情感陪伴需求。作为一个具有高情商的 AI Agent,Pi 能够以更加日常和生活化的语言和用户进行交流,而不是以一个冰冷的工作 AI 的口吻。 Pi 的回复非常贴近生活, 语气十分得体,而它对你当下状态和事态发展的关心就像心理医生或者你最好的朋友。当 Pi 在回复可能带有负面情绪的问题时,它也会避免使用任何俏皮的表情或者轻快的口吻去冒犯用户。 它甚至会在回复中使用 emoji,让用户觉得更像是和真正的人类在进行对话一样。Pi 还能够记住与用户的对话内容,并随着时间的推移而更加了解用户。 Pi 的出现,弥补了传统型人工智能对人类情绪欲望的忽视。我们认为,类似于 Pi 这样能够提供情绪价值的个人 AI Agent 存在着较大的市场空间。

3.6. AgentBench: LLM 的 Agent 能力评估标准

AgentBench 评价 LLM 作为 Agent 的能力 常用的 LLM 的 Agent 能力排名 清华大学联合团队提出世界首个大模型 AI Agent 能力的评估标准。 尽管当前 AI 智能体研究异常火热,但 AI 行业缺乏一个系统化和标准化的基准来评估 LLM 作为 Agent 的智能水平。 2023 年 8 月, 清华大学、俄亥俄州立大学、加州大学伯克利分校的研究团队便提出了首个系统性的基准测试——AgentBench,用来评估 LLM 作为 Agent 在各种真实世界挑战和 8 个不同环境中的能力表现(如推理和决策能力)。 这 8 个环境分别是:操作系统、数据库、知识图谱、卡牌对战游戏、家务事、横向思维谜题、 网络购物、网页浏览。基于这 8 个环境,研究团队设计了不同的真实世界挑战,涵盖了代码场景和生活场景,比如用 SQL 语言从一些表格里提取需要的数、 玩卡牌游戏取得胜利、从网页预订机票等。

GPT-4 性能遥遥领先,开源模型能力显著弱于闭源模型。 研究者选择了 25 种主流的大模型 API 来进行 Agent 能力评估,涵盖了闭源模型(如 OpenAI 的 GPT-4、 GPT-3.5 等)和开源模型( LLaMA 2 和 Baichuan 等)。 根据测试结果来看, GPT-4 基本上在所有环境中都占据领先地位,是名副其实的当前大模型能力边界。 闭源模型 Anthropic 的 Claude 以及 OpenAI 的 GPT-3.5 水平相差不大,而常见的一些开源模型 Vicuna、 Dolly 等由于尺寸和闭源模型相差了至少一个数量级,性能评估显著较弱。 我们认为,虽然 LLM 能够在自然语言交流等 NLP 上达到基本的类人水平,但在关注行动有效性、上下文长度记忆、多轮对话一致性和代码生成执行等 Agent 重要能力上的表现仍旧相对落后,基于 LLM 的 AI Agent 的发展空间仍具潜力。

3.7 AI Agent 在安全业务里应用场景

目前在网络安全垂直领域中,还是以 Microsoft Security Copilot 为主要产品形态的形势出现,还是以 “副驾” 来作为定位,还没有出现安全业务中的 AI Agent,但相信不久一定会有病毒分析的 AI Agent、红军 AI Agent、蓝军 AI Agent 等等。

4. AI Agent 未来发展趋势判断

结合目前学术界和产业界基于 LLM 开发的 AI Agent 应用情况,我们将目前 AI Agent 划分为两大类:

  • 自主智能体,力图实现复杂流程自动化。当给定自主智能体一个目标时,它们能自行创建任务、完任务、创建新任务、重新确定任务列表的优先级、完成新的首要任务,并不断重复这个过程,直到完成目标。准确度要求高,因而更需要外部工具辅助减少大模型不确定性的负面影响。
  • 智能体模拟,力图更加拟人可信。 分为强调情感情商的智能体以及强调交互的智能体,后者往往是在多智能体环境中,可能涌现出超越设计者规划的场景和能力,大模型生成的不确定性反而成为优势,多样性使其有望成为 AIGC 重要组成部分。

《AIGC 应用层十大趋势》报告中调研表明,所有企业都认为 AI Agent 是 AIGC 发展的确定性方向,50% 的企业已经在某项工作中进行了 AI Agent 的试点,另有 34% 的企业正在制定 AI Agent 的应用计划。这个报告,也对 AI Agent 发展趋势做了两点预测:AI Agent 让 “人机协同” 成为新常态,个人与企业步入 AI 助理时代。AI Agent 能够帮助未来企业构建以 “人机协同” 为核心的智能化运营新常态。AI Agent 变革未来生产力的组织形式,对抗组织熵增。未来企业工作任务将在 AIGC 的助推作用下变得日益原子化和碎片化,复杂的流程将被无限拆解,再进行灵活的编排和组合,每个环节的效能和潜力都将被 AI 持续挖掘。从供给端看,“人 + AI 数字员工”的高效协同模式将为大型企业对抗组织熵增提供理想的解法。

4.1. 自主智能体:自动化,新一轮生产力革命

自主智能体,力图实现复杂流程自动化。真格基金管理合伙人戴雨森将 AI 和人类协作的程度类比为自动驾驶的不同阶段, AI Agent 约为自动驾驶的 L4 阶段, Agent 完成任务,人进行外部辅助和监督。自主智能体有望带来软件行业交互方式和商业模式变革:

  • 交互方式变革: 相比过去的 APP / 软件,从人适应应用变成应用适应人, Agent 的决策 / 规划 / 执行等环节需要更深的用户需求理解以及更强的工程细节打磨。如目前 Agent 运行中常常遇见无休止的扩展、误解输出格式等问题,这类问题不单单依靠大模型能力提升,对 Agent 架构的设计和垂类数据的学习也有要求。
  • 商业模式变革: 按服务内容收费转换成按 token 收费,对 Agent 功能实用性要求更高。基座大模型能力固然重要,但其只能解决下限问题,在实际企业应用场景中自主智能体的架构设计、工程能力、垂类数据质量等也至关重要,垂类 / 中间件玩家亦有机会。 准确度和效率是自主智能体重要指标(决策式 AI 更擅长做的事,也意味着更低的容错度),企业对于低门槛定制 AGENT 也存在需求,专注具体领域 / 提供 AGENT 框架的玩家仍有可为。

典型代表:

  • AutoGPT
  • 代码开发类 GPT Engineer
  • 科研类 GPT Researcher
  • 创作类 ShortGPT+ 多智能体: AGENT 团队完成复杂开发任务,如 MetaGPT、AutoGEN

4.2. 智能体模拟:拟人化,新的精神消费品

陪伴类智能体强调情感情商等人类特征,具有 “人格”,且能够记住与用户的历史交流。

  1. LLM 在自然语言理解能力上的重要突破使陪伴类智能体在技术上成为可能,
  2. GPT4 在情商上显著高于以往其他大模型,随着大模型情商迭代、多模态技术发展,有望出现更加立体拟人可信、能够提供较高情绪价值的陪伴智能体。

研究机构认为国内情绪消费市场仍有较大想象空间(社会婚姻观念转变、现代工作生活节奏紧张下,国民孤独感增加),陪伴类智能体或受益于情绪消费趋势红利,成为 LLM 时代重要的 AI 原生应用。从用户陪伴性需求的第一性原理出发, 我们预计陪伴类智能体大部分商业价值集中在 IP 上, 基于此我们更加看好当前具备丰富 IP 储备或者能让用户定制智能体的玩家:

  • 参考人的陪伴: 陌生人社交和秀场直播属于线上陪伴代表性应用,前者核心问题在于用户间建立一定情感联系后会转到最常用的社交平台,后者用户价值会逐渐集中到头部主播,而非平台。
  • 参考物的陪伴: 潮玩等消费品有一定的陪伴属性,受众大部分支出花在自己喜欢的 IP。典型代表:
    • 陪伴类:高情商、具备人格特征,如 Pi
    • 平台化娱乐化,如 Character.AI、 Glow 等
    • 游戏世界 AI 玩家,如 Voyager+ Smallville 小镇,类西部世界的模拟社会+ 网易《逆水寒》 手游, AI NPC 提高玩家体验
    • 昆仑万维《Club Koala》 虚拟世界更可信

4. 总结

至此,本文的探讨已圆满落幕,我们深入剖析了AI Agent这一前沿科技领域的全貌。从基础概念的澄清,到技术原理的细致解构,再跨越至丰富多样的应用场景探索,直至展望其激动人心的未来发展趋势,每一步都凝聚着对AI Agent技术潜力的无限憧憬。诚然,文中提及的诸多项目尚处于学术研究与实践探索的初期阶段,以论文形式呈现的实验性成果,恰似璀璨星辰,预示着大模型技术未来航向的无限可能。这些星星之火,或将点燃AI应用的燎原之势,催生出前所未见的新领域、新机遇,为社会的每一个角落注入智能的活力。

展望未来,AI Agent技术有望在未来五年内实现跨越式发展,其普及程度将远超预期,深刻渗透并重塑千行百业的运作模式。我们期待,这一技术不仅能够在效率上实现质的飞跃,为传统行业带来颠覆性的改变,更能作为创新驱动的核心力量,开启一个智能互联、高效协同的新时代。让我们共同见证,AI Agent技术如何携手各行各业,绘制出一幅幅生动绚丽的智能未来图景。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络 ---- 电路交换、报文交换、分组交换

目录 零、前言 一、计算机网络发展初期面临的问题 1.1 电路交换的主要特点【电话网络采用电路交换技术】 1.1.1 电路交换的基本知识介绍 1.1.2 电路交换的优缺点 1.3 报文交换技术的特点【电报网络采用报文交换技术】 1.3.1 报文交换的基本知识介绍 1.3.2 报文交换技术…

中国企业500强!最新名单揭晓→

9月11日,在2024中国500强企业高峰论坛上,中国企业联合会、中国企业家协会连续第23次向社会发布了“中国企业500强”榜单。 01 营收规模迈上新台阶 2024中国企业500强营业收入迈上新台阶,突破了110万亿元大关,达110.07万亿元&…

【算法】哈希表相关

【ps】本篇有 5 道 leetcode OJ。 一、算法简介 哈希表是一种存储数据的容器,可以快速查找某个元素,其查找的时间复杂度为 O(1),非常合适需要频繁查找某一个元素的场景。其具体用法为: 直接使用底层为哈希表的 STL 容器。用数组…

【一起学Rust | 进阶篇】使用Bon快速生成builder,提高代码质量

文章目录 前言一、安装Bon二、使用步骤1.为方法实现builder2.实现关联方法的builder3. 为结构体实现builder4. Option<T>字段成为可选项5. 实现Into转化 参考文档 前言 在 Rust 编程语言中&#xff0c;除了广为人知的单例模式之外&#xff0c;工厂模式也是极为容易见到的…

智能制造云平台---附源码79117

目 录 摘要 1 绪论 1.1 研究背景和意义 1.2开发技术 1.2.1 Flask框架 1.2.2 Python简介 1.2.3 MySQL数据库 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2总体设计原则 2.3 系统流程分析 2.3.1 用户登录流程 2.3.2 删除信息流程 2.4 系统角色分析 2.5 系…

微信小程序 - 最新将页面可分享到朋友圈功能,小程序实现分享到朋友圈功能,开启分享给好友及分享朋友圈功能(微信小程序怎么分享到朋友圈?详细流程及示例代码教程)

前言 没有设置过分享朋友圈功能的小程序,分享朋友圈按钮是灰色且无法点击。 在微信小程序开发中,详解实现把页面开启朋友圈分享功能,解决 “当前页面未设置分享” 且灰色无法点击问题,微信小程序开发中的微信分享和朋友圈分享设置,提供详细代码。 小程序 vue2 | vue3 版本…

yum下载软件失败:‘Could not resolve host: mirrorlist .centos .org; Unknowm error

Loaded plugins: fastestmirror, ovl Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknow…

Games101图形学学习笔记——图形学基础

这里写目录标题 图形学基础线性代数Vector向量向量的点乘向量的叉乘 矩阵 Transform3D变换视图/相机变换 正交投影和透视投影正交投影透视投影 图形学基础 基础数学&#xff1a;线性代数&#xff0c;几何 基础物理&#xff1a;力学&#xff0c;光学 其他&#xff1a;信号处理&…

代码随想录训练营 Day56打卡 图论part06 108. 冗余连接 109. 冗余连接II

代码随想录训练营 Day56打卡 图论part06 一、卡码108. 冗余连接 题目描述 有一个图&#xff0c;它是一棵树&#xff0c;他是拥有 n 个节点&#xff08;节点编号1到n&#xff09;和 n - 1 条边的连通无环无向图&#xff08;其实就是一个线形图&#xff09;&#xff0c;如图&…

Java面试篇基础部分-Java的类加载机制

JVM的类加载 JVM在运行Java文件的时候,类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化加载完成之后,就可以使用这个类的信息了。当这个类不需要使用的时候,就可以从JVM进行卸载。 加载 加载是指JVM读取Class文件的操作,并且根据Class的文件描述创建对应的…

工厂安灯系统在优化生产流程上的优势丨深圳讯鹏科技

工厂安灯系统通过可视化的方式&#xff0c;帮助工厂管理者和操作工人及时了解生产状态&#xff0c;快速响应问题&#xff0c;从而优化生产流程。 一、安灯系统实时监控与反馈 安灯系统的核心功能是实时监控生产线的状态。通过在生产现场设置灯光、显示屏等设备&#xff0c;工人…

单片机拍照_将采集的RGB图像封装为BMP格式保存到SD卡

文章目录 一、前言二、BMP文件结构2.1 BMP图片的格式说明 2.2 RGB888与RGB565格式是什么&#xff1f;&#xff08;1&#xff09;RGB565&#xff08;2&#xff09;RGB888&#xff08;3&#xff09;区别&#xff08;4&#xff09;如何构成&#xff08;5&#xff09;示例 三、实现…

yolo训练出现Could not load library libcudnn_cnn_train.so.8问题及解决方法

问题场景&#xff1a; 训练yolov5或者yolov8时候会报错&#xff1a; Could not load library libcudnn_cnn_train.so.8. Error: /usr/local/cuda-12.1/lib64/libcudnn_cnn_train.so.8: uined symbol: _ZN5cudnn3cnn34layerNormFwd_execute_internal_implERKNS_7backend11Vari…

【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效

经过测试发现&#xff0c;只有XLS&#xff0c;ColumnWidth注解才会生效&#xff0c;选择CSV和XLSX都不会生效 //对应的导出实体类 EasyExcel.write(outputStream, Result.class)//excel文件类型&#xff0c;包括CSV、XLS、XLSX.excelType(ExcelTypeEnum.XLS)

当你学会了Python,随手爬取电影榜单!

一、爬电影TOP250 python爬取电影TOP250数据&#xff01; 首先&#xff0c;打开电影TOP250的页面&#xff1a; https://movie.douban.com/top250 开发好python代码后&#xff0c;成功后的csv数据&#xff0c;如下&#xff1a; 代码是怎样实现的爬取呢&#xff1f;下面逐一讲…

计算机网络相关概念

名词解释&#xff1a; 1.ARPANET ARPANET&#xff08;Advanced Research Projects Agency Network&#xff09;是由美国国防部高级研究计划局&#xff08;ARPA&#xff09;在1969年启动的一个实验性计算机网络项目。它是世界上第一个分组交换网络&#xff0c;也是互联网的前身…

springboot《计算机网络》在线考试系统-计算机毕业设计源码22248

摘要 计算机网络课程是计算机科学与技术、信息技术及相关专业的一门重要课程。然而&#xff0c;在传统的教育模式下&#xff0c;计算机网络课程的考核方式多以纸质试卷为主&#xff0c;这种方式存在诸多弊端。一方面&#xff0c;试卷的编制、印刷、分发、收缴等环节耗时耗力&am…

遗传算法求解VRP路径规划问题

文章目录 题目&#xff1a;快递公司送货策略VRP问题简介遗传算法项目地址代码说明代码结构求解流程举例求解目标求解步骤 总结 打数模国赛前拿来练手的题&#xff0c;现在题目求解思路分享给大家&#xff0c;包括 所有源代码 和 高清pdf论文&#xff0c;希望能对大家有所帮助…

多线程篇(其它容器- CopyOnWriteArrayList)(持续更新迭代)

一、CopyOnWriteArrayList&#xff08;一&#xff09; 1. 简介 并发包中的并发List只有CopyOnWriteArrayList。 CopyOnWriteArrayList是一个线程安全的ArrayList&#xff0c;对其进行的修改操作都是在底层的一个复制的数 组&#xff08;快照&#xff09;上进行的&#xff0…