LLM下半场之Agent基础能力概述:Profile、Memory、Plan、Action、Eval学习笔记

 一.Agent发展将会是LLM的下半场

目前大家都在讨论LLM,LLM解决的问题是帮助机器像人类一样理解彼此的意图,本质上来讲,LLM更像是一个技术或者工具。但是人类社会发生变革的引线,往往是一个产品或者解决方案,比如电池技术的发展带来了长续航,但是真正改变大家生活的是电动车这样一个产品。Agent的概念是创造一个个场景的智能体,可以在某些领域,比如在社会分析、电商导购、工业制造方面提供解决方案。LLM的发展将会让Agent的诞生成为可能,也会推动各个领域的Agent发展,所以我说Agent将会是LLM的下半场。

最近也是学习了一篇高瓴机构发布的论文《A Survvey on Large Language Model based Autonomous Agents》,将里面的内容和最近的思考做个整理。

二.Agent的整体结构

如果要实现以LLM为Base的Agent,主要需要从两个角度思考问题,(1)如何设计一种架构可以更高效的应用LLM(2)如何让Agent具备解决不同任务的范化能力,当然这个也依赖于LLM。目前行业里通常通用的一种架构是由Profile、Memory、Planning、Action所构建的四级架构。

1.Profile模块

Profile模块解决的问题是告诉Agent他的角色,或者换一种说法,是告诉Agent需要解决的问题的背景信息。Profile有三种实现模式。第一种是人工设定模式,比如告诉Agent你是个外向的厨师,你需要解决点餐环节客人的问题。第二种是LLM延申模式,先把一些背景告诉LLM,让LLM给出一些候选集,比方说告诉LLM生成几种人物,解决点餐的问题,然后基于LLM的输出选择合适的Profile方向。第三种是基于database,比方说已经在数据库中存储了某些厨师的数据,包含他的各种身体特征,然后完成设定。

2.Memory模块

Memory模块是Agent解决方案中的重要一环。Memory主要解决的是行业知识的传递问题,可以让Agent拥有长期和短期记忆,让他表现得更智能。

Shot-Memory一般用来传递上下文的的对话信息,常常通过Prompt作为传递介质。而Long-Memory更多的是领域知识,需要有独立的存储模块。Long-Memory的存储结构可能是自然语言、Embedding、结构化的表等。比如做一个餐厅服务点餐Agent,那么完全可以把菜单内容以自然语言的形式存储为Long-Memory,每次点餐要求Agent从约定内容里面选择。随着LLM的发展,目前向量数据库也成为了投资的重点领域,因为以Embedding存储,可以更有利于在大规模数据的前提下压缩信息和高效检索。

3.Planning模块

这一模块是最体现智能能力的模块,这个模块需要根据任务设定具体的执行方案。

Planning模块可以是两种结构,一种是Single-Path,这里引入CoT的概念(Chain of thought),可以要求LLM基于任务一步步推理,形成一个解决方案。每一步推理后产出的内容可以再次输入给LLM去判断下一步如何走。

另一种是Muti-Path,这个方案更符合人类的思维方式,因为要解决问题,很难完全设定好端到端的流程,需要给出几种候选的模式,另外需要考虑环境反馈,可以每走一步再次推理和选择最优模式,这里可以参考最近非常火的ReAct的模式,另外LLM也可以代替人类去做多种方案的选择,我们可以把需要考虑的边界给到LLM,由LLM去思考每一步如何选择。

4.Action模块

这一步是执行模块,需要按照Planning的设计,完成目标。在这一步需要建设的能力是与外部的服务关联,比如我们的Agent是解决帮用户买飞机票的问题,那么在执行阶段就需要与飞机票务系统的订票接口关联,也需要与用户的信用卡付款接口关联。

三、Agent的评估模式

相比于LLM,Agent是一种更广泛的解决方案,于是如何评估Agent的能力是一个很有挑战性的问题。

通常,评估有两种,,一种是主观评估,需要将Agent的执行结果给到人类去打分,所以最近许多类似于标注的众包平台也吸引到了资本的关注,但是这种评估模式的成本较高,很难规模化复制,这也是为什么Agent的迭代优化目前都只能在特定领域展开。

