agent学习个人记录

In-Context Learning(ICL)

将一些带有标签的样本拼接起来,作为prompt的一部分。不涉及梯度更新,因此不属于ft

CoT

但是其依然属于静态的黑盒子,依靠其推理的结果很难与真实知识保持一致,且限制了推理过程中及时反应和知识更新的能力。从而可能引发推理过程中的幻觉问题。虽然目前有一些工作在研究嵌入式reasoning,但还没有研究如何将推理和行动以协同的方式结合起来解决通用任务,以及这种结合是否比单独的推理或行动带来系统性的好处

agent

ReAct

旨在通过提示的方式来让大语言模型能够协同Action和Reasoning。大语言模型在执行动作与外部环境进行交互的同时,能够及时的进行推理和思考,并基于这些思考及时地调整后续的Action。下图展示了ReAct的工作机制,挑选了两个例子(HotpotQA和AlfWold)并对比了其他三个Baseline(ICL、CoT、Act-only):

ReAct 方法也有其局限性。虽然将推理、观察和行动结合在一起提高了可信度,但模型可能会重复生成相同的想法和行动,无法创建新的想法以完成任务并退出 ReAct 循环 

Reason-Only

可能只需要进行推理,而不需要采取任何行动。例如,一个天气预报系统可能需要分析大量的气象数据来预测未来的天气状况,但不需要执行任何物理行动。

Act-Only

有些智能代理可能主要负责执行任务,而不需要进行复杂的推理。例如,一个自动化的咖啡机可以根据用户的简单指令(如“一杯咖啡”)来制作咖啡,而不需要进行复杂的环境分析或预测。 

RAISE

RAISE引入了一个模拟人类短期和长期记忆的双组件记忆系统。Scratchpad组件作为临时存储,捕捉和处理最近的交互信息,类似于短期记忆。检索模块则作为代理的长期记忆,提供与当前对话上下文相关的示例。

(1)对话模块

接受用户输入,给用户输出Agent处理好的回答

(2)LLMs

agent 的大脑🧠,负责感知,根据具体任务做出计划,Tool选择,总结等等。

(3)记忆模块

记忆模块帮助RAISE存储从环境中获得信息,帮助Agent做下一步的决策。记忆有以下组件构成:

System Prompt(系统级别Prompt) :包括profile(身份定义,对象,行为等等),任务指引,工具描述,few-shot examples, system prompt 可以是静态的,也可以是动态的
Context(上下文):包括对话上下文,任务轨迹。对话是query-response,任务轨迹 包含决策路径,具体来讲包括:计划,选择工具,执行,引导Agent未来决策
Scratchpad(便签🏷):记录背景信息、推理产生的知识以及先前工具使用的观察结果,这对多回合交互的效率至关重要。
Examples(样例):query-response的相关样例对
会话历史和便签记忆是对话级别的,examples和任务轨迹是轮次级别的

(4)工具

工具包含但不限于:数据检索,系统交互api,复杂的推荐系统,以及涉及其他LLM或代理的协作框架等。工具描述包含:工具名称,函数,参数(必要),参数(可选),使用样例

(5)Controller:控制Agent的loop

1.记忆更新

  • 添加用户query到会话历史
  • 用向量检索,从样例池子中,召回和当前任务和query相关的例子
  • 如果用户的query包含产品link,需要更新便签中的实体信息
  • 更新Agent的任务轨迹,添加Tool执行结果到便签记忆中
  • 任务后处理,更新Agent输出到会话历史

2.任务计划

3.任务执行
4.Agent综合所有信息来决定是否给用户返回当前结果,包含loop 次数,遇到的系统错误等等

RAISE 提高了智能体在长对话中保持上下文的能力。但RAISE 在理解复杂逻辑方面存在困难,限制了其在许多场景中的适用性。此外,RAISE 智能体经常在其角色或知识方面产生幻觉。例如,一个没有明确角色定义的销售智能体可能保留编写 Python 代码的能力,这可能会导致他们开始编写 Python 代码而不是专注于销售任务。

