LLM驱动的智能体#Mixcopilot的迭代演进

news2024/11/26 4:40:20

42eefaa770ec1a5b3ae8dccca0811f2d.png

论文:

Generative Agents: Interactive Simulacra of Human Behavior

ac67833120f53b147f69b37b9b9755fb.png

shadow

前阵子在一场线下活动,我们展开了对生成式智能体的分享和研讨,同时也介绍了Earth在实现智能体系统的思考和实践。

最近有一篇文章把LLM驱动的智能体的构成讲解的很清楚,基于LLM,意味着自然语言作为一种接口,串联了系统的各个模块,我们尤其要关注自然语言的写法(Prompt工程)。全文字数比较多,我提取了我比较关心的要点(尤其是prompt相关的)

d1f03f092bae66a42ce64002ddc51bab.png

https://lilianweng.github.io/posts/2023-06-23-agent

以下为原文精简后的整理:

AutoGPT、GPT-Engineer和BabyAGI等几个项目,演示了以LLM(大语言模型)作为核心控制器构建智能体的可行性。

fe69fd9a0109fbc68ae1f6b3c96c927e.png

# 智能体

在 LLM 支持的智能体系统中,LLM 充当大脑,并由几个关键组件组成:

- 规划

    • 子目标和分解:将任务分解为更小的、可管理的子目标,从而能够有效处理复杂的任务。

    • 反思和完善:可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。

a6b34b1b1d5f2fb317913d8a33ed8d3b.png

任务分解可以通过:

(1) 通过 LLM 进行简单提示,如"Steps for XYZ.\n1."、"What are the subgoals for achieving XYZ?"、 

(2) 通过使用特定于任务的指令;例如,"Write a story outline."用于写小说

(3) 人工输入。

- 记忆

    • 短期记忆:上下文学习都是利用模型的短期记忆来学习。

    • 长期记忆:长时间保留和回忆(无限)信息的能力,通常是通过利用外部向量存储和快速检索。

c5f6d18fc90a5e969738f7b87a0899f9.png

可以粗略地对应起来:

  • 感觉记忆作为原始输入的学习嵌入表示,包括文本、图像或其他形式;

  • 短期记忆作为情境学习。它是短且有限的,因为它受到 Transformer 有限上下文窗口长度的限制。

  • 长期记忆作为代理在查询时可以处理的外部向量存储,可通过快速检索进行访问。

- 工具使用

    • 智能体学习调用外部 API 来获取模型中缺失的额外信息,包括代码执行能力、对专有信息源的访问等。

一种典型做法是 LLM 作为路由器将查询到最合适的专家模块(包括API调用注释)

52dc2649bf496cff26bd16894826b63b.png

HuggingGPT的提示工程(关键提示摘录):

任务规划:

任务必须从以下选项中选择:{{可用任务列表}}。任务之间有逻辑关系,请注意他们的顺序。如果用户输入无法解析,则需要回复空JSON。

模型选择:

仅输出最合适模型的模型id。输出必须采用严格的 JSON 格式:{“id”:“id”,“reason”:“您选择的详细原因”}。我们有一个模型列表供您从{{候选模型}}中进行选择。请从列表中选择一种id。

AutoGPT的提示工程:

e9a66cde2fcdfd1f064f856e964cf164.png


- 当前的一些技术限制

  • 上下文长度有限:上下文容量有限,限制了历史信息、详细说明、API 调用上下文和响应的包含。系统的设计必须适应这种有限的通信带宽。尽管向量存储和检索可以提供对更大知识库的访问,但它们的表示能力不如大模型那么强大。

  • 长期规划和任务分解的挑战:长期规划和有效探索解决方案仍然具有挑战性。LLM 在遇到意外错误时很难调整计划。

  • 自然语言接口的可靠性:当前的智能体依赖自然语言作为LLM与外部组件(例如工具)之间的接口。然而,模型输出的可靠性不稳定,LLM 可能会出现格式错误,并且偶尔会拒绝遵循指示。

- mixcopilot 解决方案

针对技术限制,我们认为一套好用的分解、测试任务的工具显得格外重要。特别是模型输出不稳定的问题,我们的工具可以随时人为干预模型输入和输出。

【视频演示】

2591cfaaa7db7f7e0af68e0c4461bf91.jpeg

扫码

加入智能体社群

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

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

相关文章

centos7安装图形化界面

一键安装并生效脚本 #!/bin/bash # 安装X(X Window System) yum groupinstall -y "X Window System"# 安装图形界面软件 yum groupinstall -y "GNOME Desktop"# 设置开机进入图形界面 systemctl set-default graphical.target# 进入图形界面 startx安装 …

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)] C:\WINDOWS\system32\wsl.exe -d Ubuntu-20.04

Verilog基本语法之数据类型

Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种行为级(可用于电路的功能描述)描述语言又是一种结构性(可用于元器件及其之间的连接)描述语言。 …

深度了解机器人行业全貌

产品分类 机器人主要可分为工业机器人、服务机器人和特种机器人,主要产品如下图所示。 机器人主要分类 资料来源:36氪、华泰证券《机械设备行业专题研究-商用服务机器人:曙光已现蓝海可期-220105》。 其中工业机器人的主要种类及应用领域如下图所示。 工业机器人主要类型及…

docker安装失败 应用程序无法启动,因为应用程序的并行配置不正确

问题描述 报错“应用程序无法启动,因为应用程序的并行配置不正确”。 配置:windows10 解决过程 网上的解决方案有三种: 启动windows服务Windows Modules Installer。运行sxstrace.exe。安装visual c相关依赖。下载visual studio installer…

