Agent 概念学习

Agent 概念学习

什么是 Agent

  • OpenAI的研究员 Lilian 写过一篇博客:《 LLM Powered Autonomous Agents》,将 Agents 定义为:LLM + memory + planning skills + tool use,即大语言模型、记忆、任务规划、工具使用的集合

  • 在这里插入图片描述

  • Overview of a LLM-powered autonomous agent system.

  • 大语言模型 (LLM)是 Agent 的大脑,要求 Agent 具备以下 3 种能力来配合大脑完成任务:

    • 任务规划(planning skills):对问题进行拆解得到解决路径,既进行任务规划。
    • 工具使用(tool use):评估自己所需的工具,进行工具选择,并生成调用工具请求。
    • 记忆(memory):短期记忆包括工具的返回值,已经完成的推理路径;长期记忆包括可访问的外部长期存储,例如知识库

任务规划

  • 子目标 & 拆解(Subgoal and decomposition) :我们处理问题的时候会采用“分治”的思想,将复杂任务拆解成一个个小任务处理。这个在 Agent 的实现中也是一样,一个复杂任务不太可能一次性就能解决的,需要拆分成多个并行或串行的子任务来进行求解,从而提升处理复杂问题的能力。

  • 反思 & 完善(Reflection and refinement) :Agent 能够对过去的行动决策进行自我反思,完善过去的行动决策和纠正以前的错误来迭代改进。ReAct 提示词技术就是很经典的反思和完善过程。结合 ReAct 提示词技术的 Agent 会在执行下一步action的时候,加上 LLM 自己的思考过程,并将思考过程、执行的工具及参数、执行的结果放到 prompt 中,让 LLM 对当前和先前的任务完成度有更好的反思能力,从而提升模型的问题解决能力。

  • ReAct 的提示模板,大致格式如下:

  • Thought: ... 
    Action: ... 
    Observation: ... 
    ...(重复以上过程)
    

记忆

  • 记忆可以定义为用于获取、存储、保留以及随后检索信息的过程。人脑中的记忆可以划分为:
    • 感知记忆(Sensory Memory) :这是记忆的最早阶段,提供在原始刺激结束后保留感觉信息(视觉、听觉等)印象的能力。感知记忆通常只能持续几秒钟。子类别包括图像记忆(视觉)、回声记忆(听觉)和触觉记忆(触摸)。感知记忆作为原始输入的学习嵌入表示,包括文本、图像或其他形式。
    • 短期记忆(Short-Term Memory (STM) ) :它存储我们当前意识到的以及执行学习和推理等复杂认知任务所需的信息。
    • 长期记忆(Long-Term Memory (LTM)) :长期记忆可以存储相当长的时间信息,从几天到几十年不等,存储容量基本上是无限的。 LTM 有两种亚型:
      • 外显/陈述性记忆:这是对事实和事件的记忆,是指那些可以有意识地回忆起来的记忆,包括情景记忆(事件和经历)和语义记忆(事实和概念)。
      • 内隐/程序性记忆:这种类型的记忆是无意识的,涉及自动执行的技能和例程,例如骑自行车或在键盘上打字。

工具使用

  • 尽管大语言模型在预训练阶段学习了大量的知识,但只能够与大模型“纸上谈兵”,它只会说、不会做,同时也不能回答一些如天气,时间之类的简单问题。Agent 对于工具的使用就是弥补大模型只说不做的缺陷。Agent 可以调用外部 API 来获取模型权重中缺失的额外信息,包括当前时间、地理位置信息、代码执行能力、对专有知识库的访问等。

Agent 的工作机制

  • 【接收任务】用户提交任务给 Agent。
  • 【组装提示词】Agent 收到用户提交的任务之后,对输入信息进行架构处理合并为最终的 prompt。
  • 【与大模型交互】Agent 将处理后的 prompt 提交给 LLM,拿到下一步需要执行的动作和思考过程。
  • 【循环执行】Agent 会执行 LLM 返回的 Action、观察评估结果、获取下一步 Action。执行的工程中会自主的判断是否需要使用工具来处理 Action 或者获取额外的信息。
  • 在这里插入图片描述

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

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

相关文章

多模态—图文匹配

可能最近大家已经发现了chatgpt可以根据自己的描述生成图片,其实这就是一个图文匹配的问题,可以理解为这是一个多模态的问题。 在模型训练时我们需要N个图片和N个文本对进行训练,文本通过text encoder形成文本语义向量,text enco…

930/105每日一题

