LLM Agent之只有智能体的世界

本文介绍了斯坦福大学的研究者如何利用大模型生成能力创建了一个虚拟小镇,其中包含智能体、沙盒环境、行为规划和记忆流等组件,展示了AI在模拟人类行为和社会交互中的应用。作者详细描述了环境感知、行为决策和规划的过程,以及模型的局限性和未来发展方向。
摘要由CSDN通过智能技术生成

生活番:Generative Agents

  • Generative Agents: Interactive Simulacra of Human Behavior
  • https://github.com/joonspk-research/generative_agents

img

斯坦福小镇算是这几个月来看到的最有意思的大模型应用了,作者设计了虚拟的小镇环境,并在其中设计众多不同性格的虚拟智能体,完全基于LLM的生成能力,让众多AI们在小镇中开始了生活,思考和互动。

生活环境和经历塑造了每一个个体,AI也不例外,所以后面的介绍我们会围绕以下三个核心组件相关代码来展开

  • 沙盒环境: 描述AI们的生存环境,并让AI感知当前所处环境,并随AI行动更新环境状态
  • 智能体框架
    • 行为规划:智能体每一步行为的生成
    • 记忆流: 智能体历史记忆的存储

在以上组件的加持下,小镇中的智能体们会发生以下基础行为

  1. 智能体行为:智能体根据当前状态和历史经历,决定下一步是吃饭睡觉还是打豆豆
  2. 智能体互动:智能体间的互动通过交流或指令进行,当智能体处于同一环境中时可能会触发交流对话
  3. 智能体和环境交互:智能体行为会改变环境状态,例如智能体睡觉时,环境中床的状态就会变成“Occupied”。当然我们也可以直接修改环境状态
  4. 智能体规划:想要触发以上1和2的行为和互动,智能体肯定不能在小镇里随机游走。论文的实现是让智能每天都生成一天的Todo List,根据计划行动,并在行动中不断更新当日计划。
  5. 智能体自我思考:通过对历史经历的不断总结和反思得到更高级层次的自我思考,从而影响日常智能体的行为
  6. 其他衍生能力:信息在智能体之间传播,多智能体合作,etc

沙盒环境

这里我们把沙盒环境放到第一个部分,因为个人感觉如何定义环境,决定了

  • Perceive:智能体能接收到哪些环境信息
  • Action:智能体可以做出哪些行为,包括在当前位置行为,和位置移动
  • Influence: 行为可以对环境产生哪些影响
  1. 地图(maze.py)
    环境本身被抽象成一个二维矩阵,这类二维游戏地图也叫瓦片地图(Tiled Map)。地图上每一个瓦片,都是一个字典存储了该瓦片内的所有信息,以下信息中的events字段都是智能体可以感知,并影响的环境信息。
self.tiles[9][58] = {'world': 'double studio', 
'sector': 'double studio', 'arena': 'bedroom 2', 
'game_object': 'bed', 
'spawning_location': 'bedroom-2-a', 
'collision': False,
'events': {('double studio:double studio:bedroom 2:bed', None, None)}} 

同时Maze还存储了一份倒排索引,也就是给定当前智能体当前的地址,需要返回在地图中对应的二维坐标,这样就可以规划智能体从当前位置到某个地点的行动路径。

self.address_tiles['<spawn_loc>bedroom-2-a'] == {(58, 9)}
  1. 环境感知(perceive.py)
    有了环境,再说下智能体如何感知环境。给定智能体当前在地图中的位置,智能体可以感知周围设定范围内所有瓦片中最新的事件。如果周围发生的事件太多,会先按照和智能体之间的距离排序,选择最近的N个。同时对于智能体之前未感知的事件,会加入到智能体的记忆流中。

记忆流

记忆流的设计算是论文的一大核心,分成以下两个部分

  • 记忆提取:其一是传统的RAG,也就是智能体的每一步行为都需要依赖智能体的历史记忆,如何抽取相关记忆是核心
  • 记忆存储:其二是智能体的记忆除了感知的环境,还包含哪些信息?
记忆提取(retrieve.py)

话接上面的环境感知部分,智能体感知到了周边的环境是第一步,第二步就是用感知到的信息,去召回智能体相关的历史记忆。这里被召回的记忆,除了之前感知的环境和事件,还有思考记忆,思考后面会讲到。召回除了使用embedding相似度召回之外, 记忆召回加入了另外两个打分维度时效性重要性

其中时效性打分是一个指数时间衰减模块,给久远的记忆降权,哈哈时效性打分是个宝,在很多场景下都是相似度的好伴侣,实际应用场景中RAG真的不止是一个Embedding模型就够用的。

重要性打分是基于大模型对每个记忆的重要程度进行打分。打分指令如下

img

最后在召回打分时,相似度,时效性,重要性进行等权加和。

img

记忆存储 (reflect.py)

智能体记忆流中存储的除了感知到的环境之外,论文还增加了一类很有趣的思考记忆。哈哈不由让我想起了工作中听到的一个梗"老板说不能只干活,你要多思考!!"

