DataWhale的MetaGpt学习笔记——②

AI Agent

Agent其实就是整合了多个AI,有这么一个公式

Agent = 大语言模型(LLM) + 观察 + 思考 + 行动 + 记忆

  • LLM:作为大脑,是决策者,可以处理信息,从交互之中进行学习

  • 观察:可以感知环境。智能体可以从另一个智能体接受信息,也可以接受视频信号和音频信号等一系列信号

  • 思考:通过分析观察结果和记忆的内容产生后续行动,是智能体内部的决策过程,可能是LLM驱动的

  • 行动:智能体会在思考和观察下进行行动,可以是LLM的生成代码,或者自己手动预定义的操作,也可以使用工具,也就是说Agent可以学习调用外部的API来获取模型中缺失的信息。

  • 记忆:智能体惠存出过去的记忆,这是学习的最关键一点,它可以根据先前的结果调整在未来的行动。

我们给Agent设定一些目标以及任务,它可以迭代运行,并且有复杂的工作流程,并且可以自我对话,并不需要人类来指定和操控每一个部分的交互。

Chatgpt类的LLM有一个局限性就是不能执行太多个任务,而且容易中断。比如说我们在API返回一个错误的结果的时候,Agent可以读取错误并且修改请求来对其进行修复。

  • 上面的过程分为四个步骤
  1. 为Agent创建一个目标或者是主任务
  2. 丰富结果并将其存储在向量数据库中
  3. 创建新的任务并且重新设置任务列表的优先级

根据目标开始任务,然后转到从内存中获取上下文的查询。然后将其发送到创建代理,创建代理获取数据并将其发送到内存。然后,它将通过一个队列,该队列将完成任务的优先级排序。

比如说,我们用Openai接口发送一段信息,创建角色,并且让其执行相应的操作,比如我们这里将查询分解成了多个子任务。

sub_tasks = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[
    {"role": "system", "content": "You are an world class assistant designed to help people accomplishh tasks"},
    {"role": "user", "content": "Create a 1500 word blog post on ChatGPT and what it can do"},
    {"role": "user", "content": "Take the users request above and break it down into simple sub-tasks which can be easily done."}
  ]
)

然后,我们可以把子任务放入循环中处理,进行调用来执行子任务。

Agents的一些特性

生成Agents的设计将 LLM 与记忆、规划和反射机制相结合,使Agents能够根据过去的经验进行行为,并与其他Agents进行交互。

  • 记忆流:是一个长期记忆模块(外部数据库),用自然语言记录智能体经验的完整列表。

    • 每个元素都是一个观察结果,是由 Agent 直接提供的事件。代理人之间的交流可以引发新的自然语言陈述。

  • 检索模型:根据相关性、新近度和重要性,呈现上下文以告知Agents的行为。

    • 新近度:最近发生的事件得分较高

    • 重要性:区分平凡记忆和核心记忆。直接问LM。

    • 相关性:基于它与当前情况/查询的相关程度。

  • 反射机制:随着时间的推移将记忆合成更高层次的推论,并指导智能体未来的行为。它们是对过去事件的更高层次的总结(<-注意,这与上面的自我反思有点不同)

    • 提示 LM 提供 100 个最新观察结果,并根据这些观测/陈述生成3个最重要的高层次问题。然后让LM回答这些问题。

  • 规划与反应:将反思和环境信息转化为行动

    • 规划本质上是为了优化当前与时间的可信度。

    • 提示模板:{Intro of an agent X}. Here is X's plan today in broad strokes: 1)

    • 规划和反应时都会考虑主体之间的关系以及一个主体对另一个主体的观察。

    • 环境信息以树形结构呈现。

在Agent的引导下,大模型会把复杂的问题转换为多个小的问题,也就是说,对于更复杂的问题,首先要求LLM将问题转化为新问题,或分解为若干子问题。然后,通过递归方法,直到找到「原子问题」。在处理可以直接从推理中得出结论的问题时,会采用「演绎模式」(如 「让我们一步步思考」)来指导LLM直接得出结论。

在生成新问题或得出新结论时,通过「验证模式」,利用LLM自我批判能力进行验证和完善。

最后,「整合模式」要求 LLM 基于子问题的结果合成结论。

关于MetaGPT

MetaGPT是一个多智能体协作框架,将标准化操作(SOP) 程序编码为提示确保解决问题时采用结构化方法。要求智能体以专家形式参与协作,并按要求生成结构化的输出,例如高质量的需求文档、架构设计图和流程图等。结构化的输出对于单个智能体即是更高层次的思维链(Chain-of-Thought),对于下游角色则是语义清晰、目标明确的上下文(Context)。通过明确定义的角色分工,复杂的工作得以分解为更小、更具体的任务。从而提升了LLMs的输出质量。

主要特点:

  • 稳定的解决方案:借助SOP,与其他 Agents 相比,MetaGPT 已被证明可以生成更一致和正确的解决方案。

  • 多样化的角色分配:为LLM分配不同角色的能力确保了解决问题的全面性。

在MetaGPT中多智能体 = 智能体+环境+SOP+评审+路由+订阅+经济

  • 智能体:在单个智能体的基础上,扩展了多智能体定义。在多智能体系统中,可以由多个单智能体协同工作,每个智能体都具备独特有的LLM、观察、思考、行动和记忆。

  • 环境:环境是智能体生存和互动的公共场所。智能体从环境中观察到重要信息,并发布行动的输出结果以供其他智能体使用。

  • 标准流程(SOP):这些是管理智能体行动和交互的既定程序,确保系统内部的有序和高效运作。

  • 评审:评审是为了解决幻觉问题。人类的幻觉实际高于大语言模型,但人类已经习惯了幻觉与错误,日常中会通过大量评审来保障复杂工作每一步的可靠性。严谨有效的评审过程能将复杂工作整体的错误率降低90%

  • 路由:通信是智能体之间信息交流的过程。它对于系统内的协作、谈判和竞争至关重要。

  • 订阅:需求说了一个制度改革或市场变化,所有人都应该关注/判断影响/修改计划

  • 经济:这指的是多智能体环境中的价值交换系统,决定资源分配和任务优先级。

  1. 现状:MetaGPT目前解决了软件工程的中程任务,让用户不再只是与ChatGPT聊天,而是真正与智能体协作。因此,MetaGPT获得了来自全世界的广泛好评(多天世界第一),也带来了全世界工程师、投资人的诸多关注,吸引了多位顶级贡献者(背景有字节AILab / 叮咚算法 / 小红书算法 / 百度 / MSRA / TikTok / bloomgpt infra / bilibili / CUHK / 港科 / CMU / UCB等背景)

  2. 目标:希望能够拓展到任意行业任意天数的任务

  3. 关键点:ChatGPT只解决了聊天,并没有解决协作。而智能体可以与人类协作,意味着智能体会成为互联网级别的入口,并且会存在于大量的IM、硬件之中,取代已有的大量SaaS

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值