【论文阅读】A Survey on Large Language Model based Autonomous Agents

文章目录

  • 1 大语言模型的构建
    • 1.1分析模块 profiling module
    • 1.2 记忆模块 memory module
      • 1.2.1 记忆结构
      • 1.2.2 记忆形式
      • 1.2.3 记忆运行
    • 1.3 规划模块 planning module
      • 1.3.1 无反馈规划
      • 1.3.2 有反馈计划
    • 1.4 执行模块 action module
      • 1.4.1 执行目标
      • 1.4.2 执行空间
  • 2 Agent能力提升
    • 2.1 微调
    • 2.2 提示词工程
    • 2.3 机制工程

基于大语言模型的自主agent的构建,提出一个一致的框架涵盖大部分的前沿工作,然后总览整体的一些AI agent在社会科学,自然科学和工程上的应用。最后,提出了一些研究策略。

AI agent实际上就是希望通过自我直接的规划并且行动

  • 第一阶段的Agent的,行动是基于一些简单的策略函数
  • 而现阶段的Agent,是基于大语言模型,更加灵活

1 大语言模型的构建

文章围绕两个方面,一个是哪一个结构设计出来的Agent可以更好利用LLM,给定特定的结构,agent如何更好完成特定任务。

文章将构建分为四个模块

分析模块,记忆模块,计划模块,行动模块

在这里插入图片描述

1.1分析模块 profiling module

一般来说,Agent会执行任务通过扮演特定的角色,例如coders,或者老师,或者领域专家。分析模块就是写入Agent的配置文件,告诉他扮演的决策,通常来影响LLM行为。比如年龄,性别,职业等

在识别配置文件信息的类型后,下一个重要问题是为代理创建特定的配置文件,包括三种方式

1、人工填写

主要是通过人工告诉LLM一些背景信息,比如“你是一个幽默风趣的老师”。

经典的任务如MetaGPT,指出了扮演不同的软件开发的角色

比较灵活,但是费力

2、大语言模型生成

agent的身份由大语言模型自动生成

一般首先指示代理文件的生成规则,阐明组成和属性,然后选择一些例子(被称为种子)给LLM做参考

经典的RecAgent工作就是这样

3、数据对齐方式

agent的profile来自于真实的数据集,但是

1.2 记忆模块 memory module

记忆模块负责存储一些从环境或其他交互中获得的信息,记忆模块能够帮助agent去积累经验,自我更新,并且行动更加有效合理。

这一节重点介绍了,记忆模块的结构,形式和运行。

记忆模块的设计模仿了人类的长短期记忆。短期记忆。短期记忆,就好比大语言模型的上下文窗口,长期记忆就会存储到数据向量库中。

1.2.1 记忆结构

1 一致性记忆,感觉就是直接提示词控制

2 混合记忆,即附带了长期记忆,短期记忆包含有关代理当前情况的上下文信息,而长期记忆存储代理过去的行为和想法,可以根据当前事件检索。

长期记忆系统使用向量数据库

1.2.2 记忆形式

1 自然语言,直接以自然语言存储,更加的灵活和容易理解

2 嵌入编码向量,即将记忆信息编码成向量

3 数据库,SQL数据库

1.2.3 记忆运行

记忆读取,记忆写入,记忆反思

1.3 规划模块 planning module

将复杂的任务分解成简单任务

1.3.1 无反馈规划

1 单路推理 最经典的就是CoT思维链工作, 就是将目标分解成一些中间的步骤,一步一步执行

2 多路推理 在这个策略中,是一个树的结构,每一个中间步骤有多个可能的子步骤。

3 使用外部的规划模块

1.3.2 有反馈计划

主要有环境反馈

和人类的反馈

和来自其他模块的反馈

1.4 执行模块 action module

1.4.1 执行目标

目标一般有完成任务,交流或者环境探索

1.4.2 执行空间

一般有额外的工具,数据知识库等

2 Agent能力提升

2.1 微调

主要通过人类标记的数据集,大语言模型生成的数据集,真实世界数据集微调

2.2 提示词工程

2.3 机制工程

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

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

相关文章

深度剖析:前端如何驾驭海量数据,实现流畅渲染的多种途径

文章目录 一、分批渲染1、setTimeout定时器分批渲染2、使用requestAnimationFrame()改进渲染2.1、什么是requestAnimationFrame2.2、为什么使用requestAnimationFrame而不是setTimeout或setInterval2.3、requestAnimationFrame的优势和适用场景 二、滚动触底加载数据三、Elemen…

支付宝支付之收款码支付

文章目录 收款码支付接入流程安全设计系统交互流程交易状态统一收单交易支付接口请求参数测试结果查询支付撤销支付退款支付退款结果退款说明 收款码支付 继:支付宝支付之入门支付 接入流程 安全设计 支付宝为了保证交易安全采取了一系列安全手段以保证交易安全。…

账号和权限的管理1

文章目录 修改用户账号的属性usermod格式常用选项 用户账号的初始化配置文件文件来源主要的用户初始配置文件 组账号文件添加组账号groupadd格式常用选项其他选项 删除组账号groupdel格式 查询账号信息groups格式 id格式 finger格式 W、who、users格式 文件/目录的权限和归属访…

emptyDir + initContainer实现ConfigMap的动态更新(K8s相关)

1. 絮絮叨叨 K8s部署服务时,一般都需要使用ConfigMap定义一些配置文件例如,部署分布式SQL引擎Presto,会在ConfigMap中定义coordinator、worker所需的配置文件以node.properties为例,node.environment和node.data-dir的值将由Helm…

