不同代理之间的区别

生成代理旨在模拟开放世界中的行为,与他人互动并响应环境变化。他们利用环境和过去的经验来生成行为。

协作多智能体系统在实践中被广泛应用。在这些系统中,每个智能体评估其他智能体的需求和能力,寻求合作和信息共享。

多种
LLM
支持

图形用户界面

执行
环境

插件

人类
反馈

工具
使用

XAgent

Docker & 本地

自动GPT

Docker & 本地

开放代理

Docker & 本地

聊天开发者

Docker & 本地

简要概述

XAgent

XAgent是一个开源实验性的大型语言模型(LLM)驱动的自主智能体,可以自动解决各种任务。

XAgent由三个部分组成:

  • 🤖 调度器负责动态实例化和分派任务给不同的代理。它允许我们添加新的代理并提高代理的能力。

  • 🧐 规划者负责为任务生成和修正计划。它将任务分解为子任务并为其生成里程碑,使代理能够逐步解决任务。

  • 🦾 Actor负责执行行动以实现目标并完成子任务。Actor利用各种工具来解决子任务,同时也可以与人类合作解决任务。

聊天开发者

ChatDev 是一个由聊天驱动的软件开发公司,汇聚了来自不同社会身份的代理。当人类“客户”提出初步任务时,ChatDev 的代理通过协作聊天进行有效的沟通和相互验证。

  • 🏞 设计代理可以在艺术模式下被触发,以创建在应用程序中使用的视觉效果。

  • 👨‍🔧 人机交互模式允许人类通过向代理提供反馈和建议来与ChatDev团队互动。

  • 💻 Git 模式为代理提供了使用 Git 管理版本的功能。

  • 🐳 包含与Docker环境的兼容性,以确保安全的操作性能。

  • ⚙️ 该系统促进渐进式开发,使代理能够基于现有代码库进行构建。

开放代理

我们构建了 OpenAgents,这是一个在日常生活中使用和托管语言代理的开放平台。我们现在在 OpenAgents 中实现了三个代理。 Paper

  • 用于数据分析的Xagent数据代理,支持Python/SQL和数据工具;

  • 拥有200多个每日工具的插件代理;

  • 用于自主网页浏览的Web Agent。

Alt text

我们采用并改进了LangChain来构建我们的代理。LangChain是一个用于构建基于LLM的应用程序的中间件/框架,具有多种内置组件以根据需要使用LLM。具体来说,我们的代理基于LangChain中的ReAct:一种代理迭代执行思考、行动和观察以完成分配任务的范式。

自动GPT

AutoGPT 是一个实验性的开源应用程序,展示了 GPT-4 语言模型的能力。这个程序由 GPT-4 驱动,将 LLM 的“思维”链接在一起,以自主实现您设定的任何目标。作为 GPT-4 完全自主运行的第一个示例之一,AutoGPT 推动了 AI 可能性的边界。

  • 🌐 互联网访问用于搜索和信息收集

  • 💾 长期和短期内存管理

  • 🧠 GPT-4 实例用于文本生成

  • 🔗 访问流行的网站和平台

  • 🗃️ 使用 GPT-3.5 进行文件存储和总结

  • 🔌 通过插件扩展性

代理

Agents 是一个用于构建自主语言代理的开源库/框架

Alt text

  • 长短期记忆: 库中的语言代理配备了通过VectorDB + 语义搜索实现的长期记忆和由LLM维护和更新的短期记忆(工作记忆)。

  • 工具使用: 库中的语言代理可以通过 函数调用 使用任何外部工具,开发者可以在 这里 添加自定义工具/API。

  • 网络导航: 库中的语言代理可以使用搜索引擎来导航网络并获取有用的信息。

  • 多智能体通信:除了单一语言智能体外,这个库支持构建多智能体系统,其中语言智能体可以与其他语言智能体以及环境进行通信。不同于大多数现有的多智能体系统框架使用预定义规则来控制智能体的行动顺序,Agents 包含一个 controller 函数,通过考虑之前的行动、环境和当前状态的目标,动态决定哪个智能体将执行下一步行动。这使得多智能体通信更加灵活。

  • 人类-代理交互: 除了让语言代理在环境中彼此通信,我们的框架还无缝支持人类用户自行扮演代理的角色,输入自己的动作,并与环境中的其他语言代理进行交互。

  • 符号控制: 与现有的仅使用简单任务描述来控制整个多智能体系统的语言代理框架不同,Agents 允许用户使用一个SOP (标准操作流程) 来定义整体任务的子目标/子任务,以便为语言代理自定义精细的工作流程。

参考文献