Reflexion

Reflexion 是一种使用语言反馈进行自我反思的单智能体模式。通过利用成功状态、当前轨迹和持久记忆等指标,该方法使用 LLM 评估器向智能体提供具体和相关的反馈。成功率提高,并且与思维链和 ReAct 方法相比,幻觉减少。

Reflexion 由三个不同的模型组成:Actor、Evaluator和Self-Reflection。Actor模型使用大型语言模型(LLM)根据状态观测量来生成文本和动作,并在环境中接收观察结果,从而形成轨迹。Evaluator模型负责评估Actor产生的轨迹的质量,并计算一个奖励分数以反映其性能。Self-Reflection 模型则对反馈内容进行反思,为后续流程提供有价值的反馈信息。这三个模型共同协作,在任务中不断迭代优化,从而提高决策能力。

multi-agent

Embodied LLM Agents Learn to Cooperate in Organized Teams

研究了领导智能体对团队整体效能的影响,发现有组织的领导智能体团队完成任务的速度比无领导的团队快10%。

垂直架构(Vertical Architectures):在这种结构中,一个智能体充当领导者,其他智能体直接向其报告。 水平架构(Horizontal Architectures)中,所有智能体被视为平等,并参与关于任务的一组讨论。

 此外,他们发现,在没有指定领导者的团队中,智能体花费大部分时间下达命令(约 50% 的沟通),其余时间分配给信息共享或请求指导。相反,在有指定领导者的团队中,领导者的沟通中有 60% 涉及下达指示,促使其他成员更多地关注信息交换和请求信息。他们的结果表明,领导者为人类时,智能体团队最为有效。除了团队结构之外,本文还强调了采用“批评-反思”步骤来制定计划、评估绩效、提供反馈和重新组织团队的重要性[9]。他们的结果表明,具有动态团队结构和轮换领导的智能体人提供了最好的结果,平均完成任务的时间最低,沟通成本最低。

DyLAN (Dynamic LLM-Agent Network)

创建了一个专注于复杂任务如推理和代码生成的动态智能体结构,通过动态评估和排名智能体的贡献来优化团队。

动态 LLM-智能体网络(DyLAN)框架创建了一个动态智能体结构,专注于复杂任务,如推理和代码生成【18】。DyLAN 有一个专门步骤,用于确定每个智能体在上一轮工作中的贡献量,并只将贡献者最多的智能体移至下一轮执行。这种方法本质上是水平的,因为智能体可以共享信息,且没有定义的领导者。DyLAN 在多种衡量算术和一般推理能力的基准上表现出色。这突显了动态团队的影响,表明通过不断重新评估和排名智能体贡献,可以创建更适合完成给定任务的智能体团队。

AgentVerse

多智能体架构 AgentVerse 展示了为小组规划划定明确阶段如何改善 AI 智能体的推理和问题解决能力【2】。AgentVerse 包含任务执行的四个主要阶段:招聘、协作决策、独立行动执行和评估。可以重复这些阶段,直到实现总体目标。通过严格定义每个阶段,AgentVerse 帮助指导智能体集体更有效地推理、讨论和执行任务。例如,招聘步骤允许根据目标进展情况移除或添加智能体。这有助于确保在问题解决的任何阶段都参与了正确的智能体。研究人员发现,水平团队通常最适合协作任务,如咨询,而垂直团队更适合需要明确分配工具调用职责的任务。

MetaGPT

许多多智能体架构允许智能体在协作解决共同问题时相互对话。这种对话能力可能导致智能体之间的多余对话,影响团队目标的达成。MetaGPT 通过要求智能体生成结构化输出(如文档和图表)而不是共享非结构化聊天消息来解决智能体之间无效对话的问题【11】。此外,MetaGPT 实现了“发布-订阅”机制用于信息共享。这使所有智能体可以在一个地方共享信息,但只阅读与其各自的目标和任务相关的信息。这简化了总体目标执行,减少了智能体之间的对话噪音。与单智能体架构在 HumanEval 和 MBPP 基准上的表现相比,MetaGPT 的多智能体架构显著提高了结果。