算法 1 4,2,9,11, 4, 2,4 2,4,9 42 4 24 9 2(0) 4(1) 9(2) 11(3) 11(0)11(1) 9(2) 11(3&#xf…

C++之多态篇(超详细版)

1.多态概念 多态就是多种形态,表示去完成某个行为时,当不同的人去完成时会有不同的形态,举个例子在车站买票,可以分为学生票,普通票,军人票,每种票的价格是不一样的,当你是不同的身…

C语言 | Leetcode C语言题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; int next(int* nums, int numsSize, int cur) {return ((cur nums[cur]) % numsSize numsSize) % numsSize; // 保证返回值在 [0,n) 中 }bool circularArrayLoop(int* nums, int numsSize) {for (int i 0; i < numsSize; i) {if (!n…

C++ | Leetcode C++题解之第456题132模式

题目&#xff1a; 题解&#xff1a; class Solution { public:bool find132pattern(vector<int>& nums) {int n nums.size();vector<int> candidate_i {nums[0]};vector<int> candidate_j {nums[0]};for (int k 1; k < n; k) {auto it_i upper_…

Ubuntu24.04远程开机

近来在几台机器上鼓捣linux桌面&#xff0c;顺便研究一下远程唤醒主机。 本篇介绍Ubuntu系统的远程唤醒&#xff0c;Windows系统的唤醒可搜索相关资料。 依赖 有远程唤醒功能的路由器&#xff08;当前一般都带这个功能&#xff09;有线连接主机&#xff08;无线连接有兴趣朋友…

信息安全工程师(33)访问控制概述

前言 访问控制是信息安全领域中至关重要的一个环节&#xff0c;它提供了一套方法&#xff0c;旨在限制用户对某些信息项或资源的访问权限&#xff0c;从而保护系统和数据的安全。 一、定义与目的 定义&#xff1a;访问控制是给出一套方法&#xff0c;将系统中的所有功能和数据…

【JAVA开源】基于Vue和SpringBoot的宠物咖啡馆平台

本文项目编号 T 064 &#xff0c;文末自助获取源码 \color{red}{T064&#xff0c;文末自助获取源码} T064&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

仿RabbitMQ实现消息队列三种主题的调试及源码

文章目录 开源仓库和项目上线广播交换模式下的测试直接交换模式下的测试主题交换模式下的测试 开源仓库和项目上线 本项目已开源到下面链接下的仓库当中 仿RabbitMQ实现消息队列 广播交换模式下的测试 消费者客户端 在进行不同测试下&#xff0c;消费者客户端只需要改变交换机…

基于SpringBoot+Vue+MySQL的中医院问诊系统

系统展示 用户前台界面 管理员后台界面 医生后台界面 系统背景 随着信息技术的迅猛发展和医疗服务需求的不断增加&#xff0c;传统的中医院问诊流程已经无法满足患者和医院的需求。纸质病历不仅占用大量存储空间&#xff0c;而且容易丢失和损坏&#xff0c;同时难以实现信息的快…

Acwing 背包问题

背包问题 首先&#xff0c;什么是背包问题&#xff1f; 给定N个物品和一个容量为V的背包&#xff0c;每个物品有体积和价值两种属性&#xff0c;在一些限制条件下&#xff0c;将一些物品放入背包&#xff0c;使得在不超过背包体积的情况下&#xff0c;能够得到的最大价值。根据…

【redis学习篇1】redis基本常用命令

目录 redis存储数据的模式 常用基本命令 一、set 二、keys pattern keys 字符串当中携带问号 keys 字符串当中携带*号 keys 【^字母】 keys * 三、exists 四、del 五、expire 5.1 ttl命令 5.2key删除策略 5.2.1惰性删除 5.2.2定期删除 六、type key的数据类型…

Windows安全加固详解

一、补丁管理 使用适当的命令或工具&#xff0c;检查系统中是否有未安装的更新补丁。 Systeminfo 尝试手动安装一个系统更新补丁。 • 下载适当的补丁文件。 • 打开命令提示符或PowerShell&#xff0c;并运行 wusa.exe <patch_file_name>.msu。 二、账号管…

Pikachu-Sql-Inject - 暴力破解

之前的破解&#xff0c;一般都需要 information_schema.schemata 、 information_schema.tables 、information_schema.columns 的权限&#xff0c;如果没有权限&#xff0c;就需要暴力破解&#xff1b; 如构造payload ,这个 abc 表就是我们要确定是否存在的表 vince and ex…

GPTQ vs AWQ vs GGUF(GGML) 速览和 GGUF 文件命名规范

简单介绍一下四者的区别。 参考链接&#xff1a;GPTQ - 2210.17323 | AWQ - 2306.00978 | GGML | GGUF - docs | What is GGUF and GGML? 文章目录 GPTQ vs AWQ vs GGUF&#xff08;GGML&#xff09; 速览GGUF 文件命名GGUF 文件结构文件名解析答案 附录GGUF 文件命名GGUF 文件…

Pandas基础学习

导入 导入pandas一般是这样导入的 import pandas as pdSeries 创建 s1 pd.Series([5, 17, 3, 26, 31])注意Series的第一个字母要大写&#xff0c;表明这其实是Series类的构建函数, 返回的是Series类的实例 获得元素或者索引 单独获得元素 s1.values单独获得索引值 s…

Flink 03 | 数据流基本操作

Flink数据流结构 DataStream 转换 通常我们需要分析的业务数据可能存在如下问题&#xff1a; 数据中包含一些我们不需要的数据 数据格式不方面分析 因此我们需要对原始数据流进行加工&#xff0c;比如过滤、转换等操作才可以进行数据分析。 “ Flink DataStream 转换主要作…

Kubernetes-环境篇-01-mac开发环境搭建

1、brew安装 参考知乎文章&#xff1a;https://zhuanlan.zhihu.com/p/111014448 苹果电脑 常规安装脚本&#xff08;推荐 完全体 几分钟安装完成&#xff09; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"苹果电脑 极…

【Android】中级控件

其他布局 相对布局RelativeLayout RelativeLayout下级视图的位置是相对位置&#xff0c;得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物&#xff0c;那么下级视图默认显示在RelativeLayout内部的左上角。用于确定视图位置的参照物分两种&#xff0c;一种是与…

自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…