触发机制也很有insight,就是每个智能体会有一个重要性Counter,当近期智能体新观察到的各类事件的重要性打分之和超过某个阈值,就触发思考任务。哈哈今天你思考了么?没有的话来学习下智能是如何思考的,对打工人很有启发哟

  • 第一步定位问题??论文取了智能体近100条的记忆,通过指令让模型从中提N个问题。指令如下
Given only the information above, what are !<INPUT 1>! most salient high-level questions we can answer about the subjects grounded in the statements?
1)
  • 第二步反思问题??针对以上N个问题进行相关记忆的抽取,然后基于抽取记忆进行思考。这里允许召回的记忆本身是之前生成的思考,也就是基于思考再思考,基于反思再反思。从这里我真的看好智能体成为天选打工人…
What !<INPUT 1>! high-level insights can you infer from the above statements? (example format: insight (because of 1, 5, 3))
1.

最后生成的思考会存储入记忆流中,用于之后的行为规划或者再进一步的思考。

行为和规划

最后一个模块是行为规划(plan.py),也是最主要的模块,决定了智能体在每一个时间点要做什么,也是之智能体记忆流中的第三种记忆类型

除了基于当前状态去生成下一步行为之外,论文比较有意思的是先规划了智能体每一天的待办事项,然后在执行事项的过程中,进行随机应变。从而保证了智能体在更长时间轴上连续行为的连贯性,一致性,和逻辑关联。

长期规划:每日待办

智能体每日待办事项是通过自上而下的多步拆解,使用大模型指令生成的(plan.py)

第一步,冷启动,根据任务特点,生成智能体的作息时间,如下

img

第二步,生成小时级别的事项规划。这里并非一次生成所有事项,而是每次只基于智能体的所有静态描述,包括以上生成的生活作息,个人特点等等(下图),和上一个生成事项,来规划下一个事项。模型指令是1-shot,输出事项和事项持续的事件

第三步,是把小时级的事项规划进行事项拆解,拆分成5-分钟级别的待办事项。模型指令同样是1-shot,模板给出一个小时级别任务的拆分方式,让模型去依次对每个小时的事项进行拆解,模型指令中1-shot的部分格式如下:

Today is Saturday May 10. From 08:00am ~09:00am, Kelly is planning on having breakfast, from 09:00am ~ 12:00pm, Kelly is planning on working on the next day's kindergarten lesson plan, and from 12:00 ~ 13pm, Kelly is planning on taking a break. 
In 5 min increments, list the subtasks Kelly does when Kelly is working on the next day's kindergarten lesson plan from 09:00am ~ 12:00pm (total duration in minutes: 180):
1) Kelly is reviewing the kindergarten curriculum standards. (duration in minutes: 15, minutes left: 165)
2) Kelly is brainstorming ideas for the lesson. (duration in minutes: 30, minutes left: 135)
3) Kelly is creating the lesson plan. (duration in minutes: 30, minutes left: 105)
4) Kelly is creating materials for the lesson. (duration in minutes: 30, minutes left: 75)
5) Kelly is taking a break. (duration in minutes: 15, minutes left: 60)
6) Kelly is reviewing the lesson plan. (duration in minutes: 30, minutes left: 30)
7) Kelly is making final changes to the lesson plan. (duration in minutes: 15, minutes left: 15)
8) Kelly is printing the lesson plan. (duration in minutes: 10, minutes left: 5)
9) Kelly is putting the lesson plan in her bag. (duration in minutes: 5, minutes left: 0)

最终分钟级别的待办事项会作为智能体当日的主线行为,写入以上的记忆流中,在之后的每一次行为规划中,提醒智能体,当前时间要干点啥。

短期规划:随机应变

以当日长期行为规划为基础,智能体在按计划完成当日事项的过程中,会不时的感知周围环境。当出现新的观测事件时,智能体需要判断是否需要触发临时行为,并调整计划。这里主要分成两种临时行为:交流和行动。这两种行为的触发会基于智能体当前的状态,和大模型基于上文的指令输出,例如对于是否产生对话行为的判断

当智能体A,出现在当前智能体可以感知的环境范围内时,通过以上的环境感知模块,智能体的记忆流中会出现智能体A的当前行为。这时智能体会在记忆流中检索和智能体A相关的记忆,合并当前状态作为上文,使用大模型指令判断是否要发起和A的对话

img

如果判断需要发起对话,则触发对话模块进行交流,而交流是所有社会性行为产生的根本。

效果

主要模块基本就说这么多,技术评估就不多说了,在智能体行为上论文验证了当前框架会产生一定的社会效应,包括信息会在智能体之间传播,智能体之间会形成新的关系,以及智能体间会合作完成任务等等。

论文也讨论了当前框架的一些不足,包括如何在更长时间周期上泛化,如何避免智能体犯一些低级错误,例如躺上有人的床哈哈哈哈~

个人感觉还需要讨论的是如何在当前的记忆流中衍生成更高级的,抽象的思考,以及对世界的认知。这些认知是否有更高效,结构化的存储和召回方式。只依赖反思和记忆流的线性存储可能是不够的。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值