android 通过gradle去除aar的重复资源图片

背景:项目中引入了aar包,结果导致资源出问题了,于是需要对下面aar包进行重复资源去除操作 操作具体如下: 目录:app/build.gradle 末尾配置 apply from: "${project.rootDir}/scripts/excludewidgetAar.gradle&qu…

【web】2、集成插件

1、element-plus 官网地址:设计 | Element Plus 安装 plus 及 icon 图标库 1.1 官网提供plus安装方法: 1.2 官网提供 icon 安装方法 1.3 安装 pnpm install element-plus element-plus/icons-vue main.ts全局安装element-plus,element-plus默认支持语言英语设…

matlab编辑稀疏单位方阵

创建 10001000 稀疏单位方阵,并查看稀疏模式。 (1) I speye(1000); spy(I)(2) S speye(400,800); spy(S)此命令等同于 speye([400 800])。

Nginx中封装的数据结构

Nginx中封装的数据结构 Nginx中封装的数据结构整型ngx_str_t【字符串】ngx_list_t【链表】ngx_table_elt_t【key/value】ngx_buf_tngx_chain_t Nginx中封装的数据结构 整型 typedef intptr_t ngx_int_t; typedef uintptr_t ngx_uint_t;ngx_str_t【字符串】 typ…

qt6开发环境配置杂记

很多同学不重视环境配置问题,这是工程问题,实际工作中,如果不真正搞懂环境配置,后期可能会遇到各种坑。 QT是一套开发框架,最终要翻译成c去执行。总体而言,就是下面三张框图: (工程…

Spring底层原理之bean的加载方式一 用XML方式声明bean 自定义bean及加载第三方bean 2024详解

目录 用XML方式声明bean 首先我们创建一个空的java工程 我们要导入一个spring的依赖 注意在maven工程里瞅一眼 我们创建一个业务层接口 还有四个实现类 我们最初的spingboot生命bean的方式是通过xml声明 我们在resources文件夹下创建一个配置文件 我们书写代码 首先初…

AI Agent:技术原理与未来趋势

在人工智能的快速发展中,AI Agent作为一项创新技术,正逐渐成为研究和应用的热点。AI Agent不仅仅是执行命令的程序,它们能够感知环境、做出决策并采取行动,展现出类似人类的群体协作能力。本文将探讨AI Agent的技术原理、开源框架…

使用vite官网和vue3官网分别都可以创建vue3项目

问: npm init vitelatest 和 npm create vuelatest创建的vue3项目有什么区别? 回答: npm init vitelatest 和 npm create vuelatest 分别是使用 Vite 和 Vue CLI 工具创建 Vue 项目的两种方式,它们之间有几个主要区别: 1. **构建工具:** …

忍法:声音克隆之术

前言: 最近因为一直在给肚子里面的宝宝做故事胎教,每天(其实是看自己心情抽空讲下故事)都要给宝宝讲故事,心想反正宝宝也看不见我,只听我的声音,干脆偷个懒,克隆自己的声音&#xf…

Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程

方法一:PHP_diseval_extension禁用 Linux CentOS 禁用php的eval函数详细图文教程_centos php 禁用 eval-CSDN博客 这个方法make报错,懒得费时间处理,直接用第二种 方法二:suhosin禁用 不支持PHP8,官方只支持PHP7以下…

【电源专题】为什么带电量计芯片的电池MOS保护要放在高侧

在实际的电量计电池开发中,发现一个很奇怪的现象。传统电池保护IC往往都是将充电保护和放电保护的两个MOS管放在低侧的。如下所示是文章:【电源专题】读一读单节锂电池保护IC规格书 可以看到M1和M2两个MOS管是放在PB-(也就是电池的负端),我们叫做低端。 而BQ28Z610电…

目标检测常用涨点方法:注意力机制小结(空间注意力、通道注意力、CBAM等)

1.通道注意力 通道注意力(Channel Attention)是在通道维度上对输入数据进行学习,再对不同的通道分配相应的权重表示重要性,从而达到“分配注意力”的效果。SENet(Squeeze and Excitation networks) 是一个典型的使用通…

Swift宏的实现

上篇介绍了Swift宏的定义与生声明,本篇主要看看是Swift宏的具体实现。结合Swift中Codable协议,封装一个工具让类或者结构体自动实现Codable协议,并且添加一些协议中没有的功能。 关于Codable协议 Codable很好,但是有一些缺陷&…

yaklang window安装 vscode运行得到“hello world”

资源来源:旅程伊始:Yak 语言环境安装与搭建环境 | Yak Program Language 安装yak语言非常简单,管理员权限打开命令行运行以下命令: powershell (new-object System.Net.WebClient).DownloadFile(https://yaklang.oss-cn-beijing…

1085 PAT单位排行(测试点5)

solution 测试点5:总分是在每个学生加权后再取整,所以用来存学生分数的变量要用浮点型学校排序: 若成绩不同,则按成绩降序若成绩相同,人数不同,则按成绩升序若成绩和人数都相同,则按单位名升序…

理解GPT2:无监督学习的多任务语言模型

目录 一、背景与动机 二、卖点与创新 三、几个问题 四、具体是如何做的 1、更多、优质的数据,更大的模型 2、大数据量,大模型使得zero-shot成为可能 3、使用prompt做下游任务 五、一些资料 一、背景与动机 基于 Transformer 解码器的 GPT-1 证明…