LLM Agent之只有智能体的世界

本文探讨了LLM Agent在虚拟世界中的应用,包括斯坦福小镇中的Generative Agents和ChatDev在软件开发中的使用。Generative Agents在沙盒环境中通过记忆流和行为规划展现智能体互动,而ChatDev则通过多智能体对话协同完成软件开发任务,如设计、编程、测试和文档编写。文章分析了各模块的功能和智能体的决策过程,展示了人工智能在模拟人类行为和社会互动方面的进展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生活番: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,也就是智能体的每一步行为都需要依赖智能体的历史记忆,如何抽取相关记忆是核心
  • 记忆存储:其二是智能体的记忆除了感知的环境,还包含哪些信息?
### 关于大型语言模型智能体 (LLM Agent) #### 定义与概述 大型语言模型智能体是指基于大规模预训练的语言模型构建而成的代理程序,能够执行特定任务并与其他系统交互。这类智能体可以被设计成具有高度自主性的软件实体,在给定目标的情况下自动采取行动来解决问题或完成工作流中的某些环节[^1]。 #### 功能特性 这些智能体通常具备以下功能: - **自然语言处理能力**:理解人类指令并与用户通过对话形式沟通交流。 - **环境感知**:收集外部世界的状态信息作为决策依据。 - **规划推理**:根据当前情况制定行动计划以达成既定目的。 - **工具使用接口**:调用API或其他服务实现复杂操作。 #### 应用场景实例 个人助理型LLM Agents可用于日程管理、邮件回复等领域;企业级应用方面,则可能涉及客户服务聊天机器人或者内部流程自动化解决方案等。此外还有研究指出多智能体系结构下不同类型的agents之间协作能带来更强大的整体表现[^2]。 ```python # Python伪代码展示如何创建一个简单的LLM Agent框架 class LLMAgent: def __init__(self, llm_model): self.llm = llm_model def perceive_environment(self, input_data): pass def plan_action(self, state_info): pass def execute_task(self, action_plan): pass ``` #### 性能优化策略 为了提高LLM的表现水平,除了调整算法本身的参数外,还可以考虑采用更大规模的数据集进行再训练以及利用高性能硬件设施加速运算过程。另外值得注意的是引入适当的技术手段如超参数微调、正则化项设置和数据扩充等方式也有助于改善最终效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值