26个开源Agent开发框架调研总结(2)

根据Markets & Markets的预测,到2030年,AI Agent的市场规模将从2024年的50亿美元激增至470亿美元,年均复合增长率为44.8%。

Gartner预计到2028年,至少15%的日常工作决策将由AI Agent自主完成,AI Agent在企业应用中的重要性正在飞速上升。

可以预见,今后几年AI Agent的应用开发还将继续爆发!

建议先收藏此清单,以方便需要时能快速定位所需要的信息!

我们一共总结了26个热门Agent开源框架,由于篇幅过长,预计会分为5期发布。这里是第二期。

在整理这些开源框架时,也一起整理了相关的Agent框架设计论文,阅读这些论文可更深入全面的了解相关理论和对应Agent的设计思路。

前期回顾:

26个开源Agent开发框架调研总结(1)

本期主要介绍MetaGPT,Open Assistant,Haystack,AgentGPT,以及AutoGen这5个Agent开源开发框架。


06 MetaGPT

开源地址:

https://github.com/geekan/MetaGPT (46.6k stars)

MetaGPT是一个面向自然语言编程的开源多代理(Multi-Agents)开发框架,该框架可以模拟软件开发涉及的相应角色,并给不同角色分配相应AI Agent,如产品经理、架构师、项目经理、工程师和质量保障工程师。实现智能化、自动化的全流程软件开发。

图片

Agents之间通过一个共享的消息池实现协作通信。每个Agent都从此消息池订阅和消费与自身角色相关的消息,并把自己的处理结果或需要的后续任务再以结构化消息的形式发生到消息池,供其他Agent订阅消费。

图片

以编写一个完整的2048数字游戏为例,只需输入项目需求目标,然后:

  1. 产品经理Agent会自动理解并拆解需求,还能做竞品分析,最后输出完整的产品需求逻辑;

  2. 项目经理Agent拆解并列出所有项目任务,以保障项目能满足需求设计;

  3. 架构师Agent就会自动解析需求,生成对应的架构设计;

  4. 工程师Agent按照架构设计编写相应代码;

  5. 最后QA 工程师Agent根据需求进行测试。

图片

总体上来说,MetaGPT借助LLM,基本上实现了AI全自动化开发软件的设想,特别是对于一些不太复杂的需求,已经能节省相当一部分人力。

功能亮点:

  • 多代理协作机制,适合复杂任务的处理和团队协作。

  • 强化学习驱动的优化策略,提高任务执行效率。

  • 集成外部工具,支持广泛的应用场景。

  • 高度可扩展,能够根据需求定制多种任务和工具。

面向场景:

  • 自动化软件开发、项目管理与执行。

  • 复杂任务的分解与协作场景。

  • 自适应学习与任务优化场景。

07 Open Assistant

开源地址:

https://github.com/LAION-AI/Open-Assistant ( 37.2k stars)

Open Assistant 是由一家德国非营利组织 LAION 运营。项目开始于 2022 年 12 月, 目标是创建一个和 ChatGPT 具有相同能力的开源人工智能助手。

图片

看看他们的愿景(摘自官网):

“我们不会止步于复制 ChatGPT。我们希望建立未来的助手,不仅能够写电子邮件和求职信,而且能够做有意义的工作,使用 API、动态研究信息等,并能够由任何人进行个性化定制和扩展。我们希望以一种开放和可访问的方式做到这一点,这意味着我们不仅要建立一个伟大的 AI 助手,而且要使它足够小和高效,能够在消费者硬件上运行。”

图片

功能亮点:

  • 自我学习能力: 具备机器学习和深度学习能力,能够根据用户反馈不断优化自身性能,以提高智能水平和响应准确性;
  • 自动扩充知识:通过搜索引擎自动提取外部相关知识;
  • 多语言支持: Open Assistant 支持多达 35 种语言;
  • 集成交互能力:与第三方系统对接交互,自动提取相关信息;

面向场景:

  • 个性化的虚拟助手;

  • 客服系统‘

  • 自动化工作流与任务执行。

  • 语音助手与多模态对话系统。