客观评估工作看上去更可能以程序化的模式低成本实现,但这也严重依赖与评价的Metrics设定和Benchmark集合,目前在社会学、自然科学、工程科学范畴已经沉淀了一些相关工作,这也使得相关领域的Agent看上去更有可能率先实现。

四、总结

目前行业中还没有特别出色或者优秀的Agent范本的出现,但是我个人对这个方向是深信不疑的,因为已经有许多工具可以应用,除了上面提到的评估相关的工作,如何串联四个流程,Langchain给了很好的参考。另外在Prompt设计方面,CoT、ReACT都提供了不错的思路,接下来行业内的各个玩家一定会在各个领域去探索Agent的落地可能,相信会在近期有一些成功案例诞生。

参考材料:

https://arxiv.org/pdf/2308.11432.pdf

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

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

相关文章

Linux【网络】数据链路层

Linux【网络】数据链路层 数据链路层以太网帧格式对比理解MAC地址和IP地址ARP协议--地址解析协议ARP工作流程ARP请求ARP应答 其他协议DNS-域名解析协议ICMP--网络层协议NAT技术NAPT 正向代理与反向代理 数据链路层 数据链路层用于两个设备,同一数据链路节点之间的信…

栈和队列的实现

用栈实现队列 1.分析2.代码 1.分析 2.代码 class MyQueue {private Stack<Integer> s1;private Stack<Integer> s2;public MyQueue() {s1 new Stack<>();s2 new Stack<>();}public void push(int x) {s1.push(x);}public int pop() {if(empty()){re…

山西电力市场日前价格预测【2023-10-05】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-05&#xff09;山西电力市场全天平均日前电价为363.87元/MWh。其中&#xff0c;最高日前电价为649.89元/MWh&#xff0c;预计出现在18: 45。最低日前电价为291.58元/MWh&#xff0c;预计…

微信公众号模板消息First,Remark字段不显示,备注字段不见了

今天在开发公众号过程中有个需求发模板消息我设置的如下 成绩单打印通知&#xff01;姓名&#xff1a;{{name.DATA}} 学号&#xff1a;{{stuid.DATA}}状态&#xff1a;{{status.DATA}}时间&#xff1a;{{date.DATA}} 备注&#xff1a;{{remark.DATA}} 然后发完通知发现《…

矩阵的c++实现(2)

上一次我们了解了矩阵的运算和如何使用矩阵解决斐波那契数列&#xff0c;这一次我们多看看例题&#xff0c;了解什么情况下用矩阵比较合适。 先看例题 1.洛谷P1939 【模板】矩阵加速&#xff08;数列&#xff09; 模板题应该很简单。 补&#xff1a;1<n<10^9 10^9肯定…

成都建筑模板批发市场在哪?

成都作为中国西南地区的重要城市&#xff0c;建筑业蓬勃发展&#xff0c;建筑模板作为建筑施工的重要材料之一&#xff0c;在成都也有着广泛的需求。如果您正在寻找成都的建筑模板批发市场&#xff0c;广西贵港市能强优品木业有限公司是一家值得关注的供应商。广西贵港市能强优…

mysql面试题16:说说分库与分表的设计?常用的分库分表中间件有哪些?分库分表可能遇到的问题有哪些?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说说分库与分表的设计? 在MySQL中,分库与分表是常用的数据库水平扩展技术,可以提高数据库的吞吐量和扩展性。下面将具体讲解MySQL中分库与分表…

<C++> String

目录 一、标准库中的string类 1. string类 2. string类的常用接口说明 2.1 string类对象的常见构造 2.2 string类对象的容量操作 2.3 string类对象的访问及遍历操作 2.4 string类对象的修改操作 2.5 string类非成员函数 总结 前言 C语言中&#xff0c;字符串是以 \0 结尾的一些…

[软件工具]opencv-svm快速训练助手教程解决opencv C++ SVM模型训练与分类实现任务支持C# python调用

opencv中已经提供了svm算法可以对图像实现多分类&#xff0c;使用svm算法对图像分类的任务多用于场景简单且对时间有要求的场景&#xff0c;因为opencv的svm训练一般只需要很短时间就可以完成训练任务。但是目前网上没有一个工具很好解决训练问题&#xff0c;大部分需要自己编程…

AWS Lambda Golang HelloWorld 快速入门

操作步骤 以下测试基于 WSL2 Ubuntu 22.04 环境 # 下载最新 golang wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz# 解压 tar -C ~/.local/ -xzf go1.21.1.linux-amd64.tar.gz# 配置环境变量 PATH echo export PATH$PATH:~/.local/go/bin >> ~/.bashrc …

密码技术 (6) - 证书

一. 前言 前面介绍的公钥密码和数字签名&#xff0c;都无法解决一个问题&#xff0c;那就是判断自己获取的公钥是否期望的&#xff0c;不能确定公钥是否被中间攻击人掉包。所以&#xff0c;证书的作用是用来证明公钥是否合法的。本文介绍的证书就是解决证书的可靠性的技术。 二…

Python3数据科学包系列(一):数据分析实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 认识下数据科学中数据处理基础包: (1)NumPy 俗话说: 要学会跑需先…

React框架核心原理

一、整体架构 三大核心库与对应的组件 history -> react-router -> react-router-dom react-router 可视为react-router-dom 的核心&#xff0c;里面封装了<Router>&#xff0c;<Route>&#xff0c;<Switch>等核心组件,实现了从路由的改变到组件的更新…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第三周测验

课程1_第3周_测验题 目录&#xff1a;目录 第一题 1.以下哪一项是正确的&#xff1f; A. 【  】 a [ 2 ] ( 12 ) a^{[2](12)} a[2](12)是第12层&#xff0c;第2个训练数据的激活向量。 B. 【  】X是一个矩阵&#xff0c;其中每个列都是一个训练示例。 C. 【  】 a 4 […

【一、灵犀考试系统项目设计、框架搭建】

一、创建数据库 1、打开power designer&#xff0c;新建数据库模型 2、新建数据表&#xff0c;以及关系 【注意】 图片的类型有两种&#xff1a;varbinary 和 image varbinary : 二进制字节流&#xff0c;可以自动控制长度 image : 最大可放2G图片 3、创建数据库&#…

国庆假期作业day2

作业&#xff1a;创建一个双向链表&#xff0c;将26个英文字母通过头插的方式插入到链表中&#xff0c;通过尾删的方式将数据读取出来并删除 #ifndef _TEXT_H #define _TEXT_H #include<myhead.h> typedef int datatype; typedef struct dblist {union {datatype data;/…

后端面经学习自测(二)

文章目录 1、Http1.1和2.0的区别大概是什么&#xff1f;HTTP & HTTPS 2、HTTP&#xff0c;用户后续的操作&#xff0c;服务端如何知道属于同一个用户cookie & session & token手机验证码登录流程SSO单点登录 3、如果服务端是一个集群机器&#xff1f;4、hashmap是线…

[React源码解析] React的设计理念和源码架构 (一)

任务分割异步执行让出执法权 文章目录 1.React的设计理念1.1 Fiber1.2 Scheduler1.3 Lane1.4 代数效应 2.React的源码架构2.1 大概图示2.2 jsx2.3 Fiber双缓存2.4 scheduler2.5 Lane模型2.6 reconciler2.7 renderer2.8 concurrent 3.React源码调试 1.React的设计理念 Fiber: 即…

项目进展(八)-编写代码,驱动ADS1285

一、代码 根据芯片的数据手册编写部分驱动&#xff0c;首先看部分引脚的波形&#xff1a; DRDY: CS&#xff1a; 首先在代码初始化时连续写入三个寄存器&#xff1a; void WriteReg(uint8_t startAddr, uint8_t *regData, uint8_t number) {uint8_t i0;// 循环写number1次…

基于STM32 ZigBee无线远程火灾报警监控系统物联网温度烟雾

实践制作DIY- GC00168---ZigBee无线远程监控系统 一、功能说明&#xff1a; 基于STM32单片机设计---ZigBee无线远程监控系统 二、功能说明&#xff1a; 1个主机&#xff1a;STM32F103C系列单片机LCD1602显示器蜂鸣器 ZigBee无线模块3个按键&#xff08;设置、加、减&#xff0…