CAMEL:大型语言模型社会的“心智”探索沟通代理

英文名称: CAMEL: Communicative Agents for “Mind” Exploration of Large Language Model Society
中文名称: CAMEL:大型语言模型社会的“心智”探索沟通代理
链接: https://arxiv.org/pdf/2303.17760.pdf
代码: https://github.com/camel-ai/camel 4.4K Star
作者: Guohao Li(李国豪), Hasan Abed Al Kader Hammoud, Hani Itani, Dmitrii Khizbullin, Bernard Ghanem
机构: 沙特阿拉伯阿卜杜拉国王科技大学
日期: 2023-03-31
引用次数: 56

1 读后感

以往的工作流程主要通过人与 LLM 的交互来控制。文中作者使用一个 Agent 来取代人的计划和决策,而另一个 Agent 负责执行具体的操作。通过这两者的交互,实现复杂工具,从而把人们从繁重的工作中解脱出来。为了示范这个过程,作者开发了一个股票投资机器人。同时通过实验发现并总结了 Agent 交互过程中可能出现的问题,以及相应的解决方法。

2 相关知识

  • 阿卜杜拉国王科技大学

“是什么神奇的技巧让我们变得聪明?其实并没有什么神奇的技巧。我们的聪明才智来自于我们极其丰富的多样性,而非任何单一的、完美的原则。” - 马文·明斯基,《心智社会》

3 摘要

  • 目标:探索构建可扩展技术以促进沟通代理之间的自主合作,并深入了解它们的“认知”过程。
  • 方法:提出了一种新颖的沟通代理,以解决实现自主合作的挑战。
  • 结论:研究表明,构建可扩展技术有助于促进沟通代理之间的自主合作,并提供了对其“认知”过程的洞察。

4 引言

面对现实世界任务的复杂性,通常需要多个步骤才能解决。大模型的成功很大程度上依赖于人类的投入,引导对话朝正确的方向发展。然而,制作有效的提示通常需要对特定知识领域的深刻理解和专业知识,这无疑增加了难度。那么,如何在最少的人工监督下引导对话完成任务呢?

作者提出了一种名为角色扮演的新型合作代理框架,以自动化沟通代理之间的合作。这种方法只需要人类的初步想法来引导对话朝着复杂的任务解决方向发展。具体来说,这种方法涉及使用角色扮演和启动提示来自主引导沟通代理完成任务。

5 方法

开发了:助手 - 用户场景,在开始时给出了一个初步的想法。智能体将把这个想法概念化为一个特定的任务,并通过对话自主完成它。

5.1 角色扮演框架

任务的目标是开发一个股票交易机器人。任务涉及角色包括作为 Python 程序员的 AI 助手代理 和作为 股票交易员的 AI 用户代理。任务说明使代理使得任务更具体化,从而能够为助手提供具体明确的任务。AI 用户和 AI 助手都有明确的任务指定,通过多轮对话,他们共同完成指定任务,直至 AI 用户确认任务完成。此外,我们还引入了批评者代理,它能够从角色扮演代理中选择建议,或向角色扮演代理提供反馈。

具体来说,是开发配备情绪分析工具的交易机器人,该工具能够监控社交媒体平台上对特定股票的正面或负面评论,并根据情绪分析结果进行交易。

5.2 启动提示

提示的主要作用在于对话的初始阶段。它由三个不同的部分组成:任务说明符提示 (PT)、AI 助手系统提示 (PA) 和 AI 用户系统提示 (PU)。AI 助手系统提示和 AI 用户系统提示在大多数情况下是对称的,包含了任务分配、角色、通信协议、终止条件,以及避免不良行为的限制或要求的相关信息。请参考图 -2 以获得具体的说明。

6 实验

6.1 常见问题

  • 角色翻转:在对话中,助手和用户的角色有时会发生转换。这通常发生在助手开始提供指令或命令,而不是跟随用户的提示,可能导致混淆和角色反转。为避免角色翻转,助手不应提问,因为这也可能导致问题。
  • 助手重复指令:另一个挑战是,助手只是重复用户的指令,而没有发生角色翻转。
  • 空洞回复:我们还观察到助手有时会用 "I will…" 这样的空洞回复,这些消息并未有助于当前任务,因为助手承诺采取行动但最终未能执行。
  • 无限循环的消息:助手和用户陷入无意义对话的无限循环,比如反复感谢对方或说再见但没有推进任务。