08 Haystack

开源地址:

https://github.com/deepset-ai/haystack  ( 18.5k stars)

Haystack 是由 deepset.ai 开发的一款开源Agent开发框架,能够帮助快速构建基于RAG的知识问答系统、语义搜索或聊天类Agent, 支持与多种中间件集成,如 Elasticsearch、FAISS 等,形成灵活的管道或代理,以与数据互动,用于实现诸如检索增强生成(RAG)、问答、语义搜索或对话式聊天机器人等功能。

图片

Haystack提供开箱即用的文档分片和预处理功能(例如基于段落分段);支持关键词检索、语义检索(向量化)、Hybrid 检索(结合关键词和向量),并提供两种问答模式:Extractive QA(从文档中提取答案)和 Generative QA(基于 LLM 生成答案);而且对于大型企业文档,优化了检索性能,能够快速处理百万级文档集合。

功能亮点:

  • 模块化设计:Haystack 提供了多种组件(如文本搜索、文档检索、答案生成、模型微调等),可以根据需求自由组合。

  • 支持多种后端:支持 Elasticsearch、FAISS 等流行的索引和检索后端。

  • 多种问答模式:支持从简单的查询响应到更复杂的上下文感知型问答。

  • 集成多种模型:包括支持最新的 transformer 模型(如 BERT、T5、GPT 系列等)

  • 支持多种文档类型:原生支持PDF、Word、Excel、HTML等类型;

面向场景:

  • 企业级大规模文档搜索和信息提取;

  • 大规模知识库的问答系统(FAQ 系统、法律/医疗文档智能搜索);

  • 客户支持系统(如自动回复、智能客服)

在构建企业知识库这个场景,之前有详细对比过Haystack与Langchain的区别:全面对比Haystack 和 LangChain 构建企业知识库智能问答Agent

09 AgentGPT

开源地址:

https://github.com/reworkd/AgentGPT (32.4k stars)

AgentGPT是一个Agent创建平台, 基于FastAPI Python框架开发,可以直接在网页浏览器中创建和部署自主AI Agent。它利用大语言模型,包括GPT-3.5和GPT-4,使这些Agent能够在最小的人为干预下执行各种任务。

图片

用户可以为其Agent命名并分配特定目标,从而实现针对不同需求的个性化解决方案。

利用向量数据库,AgentGPT增强了长期记忆能力,使代理能够保留执行历史并访问长期信息,这对于复杂任务至关重要。

不过,它在企业级功能方面仍有不足之处,如缺乏托管环境和团队协作支持等。

之前看到网上有人将Auto-GPT 和Agent GPT混为一谈,但其实他们两个是面向不同用户群体的,区别还挺大的两个工具。这里顺便做下对比:

图片

功能亮点:

  • 自动化生成多步骤任务和子任务,完成复杂工作流。

  • 支持跨代理协作,适合大规模系统与任务执行。

  • 可以与外部工具和 API 进行深度集成,增强系统能力。

  • 自适应反馈机制,可以根据执行结果调整策略。

适应场景:

  • 任务调度与自动化执行。

  • 企业级项目管理与工作流自动化。

  • 多代理协作系统。

10 AutoGen

开源地址:

https://github.com/microsoft/autogen  (37k stars)

AutoGen 是一个多代理协作(multi-agent)和任务自动化框架,提供了强大的任务管理、调度和优化功能。它通过多个智能代理的协同工作,支持跨平台、多环境的任务执行。该框架适合应用于智能客服、企业自动化、跨平台任务调度等场景。

AutoGen生态系统提供创建AI Agent的全栈工具,特别是多代理工作流程,包括框架、开发者工具和应用程序。

图片