AutoAgents: A Framework for Automatic Agent Generation

 目前现有的LLM-based multi-agent方法都是依靠预定义的agent来实现简单的任务,这限制了其在复杂场景中的应用。本文提出了AutoAgents,它能够自适应地生成和协调多个分化(specialized)的agent,从而根据不同任务构造智能体团队。

在起草阶段,三个预定义的代理协作确定代理列表和执行计划。执行阶段通过启用代理间协作和反馈来细化计划,并交付最终结果。

1、Planner P :根据任务内容生成并细化代理团队和执行计划

2、Agent Observer Oagent:为Agent团队成员的合理性以及与任务的匹配程度提供建议。 Agent Observer首先验证每个Agent是否符合规范,并识别任何缺失的元素其次,Agent Observer根据每个Agent的描述信息和任务内容来评估它们与任务的兼容性。 最后,Agent Observer检查代理列表中是否存在冗余或缺失的角色,并相应地删除或添加它们。

3、Plan Observer Oplan :对执行计划的合理性以及与任务和代理团队的匹配程度提供建议。

简言之就是Planner生成初始代理团队成员和具体计划,并基于与agent Observer和plan Observer的持续沟通来改进代理团队和执行计划。

为了使Planner能够产生理性的代理,我们为单个代理的基本元素设计了一个标准格式。对于每个agent A = {P, D, T, S}, Planner需要指定agent的提示符P、描述D、工具集T和建议S。

对于给定的任务,Planner在执行计划p中描述完成该任务的具体步骤{S1,S2,...Sn},每个步骤Si都需要明确标识负责搞任务的agent AJ,以及该任务所需的输入信息和预期输出。Plan Observer随后根据代理列表{A1,A2,...An}和任务内容验证计划P={S1,S2...Sn}。首先保证每个步骤都有对应的代理,保证步骤内容连贯,简洁 其次,评估所有步骤是否足够,是否可以完成任务,以及是否存在需要填补的空白。 最后,它向Planner提供反馈,后者据此进一步完善执行计划。

多智能体通信: Action Observer作为不同代理的任务管理器,为它们分配不同的任务,验证每个代理的执行结果,并根据执行状态动态调整执行计划。这种细化和通信机制会重复进行,直到Action Observer对执行响应达成一致的协议,或者流程达到其最大迭代限制。

Self-refinement Agent:利用AutoGPT和ReAct等机制,我们为单个代理设计了一种自细化机制。

Collaborative Refinement Action:多个代理共同努力细化和执行任务。 在这个协作过程中,代理按照固定的顺序轮流发言,每一轮协作都基于当前观察生成回应。 每个代理的聊天历史槽位(即记录交流历史的区域)会更新,将其他代理之前的发言串联在一起。 协作会一直持续,直到代理达成任务共识或达到预定的最大讨论轮次为止,此时协作过程会自动终止。

Knowledge Sharing Mechanism:

1)短期记忆主要集中在单个智能体上,包括在个体智能体自我改进过程中产生的中间想法、计划和执行结果。

(2)长时记忆主要针对多个agent之间的通信,主要记录单个agent执行的任务和关键反馈信息的汇总。

参考:

新兴人工智能Agent架构的综述:推理、规划和工具调用_前沿数据在agent复杂推理中的作用-CSDN博客【Reflextion论文总结】-CSDN博客

论文阅读_3_大模型记忆反思_《From LLM to Conversational Agent: A Memory Enhanced Architecturewith Fine-Tuning o》_reasoning and acting through scratchpad and exampl-CSDN博客

万字长文慎入!AI 智能体架构在推理、规划和工具调用方面的现状揭秘!_智能体架构新进展:推理、规划与工具调用的深度探究-CSDN博客 ICLR‘24 大语言模型智能体最新研究进展丨多智能体篇_autoagents: a framework for automatic agent genera-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值