6.2 终止条件

  • 用户无指令:如果用户连续三轮没有指示助手,对话将结束。
  • 助手指令:如果助手向用户提供指令,表示角色反转,对话将被终止。
  • 任务结束标记:如果用户认为任务已经解决,他们应该说来标志任务的完成。接收到此消息后,对话将被终止。
  • 助手和用户的令牌限制:考虑到 gpt-3.5-turbo 对令牌数量有限制,如果助手或用户达到令牌限制,对话将被终止。
  • 最大消息数量:为了控制生成聊天的成本,设定了最多 40 条消息的限制。这个限制确保用户和助手之间有足够长的对话,同时也确保生成的数据不会产生过高的成本。对话长度与成本呈二次方关系,因此设定限制非常重要。

7 附录

附录 A 中,展示了从获取股票信息到编写程序,再到进行交易的示例过程。

8 启发

以 AI 编程为例,往往是语言模型 (LM) 扮演上例中“Python 程序员”的角色,而人则是“AI 用户”的角色:提问,接收反馈,运行,并再次提问,直到问题得到解决。

在这里,我们希望 AI 能扮演“人”的角色。虽然代理模型(Agent)在语言模型 (LM) 出现后很快就成为了热门,但目前我们的大部分工作还是由人和 LM 协作完成,还有很大的优化空间:理论上,只要我们能想明白,描述清楚,所有可重复的工作都可以由 LM 完成。

在优化代理模型方面,我们的主要目标是让语言模型 (LM) 通过提示或训练,能够更好地扮演“人”的角色。过去的引导学习主要集中在聊天场景的优化上,使 LM 能够更好地与人沟通。未来,我们可能会扩大其应用范围,覆盖所有可描述的工作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Scala应用 —— JDBC的创建

文章目录 Scala应用 —— JDBC的创建前言一、JDBC的创建过程1.初始化连接1.1 配置驱动1.2 创建连接对象 2. 初始化执行器2.1 创建执行器对象2.2 初始化执行器参数 3. 执行操作并返回结果 二、Scala JDBC的基本设计思路1. 操作步骤设计2. 解决结果差异化3.实现jdbc方法并输出结果…

53.HarmonyOS鸿蒙系统 App(ArkTS) socket套接字连接失败无效参数--invalid argument

ark ts socket套接字连接失败无效参数--invalid argument 绑定本机真实连接的WIFI的IP,不要绑定127.0.0.1

云原生Kubernetes: K8S 1.29版本 部署Harbor

目录 一、实验 1.环境 2.Linux 部署docker compose 3.证书秘钥配置 4.K8S 1.29版本 部署Harbor 5.K8S 1.29版本 使用Harbor 二、问题 1.docker 登录harbor失败 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注masterK8S master节点1.2…

Debian操作系统的常用指令介绍

Debian是一个流行的Linux操作系统,以其稳定性和安全性而闻名。对于Debian用户来说,掌握一些基本的命令行指令是非常重要的,因为它们可以帮助你更高效地管理系统。在这篇博客中,我们将介绍一些在Debian系统中常用的指令及其功能。 …

79、贪心-跳跃游戏II

思路: 首先理解题意:从首位置跳最少多少次到达末尾。 第一种:使用递归,将所有跳转路径都获取到进行求出最小值。 第二种:使用动态规划,下一次最优取决上一次的最优解 第三针:贪心&#xff…

区块链 | IPFS 工作原理入门

🦊原文:What is the InterPlanetary File System (IPFS), and how does it work? 🦊写在前面:本文属于搬运博客,自己留存学习。 1 去中心化互联网 尽管万维网是一个全球性的网络,但在数据存储方面&#…

智能消费记账|基于SSM+vue的大学生智能消费记账系统(源码+数据库+文档)

智能消费记账目录 基于SSMvue的大学生智能消费记账系统 一、前言 二、系统设计 三、系统功能设计 1 用户列表 2 预算信息管理 3 预算类型管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#xff1…

R语言的学习—5—多元数据直观表示