AutoGen框架采用了分层且可扩展的设计,每一层都拥有明确的职责,并以下层为基础逐步构建。层级包括:

  • Core API: 实现了消息传递、事件驱动代理以及本地和分布式运行时,具备灵活性和强大的功能。它还支持.NET和Python的跨语言兼容。

  • AgentChat API: 提供了一种简单但高度定制的API,用于快速原型开发。该API构建于核心API之上,与v0.2版本用户熟悉的多代理模式最为接近,支持诸如双代理对话或群聊等常见模式。

  • Extensions API: 支持第三方扩展,不断增强框架功能。它支持LLM客户端的特定实现(例如OpenAI、AzureOpenAI)以及代码执行等功能。

AutoGen Studio提供了界面化的构建multi-agent应用的能力。不需要编写一行代码,只需在页面上拖拽设置就可构建出功能强大的应用。

图片

功能亮点:

  • 多代理协作:支持多个智能代理同时工作,共同推动任务的执行,适用于需要团队合作的任务。

  • 自动化任务生成与调度:根据用户需求或预定义目标,自动生成并调度任务

  • 智能任务决策:利用自学习和智能决策系统,不断优化任务执行过程和策略。

  • 自适应反馈机制:根据任务执行过程中的反馈,系统能够自动调整决策和执行策略,提高任务完成的成功率。

面向场景:

  • 企业自动化工作流

  • 智能客服与支持

  • 跨平台任务调度与管理

  • 多任务协同与项目管理

关注AI应用探索,探索更多AI应用!

更多阅读:

26个开源Agent开发框架调研总结(1)

全面对比Haystack 和 LangChain 构建企业知识库智能问答Agent

全面对比AI Agent 与 Agentic AI

全面分析Agentic AI 在医疗健康行业应用场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/67075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IOS HTTPS代理抓包工具使用教程

打开抓包软件 在设备列表中选择要抓包的 设备,然后选择功能区域中的 HTTPS代理抓包。根据弹出的提示按照配置文件和设置手机代理。如果是本机则会自动配置,只需要按照提醒操作即可。 iOS 抓包准备 通过 USB 将 iOS 设备连接到电脑,设备需解…

Java面试核心知识4

公平锁与非公平锁 公平锁(Fair) 加锁前检查是否有排队等待的线程,优先排队等待的线程,先来先得 非公平锁(Nonfair) 加锁时不考虑排队等待问题,直接尝试获取锁,获取不到自动到队尾…

在 Linux 下Ubuntu创建同权限用户

我是因为不小心把最开始创建的用户的文件夹颜色搞没了,再后来全白用习惯了,就不想卸载了,像创建一个和最开始创建的用户有一样的权限可以执行sudo -i进入root一样的用户 如图这是最原始的样子 第一步 创建新用户,我这里是因为之前…

【Unity插件】解决移动端UI安全区问题 - Safe Area Helper

在移动端设计界面时,必须要考虑的就是UI的安全区。 Unity本身也提供了Safearea的API。 但在asset store时已经有人提供了免费的插件(Safe Area Helper),我们可以直接使用。 插件链接: https://assetstore.unity.com/p…

机器学习之随机森林算法实现和特征重要性排名可视化

随机森林算法实现和特征重要性排名可视化 目录 随机森林算法实现和特征重要性排名可视化1 随机森林算法1.1 概念1.2 主要特点1.3 优缺点1.4 步骤1.5 函数及参数1.5.1 函数导入1.5.2 参数 1.6 特征重要性排名 2 实际代码测试 1 随机森林算法 1.1 概念 是一种基于树模型的集成学…

OpenAI 故障复盘 - 阿里云容器服务与可观测产品如何保障大规模 K8s 集群稳定性

本文作者: 容器服务团队:刘佳旭、冯诗淳 可观测团队:竺夏栋、麻嘉豪、隋吉智 一、前言 Kubernetes(K8s)架构已经是当今 IT 架构的主流与事实标准(CNCF Survey[1])。随着承接的业务规模越来越大,用户也在使…

SpringBoot 使用 Cache 集成 Redis做缓存保姆教程

1. 项目背景 Spring Cache是Spring框架提供的一个缓存抽象层,它简化了缓存的使用和管理。Spring Cache默认使用服务器内存,并无法控制缓存时长,查找缓存中的数据比较麻烦。 因此Spring Cache支持将缓存数据集成到各种缓存中间件中。本文已常…

