• Members 1 post
    2025年7月6日 16:35

    智能体架构设计

    角色模块
    自主智能体通过承担特定角色来执行任务。角色模块的核心目的是通过在提示语中写入角色档案,从而影响大型语言模型的行为。这些角色档案通常包括基本信息,心理信息,以及社交信息。选择何种信息来定义角色档案,主要取决于应用场景。例如,如果应用旨在研究人类认知过程,那么心理信息尤为关键。在明确了所需的角色档案信息类型后,下一步即是为智能体创建具体的档案。现有文献中普遍采用了以下三种策略来生成角色档案:
    手工设计法通过人工指定智能体的角色档案。可以通过描述个性特征来设计智能体的档案,如“你是一个外向的人”或“你是一个内向的人”。这种方法已经在多个领域得到了广泛应用,如Generative Agent、MetaGPT、ChatDev、Self-collaboration等,这些方法通过手动指定不同角色和责任来促进智能体的协作。例如,PTLLM通过使用IPIP-NEO和BFI等个性评估工具,手动定义智能体的个性特征,以指导LLM生成多样化的响应。手工设计法的优点在于其高度灵活性,可以根据需要为智能体分配任何类型的档案信息。然而,这种方法的缺点是劳动密集,特别是在处理大量智能体时,可能会变得非常繁琐。
    LLM生成法则通过LLM自动生成智能体的档案。这种方法通常首先规定档案生成规则,明确智能体档案的组成和属性。随后,可以通过提供一些种子档案来作为示例,帮助模型生成更多档案。RecAgent就是采用这一方法,通过手动设计少量智能体档案,然后使用ChatGPT根据这些种子信息生成更多档案。LLM生成法大大减少了构建智能体档案的时间和工作量,特别适用于大规模人群中的应用。然而,这种方法的缺点在于,生成的档案可能缺乏精确的控制,导致智能体的档案可能与预期的特征有所偏离。
    数据集对齐法通过使用真实世界的数据集来生成智能体的档案。这种方法通常将真实人类数据集中的信息组织成自然语言提示,然后利用这些信息为智能体创建档案。例如,有研究将美国国家选举研究中的人口统计数据与GPT-3模型结合,赋予其相应角色,并研究GPT-3是否能生成与真实人类相似的结果。数据集对齐法的优势在于能够准确捕捉到现实世界的属性,使得智能体的行为更加贴近现实,更具现实意义。
    虽然上述三种方法通常是独立使用的,但将它们结合起来使用往往能带来额外的好处。在进行社会发展预测时,可以先使用真实世界的数据集来定义一部分智能体的档案,从而更准确地反映当前的社会状况。然后,对于那些在现实中不存在但可能在未来出现的角色,可以通过手工设计法为其他智能体分配角色,进一步促进对未来社会发展的预测。此外,其他策略也可以灵活组合使用,最大化其优势。

    记忆模块
    记忆模块在智能体体系结构设计中扮演着非常重要的角色,它存储从环境感知到的信息,并利用记录的记忆来促进未来的动作。
    记忆模块可以帮助智能体积累经验,自我进化,并以更一致,合理和有效的方式行事。这部分全面概述了内存模块,重点介绍其结构、格式和操作。
    记忆结构:基于LLM的自主智能体通常从人类记忆过程的认知科学研究中汲取灵感。人类记忆遵循从记录感知输入的感官记忆到短暂保持信息的短期记忆,再到长时间巩固信息的长期记忆的一般发展。在设计智能体记忆结构时,研究人员从人类记忆的这些方面汲取灵感。特别是,短期记忆类似于受Transformer架构约束的上下文窗口内的输入信息,长期记忆类似于外部向量存储,智能体可以根据需要快速查询和检索。下面,我们介绍两种常用的基于短期和长期记忆的记忆结构。
    统一记忆:这种结构只模拟人类的短期记忆,通常通过上下文学习来实现,记忆信息直接写入提示中。例如RLP是一个会话代理,它为说话者和听话者维护内部状态。在每一轮会话中,这些状态作为LLM提示,作为智能体的短期记忆。SayPlan是一个专门为任务规划设计的具体智能体。在这个智能体中,场景图和环境反馈作为智能体的短期记忆,指导其行动。CALYPSO是为游戏龙与地下城设计的智能体,它可以帮助地下城主创作和讲述故事。它的短期记忆建立在场景描述,怪物信息和之前的摘要上。DEPS也是一个游戏代理,为Minecraft开发。代理最初生成任务计划,然后利用它们提示LLM,这些计划可以被看作是智能体的短期记忆。在实践中,实现短期记忆是直接的,并且可以增强代理感知最近或上下文敏感的行为和观察的能力。
    然而,有限的上下文窗口限制了LLM将全面的记忆纳入提示,这可能会影响Agent的性能。这一挑战需要具有更大上下文窗口的LLM和处理扩展上下文的能力。因此,许多研究人员转向混合记忆系统来缓解这个问题。
    混合记忆:这种结构显式地模拟了人类的短期和长期记忆。短期记忆暂时缓冲最近的感知,而长期记忆随着时间的推移巩固重要信息。例如,生成代理采用混合记忆结构来促进代理行为。短期记忆包含有关代理当前情况的上下文信息,而长时记忆存储的是Agent过去的行为和思想,可以根据当前事件进行检索。AgentSims还实现了混合记忆架构,提示中提供的信息可以被认为是短时记忆。为了增强记忆的存储容量,作者提出了一种利用向量数据库的长时记忆系统,该系统便于有效的存储和检索。具体地说,智能体的日常记忆被编码为嵌入并存储在向量数据库中。如果智能体需要回忆其先前的记忆,长时记忆系统会使用嵌入相似性检索相关信息。这个过程可以提高智能体行为的一致性。在GITM中,短期记忆存储当前轨迹,长期记忆保存从成功的先前轨迹中总结的参考计划。长期记忆提供稳定的知识,而短期记忆允许灵活的计划。反射利用短期滑动窗口来捕捉最近的反馈,并结合持久的长期记忆。术语存储以保留浓缩的见解。这种组合允许利用详细的即时经验和高级抽象。SCM选择性地激活最相关的长期知识以将联合收割机与短期记忆结合,SimplyQuery利用用户查询作为短期记忆,并存储长期记忆,使用私有知识库的术语记忆。这种设计在保证用户隐私的同时提高了模型的准确性。MemorySandbox实现了长期和短期记忆来存储不同的对象,然后可以在各种对话中访问这些对象。用户可以在同一画布上与不同的代理创建多个对话,通过简单的拖放界面促进内存对象的共享。在实践中,整合短期和长期记忆可以增强智能体的长期推理和积累有价值经验的能力,这对于在复杂环境中完成任务至关重要。
    规划模块
    面对复杂任务时,人类倾向于将其分解为更简单的子任务,并分别解决。规划模块旨在赋予智能体这种人类能力,期望使智能体的行为更合理、更强大且更可靠。根据智能体在规划过程中能否接收反馈来可以将规划模块分为无反馈规划和有反馈规划两类。
    首先无反馈规划,无反馈规划指的是智能体在采取行动后不会收到能够影响其未来行为的反馈。主要包括以下几类:
    1、单路径推理:在这种规划策略中,最终任务被分解为若干中间步骤。这些步骤以级联方式连接,每个步骤仅通向一个后续步骤,LLM按照这些步骤实现最终目标。
    2、多路径推理:在这种策略中,用于生成最终计划的推理步骤被组织成树状结构。每个中间步骤可能有多个后续步骤。这种方法类似于人类的思维过程,因为人们在每个推理步骤中可能有多种选择。
    3、外部规划器:将大模型与外部规划器结合,提升大模型在具体领域的规划能力。如LLM+PDDL,LLM首先将任务描述转换为形式化的规划领域定义语言,然后使用外部规划器处理PDDL。最后,由大型语言模型将生成的结果转换回自然语言。
    其次是基于反馈的规划,基于反馈的规划指的是智能体在采取行动后可以接收反馈,这些反馈可以来自环境、人类和模型。主要包括以下几类:
    1、环境反馈:这种反馈来自客观世界或虚拟环境。例如,它可以是游戏任务完成的信号,也可以是智能体采取行动后的观察结果。具体而言,ReAct提出使用“思考-行动-观察”三元组来构建提示。思考部分旨在促进高层次的推理和规划,以指导智能体的行为。行动代表智能体采取的具体行动。观察对应于行动的结果,通过外部反馈获取,例如搜索引擎的结果。下一个思考会受到之前观察结果的影响,这使得生成的计划更能适应环境。
    2、人类反馈:除了从环境中获取反馈外,直接与人类互动也是一种非常直观的策略,能够增强智能体的规划能力。人类反馈是一种主观信号,它能有效地使智能体与人类的价值观和偏好保持一致,还有助于缓解幻觉问题。
    3、模型反馈:除了上述环境和人类反馈这类外部信号之外,研究人员还对来自智能体自身的内部反馈的利用进行了研究。这种反馈通常是基于预测练模型生成的。具体而言,提出了一种自我完善机制。该机制包含三个关键组成部分:输出、反馈和改进。首先,智能体生成一个输出。然后,它利用大型语言模型对输出进行反馈,并提供如何改进的指导。最后,通过反馈和改进来优化输出。这一输出-反馈-改进的过程会不断迭代,直至达到某些期望的条件。

    行动模块
    行动模块是智算代理系统中将决策转化为具体结果的重要组成部分,位于系统的最下游,直接与环境进行交互。该模块的设计与执行受到配置、记忆和规划模块的深刻影响,其核心任务是通过实施代理的决策来执行特定行动,从而实现预定目标。行动目标是代理执行行动时所期望的结果,常见的目标类型包括任务完成、通信和环境探索等。任务完成型目标指代理旨在通过其行动实现特定的任务,如在Minecraft中制作铁镐或在软件开发中完成特定功能。通信型目标则涉及代理与其他代理或人类的交互,以共享信息或协作,典型的例子包括在ChatDev中,代理通过交流共同完成软件开发任务。环境探索目标则要求代理探索未知环境,并通过探索和利用之间的平衡不断扩展其感知范围,像Voyager中的代理通过学习新技能来优化任务完成过程。行动生成方面,代理的行动并非简单的输入输出关系,而是通过不同策略和来源生成行动。常见的生成策略包括通过记忆召回行动和通过计划执行行动。通过记忆召回行动时,代理根据当前任务从其记忆中提取相关信息以生成行动,如Generative Agents通过维护记忆流,回顾近期的相关信息后执行行动。通过计划执行行动时,代理则基于预先生成的计划来执行任务,如DEPS中的代理会在没有失败信号时严格执行事先制定的行动计划。
    行动空间是代理可以执行的所有可能行动的集合,通常分为外部工具和内部知识两大类。外部工具指代理可以调用外部资源或工具来执行任务,如HuggingGPT通过整合HuggingFace模型生态处理复杂任务,WebGPT则通过生成查询来提取网页信息。内部知识则是代理依赖于自身的LLM内部知识来指导其行动,例如LLM的规划能力、对话能力以及常识理解能力,帮助代理生成合理的行动策略。行动影响是代理行动所产生的后果,通常表现在环境变化、内部状态变化以及触发新行动等方面。环境变化指代理的行动可能会直接改变环境状态,如移动位置、收集物品或建造建筑物。内部状态变化则可能影响代理本身,如更新记忆、形成新计划或获得新知识。触发新行动则意味着在任务完成过程中,某一行动可能会触发后续的行动,例如收集资源后,代理可能会启动建筑的构建。因此,行动模块的设计不仅关系到任务的完成效率,还直接影响代理在动态环境中的适应能力和灵活性。