1、数据读取 ## 数据整理 d3.1read.xlsx(adstats.xlsx,d3.1,rowNamesT);d3.1 #读取adstats.xlsx表格d3.1数据 barplot(apply(d3.1,1,mean)) #按行做均值条形图 barplot(apply(d3.1,1,mean),las3) barplot(apply(d3.1,2,mean)) #按列做均值图条形图 barplot(a…

Web,Sip,Rtsp,Rtmp,WebRtc,专业MCU融屏视频混流会议直播方案分析

随着万物互联,视频会议直播互动深入业务各方面,主流SFU并不适合管理,很多业务需要各种监控终端,互动SIP硬件设备,Web在线业务平台能相互融合,互联互通, 视频混流直播,录存直播推广&a…

手撕C语言题典——合并两个有序数组(顺序表)

搭配食用更佳哦~~ 数据结构之顺顺顺——顺序表-CSDN博客 数据结构之顺序表的基本操作-CSDN博客 继续来做一下关于顺序表的经典算法题叭~ 前言 88. 合并两个有序数组 - 力扣(LeetCode) 合并数组也是力扣上关于顺序表的一道简单题,继续来加深…

字节缓冲流

BufferedInputStream() 该类实现缓冲流输出对象(可以向底层输出流写入字节而不必为写入的每一个字节导致底层系统的调用) BufferedOutputStream() 创建BufferedOutputStream()将创建一个内部缓冲数组 当从流中读取或跳过字节时,内部缓冲区根…

Kubernetes学习笔记06

第十六章、Kubernetes容器交付介绍 如何在k8s集群中部署Java项目 容器交付流程 开发代码阶段 编写代码编写Dockerfile【打镜像做准备】持续交付/集成 代码编译打包制作镜像上传镜像仓库应用部署 环境准备PodServiceIngress运维 监控故障排查应用升级 k8s部署Java项目流程 …

云服务器+ASF实现全天挂卡挂时长

目录 前言正文1.安装下载2.编辑配置文件3.设置Steam社区证书4.启动ASF5.给游戏挂时长6.进阶-ASF自动启动且后台保活 前言 我遇到的最大的问题是,网络问题 其实不然,各大厂商的云服务器后台都有流量监控,意味着依靠一般方法是不能正常访问St…

高手的黑箱:AI时代学习、思考与创作

课程目录 01 不要错过这个时代的巨大红利,AI时代竞争力养成指南.mp4 02 解密高手的黑箱——那些创作高手不告诉你的事.mp4 03 创作:人生发展中最重要的事.mp4 04 创作中最重要的事(1):对过程的掌控力.mp4 05 创作…

更深层次理解传输层两协议【UDP | TCP】【UDP 缓冲区 | TCP 8种策略 | 三次握手四次挥手】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 再谈端口号 端口号的返回…

springBootAdmin监控

简介 用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等 Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用 http 通讯方式实现数据交互&#xf…

【设计模式】创建者模式之 工厂方法 抽象工厂

工厂方法模式(Factory Method) 一个特定功能,往往有多种实现方式,但是很难有某一个实现可以适用于所有情况,因此往往需要根据特定的场景选择不同的实现。试想:把选择具体实现的代码放在业务中会发生什么?每当我们需要…

【C++】vector类的增删改查模拟实现(图例超详细解析!!!)

目录 一、前言 二、源码引入 三、vector的模拟实现 ✨实现框架 ✨前情提要 ✨Member functions —— 成员函数 ⚡构造函数 ⭐无参构造 ⭐迭代器区间构造 ⭐n个值构造 ⚡拷贝构造 ⚡运算符赋值重载 ⚡析构函数 ✨Element access —— 元素访问 ⚡operator[ ] …

一文全面了解 wxWidgets 布局器(Sizers)

目录 Sizers背后的理念 共同特征 最小大小 边框 对齐方式 伸缩因子 使用 Sizer 隐藏控件 wxBoxSizer wxStaticBoxSizer wxGridSizer wxFlexGridSizer 布局器(Sizers),由wxWidgets类层次结构中的wxSizer类及其派生类表示&#xff0…

电商核心技术揭秘四十五:营销与广告策略(下)

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 电商技术揭秘四十一:电商平台的营销系统浅析 电商技术揭秘四十二&#…