Python基础 —— 输入输出

〇、概述 当我们编写代码时,必不可少地需要通过敲击键盘来向电脑输入数据,然后显示器将把我们想要的内容显示出来;这其中需要很多复杂的知识,为了简化操作,便有人将其封装成了 print() 和 input() 两个函数。 一、输出…

LiDAR SLAM 闭环——BoW3D论文详解

标题:BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM 作者:Yunge Cui,Xieyuanli Chen,Yinlong Zhang,Jiahua Dong,Qingxiao Wu,Feng Zhu 机构:中科院沈阳自动化研究所 来源:2022 RAL 现算法已经开源&#…

linux查看文件夹的命令

第一种: 最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 ls -ll ls -lh 第二种: 通过命令du -h –max-de…

微信小程序视图层莫名出现”竖线“

写完视图层后&#xff0c;发现页面上莫名其妙的出现了一些“竖线”&#xff0c;如下图所示&#xff1a; 这段html代码是这样写的&#xff1a; <view class"other-des"><view class"section"><text class"section-num">{{cou…

服务器财务系统数据库被locked勒索病毒攻击后如何怎么办?如何快速解密恢复数据

在当今的数字化时代&#xff0c;信息安全问题已成为企业面临的重大挑战之一。企业的服务器财务系统数据库是企业最核心的资金管理和财务决策平台&#xff0c;一旦遭受勒索病毒攻击&#xff0c;重要财务数据并被锁定&#xff0c;可能导致严重的经济损失和业务中断。近期&#xf…

企业为什么需要软件的应用框架?

软件框架是可用来构建软件的结构。它充当系统的基础&#xff0c;使开发者不必从头开始创建&#xff0c;比如非必要的额外逻辑。框架还类似于模板&#xff0c;你可以对其进行修改并添加某些特性和更高级功能&#xff0c;然后创建许多人可以使用的复杂而普适的项目。 软件的应用…

python 笔记 math包

abs 绝对值 acos 反余弦函数 acosh 反双曲余弦函数 asin 反正弦函数 asinh 反双曲正弦函数 atan 反正切函数 atanh 反双曲正切函数 cos 余弦函数 cosh 双曲余弦函数 e 自然常数 exp e的几次方 fabs 绝对值 gcd 最大公约数 log log2 log10 modf 取小数、取整数部分 …

gitlab【安装部署、备份与恢复】

【1】安装依赖 [rootgit ~]# yum -y install install curl opessh-server postfix wget【2】安装软件包 [rootgit ~]# yum -y localinstall gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm 【3】修改配置 [rootgit ~]# grep "^[a-Z]" /etc/gitlab/gitlab.rb external_ur…

【爬虫学习】1、利用get方法对豆瓣电影数据进行爬取

♥️作者&#xff1a;白日参商 &#x1f935;‍♂️个人主页&#xff1a;白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识&#xff0c;和大家一起努力呀&#xff01;&#xff01;&#xff01; &#x1f388;&#x1f388;加油&#xff01; 加油&#xff01…

Z-NTFS2EXCEL 文件服务器权限可视化报告

Z-NTFS2EXCEL Z-NTFS2EXCEL是一个用于快速获取Windows文件服务器权限信息并进行确认或审计的程序。 github地址&#xff1a;https://github.com/ericzhong2010/Z-NTFS2EXCEL 使用示例 编辑ini配置文件 执行exe程序文件 检查与确认结果 作者信息 作者&#xff1a;Eric…

Docker学习笔记17

跨主机容器间网络&#xff1a; 实现跨主机容器间通信的工具&#xff1a; 1&#xff09;Pipework 2&#xff09;Flannel 3&#xff09;Weave 4&#xff09;Open V Switch &#xff08;OVS&#xff09; 5&#xff09;Calico 1. Weave&#xff1a; 在每个宿主机上布置一个特…

SwiftUI的优缺点

2019年WWDC大会上&#xff0c;苹果在压轴环节向大众宣布了基于Swift语言构建的全新UI框架——SwiftUI&#xff0c;开发者可通过它快速为所有的Apple平台创建美观、动态的应用程序。推荐大量使用struct代替类。 SwiftUI 就是⼀种声明式的构建界面的用户接口工具包。 SwiftUI使用…

NotePad++ 正则匹配文件路径

([a-zA-Z]:(([\\\\/])[^\\\\/:*?<>|])*([\\\\/])[^\\\\/:*?<>|]\\.[^\\\\/:*?<>|],)*[a-zA-Z]:(([\\\\/])[^\\\\/:*?<>|])*([\\\\/])[^\\\\/:*?<>|]\\.[^\\\\/:*?<>|]$CTRLH -> 标记 -> 输入上面正则匹配&#xff0c;勾选如下…

Pyqt5+PyQt-Fluent-Widgets+Pycharm环境安装

文章目录 1. Pyqt5环境安装2. Pycharm配置QtDesigner3. PyQt-Fluent-Widgets插件安装4. 在QtDesigner中使用PyQt-Fluent-Widgets 1. Pyqt5环境安装 使用miniconda创建一个新环境作为pyqt5的开发。这里使用的python3.8版本&#xff0c;网上说太高的python3.10版本无法同时安装py…

开源社 KCC@新加坡成立啦!

3年疫情结束&#xff0c;世界恢复了正常&#xff0c;新加坡作为亚洲领先的世界城市&#xff0c;吸引了越来越多来自世界的人才。大模型在人工智能领域的突破&#xff0c;让大家更加看到开源的能力。经过9年的发展&#xff0c;开源社在长期的伙伴支持下&#xff0c;开始了出海的…