输入“/”快速插入内容

LLM Agent扫盲贴

2024年8月19日修改
作者:lucas大叔
一、Agent概述
在LLM赋能的自主agent系统中,LLM充当agent大脑的角色,并与若干关键组件协作:
规划(planning)
子目标分解:agent将大任务拆分为更小的可管理的子目标,使得可以有效处理复杂任务。
反思与完善:agent对历史动作可以自我批评和自我反思,从错误中学习并在后续步骤里完善,从而改善最终结果的质量。
记忆(Memory)
短期记忆:上下文学习即是利用模型的短期记忆学习
长期记忆:为agent提供保留和召回长期信息的能力,通常利用外部向量存储和检索实现
工具使用(tool use)
对模型权重丢失的信息,agent学习调用外部API获取额外信息,包括当前信息、代码执行能力、专有信息源的访问等等。
二、主流Agent框架
2.1. XAgent
XAgent是面壁智能联合清华大学 NLP 实验室共同研发开源的基于LLM的自主智能体,可以自动解决各种任务。 它被设计为一个通用的智能体,可以应用于各种任务,终极目标是创建一个可以解决任何给定任务的超级智能体。换句话说,打造的是超级无敌的多边形战士,不是单独为某个任务设计的特定智能体。
XAgent具有以下特点:
自主性 :XAgent可以在没有人类参与的情况下自动解决各种任务。
安全性 :XAgent被设计为安全运行。所有的行为都被限制在一个docker容器内。不用担心你的主机环境受到影响
可扩展性 :XAgent被设计为可扩展的。您可以轻松地添加新的工具来增强智能体的能力,甚至是新的智能体!
GUI :XAgent为用户提供了友好的GUI来与智能体交互。您也可以使用命令行界面与智能体交互。
与人类的合作 :XAgent可以与您合作解决任务。它不仅有能力在行进中遵循您的指导来解决复杂的任务,而且在遇到挑战时还可以寻求您的帮助。
XAgent由三部分组成:
调度器 负责动态实例化和分派任务给不同的智能体。它允许添加新的智能体和改进智能体的能力。
规划器 负责为任务生成和校正计划。它将任务分解为子任务,并为它们生成里程碑,使智能体能够逐步解决任务。
行动者 负责采取行动实现目标和完成子任务。行动者利用各种工具来解决子任务,它也可以与人类合作来解决任务。