MySQL —— 在CentOS9下安装MySQL

MySQL —— 在CentOS9下安装MySQL 1.查看自己操作系统的版本2.找到对应的安装源3.上传我们在windows下,下载的文件,解压4.执行rpm命令,启用MySQL8仓库5.执行dnf install -y mysql-community-server6.设置开机自启动7.获得初始密码8.登录MySQL…

Center Loss 和 ArcFace Loss 笔记

一、Center Loss 1. 定义 Center Loss 旨在最小化类内特征的离散程度,通过约束样本特征与其类别中心之间的距离,提高类内特征的聚合性。 2. 公式 对于样本 xi​ 和其类别yi​,Center Loss 的公式为: xi​: 当前样本的特征向量&…

AI在软件工程教育中的应用与前景展望

引言 随着科技的快速发展,软件工程教育面临着前所未有的挑战与机遇。传统的教学模式逐渐无法满足快速变化的行业需求,学生们需要更多的实践经验和个性化的学习方式。而在这样的背景下,人工智能(AI)作为一项创新技术&a…

【微服务】面试 7、幂等性

幂等性概念及场景 概念:多次调用方法或接口不改变业务状态,重复调用结果与单次调用一致。例如在京东下单,多次点击提交订单只能成功一次。场景:包括用户重复点击、网络波动导致多次请求、mq 消息重复消费、代码中设置失败或超时重…

Redis 为什么要引入 Pipeline机制?

在 Redis 中有一种 Pipeline(管道)机制,其目的是提高数据传输效率和吞吐量。那么,Pipeline是如何工作的?它又是如何提高性能的?Pipeline有什么优缺点?我们该如何使用 Pipeline? 1、…

游戏引擎学习第78天

Blackboard: Position ! Collision “网格” 昨天想到的一个点,可能本来就应该想到,但有时反而不立即思考这些问题也能带来一些好处。节目是周期性的,每天不需要全程关注,通常只是在晚上思考,因此有时我们可能不能那么…

使用 C# 制作图像的特写窗口

许多网站都会显示一个特写窗口,其中显示放大的图像部分,以便您可以看到更多细节。您在主图像上移动鼠标,它会在单独的图片中显示特写。此示例执行的操作类似。(示例使用的一些数学运算非常棘手,因此您可能需要仔细查看…

Python学习(三)基础入门(数据类型、变量、条件判断、模式匹配、循环)

目录 一、第一个 Python 程序1.1 命令行模式、Python 交互模式1.2 Python的执行方式1.3 SyntaxError 语法错误1.4 输入和输出 二、Python 基础2.1 Python 语法2.2 数据类型1)Number 数字2)String 字符串3)List 列表4)Tuple 元组5&…

【MySQL】SQL菜鸟教程(一)

1.常见命令 1.1 总览 命令作用SELECT从数据库中提取数据UPDATE更新数据库中的数据DELETE从数据库中删除数据INSERT INTO向数据库中插入新数据CREATE DATABASE创建新数据库ALTER DATABASE修改数据库CREATE TABLE创建新表ALTER TABLE变更数据表DROP TABLE删除表CREATE INDEX创建…

力扣257(关于回溯算法)二叉树的所有路径

257. 二叉树的所有路径 一.问题描述 已解答 简单 相关标签 相关企业 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5…

Redis有哪些常用应用场景?

大家好,我是锋哥。今天分享关于【Redis有哪些常用应用场景?】面试题。希望对大家有帮助; Redis有哪些常用应用场景? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 是一个高性能的开源键值对(Key-Va…

【2024年华为OD机试】(A卷,100分)- 处理器问题(Java JS PythonC/C++)

一、问题描述 题目描述 某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。 编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。 如下图所…

设计模式-结构型-组合模式

1. 什么是组合模式? 组合模式(Composite Pattern) 是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性。换句话说,组合模式允…