当前位置: 首页 > news >正文

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 在医疗健康行业应用场景

相关文章:

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

根据Markets & Markets的预测,到2030年,AI Agent的市场规模将从2024年的50亿美元激增至470亿美元,年均复合增长率为44.8%。 Gartner预计到2028年,至少15%的日常工作决策将由AI Agent自主完成,AI Agent在企业应用中…...

Element UI与Element Plus:深度剖析

文章目录 前言一、概述二、技术特性三、设计理念四、使用体验五、迁移指南结语 前言 随着前端开发技术的快速发展,Vue.js 生态系统中的组件库也在不断进化。Element UI 和 Element Plus 是两个深受开发者喜爱的 Vue 组件库,它们分别构建于 Vue 2.x 和 V…...

二、BIO、NIO编程与直接内存、零拷贝

一、网络通信 1、什么是socket? Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,一般由操作 系统提供。客户端连接上一个服务端,就会在客户端中产生一个 socket 接口实例,服务端每接受 一个客户端…...

VSCode 更好用的设置

配置 {"terminal.integrated.fontSize": 15,"security.workspace.trust.untrustedFiles": "open","editor.minimap.enabled": false,"workbench.colorTheme": "Visual Studio 2017 Light - C","gnuGlobal.c…...

【git】-3 github创建远程仓库,上传自己的项目,下载别人的项目

一、如何使用Github 1、创建远程仓库 2、使用github拉取/推送代码 克隆仓库 向远程仓库推送代码-git push 二、上传我们自己的项目到github 方法一:直接上传 方法二:使用git命令 方法三: 将仓库拉取到本地上传 三、下载别人的项目 …...

计算机组成原理(1)

系统概述 计算机硬件基本组成早期冯诺依曼机现代计算机 计算机各部分工作原理主存储器运算器控制器计算机工作过程 此文章的图片资源获取来自于王道考研 计算机硬件基本组成 早期冯诺依曼机 存储程序是指将指令以二进制的形式事先输入到计算机的主存储器,然后按照…...

Openstack网络组件之Neutron

从Nova到Neutron:OpenStack网络架构的演变 在云计算和虚拟化技术迅猛发展的背景下,OpenStack 成为了构建私有云和公有云平台的首选解决方案之一。早期版本中,Nova 项目不仅负责计算资源的管理,还承担了提供基本网络连接的任务。然…...

神州数码交换机和路由器命令总结

神州数码交换机和路由器命令总结 一、神州数码交换机命令总结 1. 交换机恢复出厂设置及其基本配置. 1) //进入特权模式 2) del startup.cfg 2. Telnet方式管理交换机. 1) //进入全局配置模式 2) enable password 0 [密码] 3) Line 0 4 4) Password 0 [密码] 5) Login 3. 交换机…...

Spring MVC简单数据绑定

【图书介绍】《SpringSpring MVCMyBatis从零开始学(视频教学版)(第3版)》_springspringmvcmybatis从零开始 代码、课件、教学视频与相关软件包下载-CSDN博客 《SpringSpring MVCMyBatis从零开始学(视频教学版)(第3版&…...

《SQL ORDER BY》

《SQL ORDER BY》 介绍 SQL(Structured Query Language)是一种用于管理关系数据库管理系统的标准编程语言。ORDER BY语句是SQL中的一个重要部分,它用于对查询结果进行排序。在本篇文章中,我们将详细介绍SQL ORDER BY语句的用法、语法、示例以及一些高级应用。 语法 ORD…...

RabbitMQ基础(简单易懂)

RabbitMQ高级篇请看: RabbitMQ高级篇-CSDN博客 目录 什么是RabbitMQ? MQ 的核心概念 1. RabbitMQ 的核心组件 2. Exchange 的类型 3. 数据流向说明 如何安装RabbitQueue? WorkQueue(工作队列): Fa…...

DNS解析域名简记

域名通常是由: 权威域名.顶级域名.根域名组成的。 从左往右,级别依次升高,这和外国人从小范围到大范围的说话习惯相关。(我们自己是更习惯先说大范围再说小范围,如XX省XX市XX区XX路) DNS解析域名时,会先查…...

【2024年华为OD机试】(B卷,100分)- 求最小步数 (Java JS PythonC/C++)

一、问题描述 题目描述 求从坐标零点到坐标点 n 的最小步数&#xff0c;一次只能沿横坐标轴向左或向右移动 2 或 3。 注意&#xff1a;途径的坐标点可以为负数。 输入描述 坐标点 n 输出描述 输出从坐标零点移动到坐标点 n 的最小步数。 备注 1 < n < 10^9 用例…...

<C++> XlsxWriter写EXCEL

XlsxWriter XlsxWriter是一个用于创建和写入Excel 2007及以上版本&#xff08;.xlsx文件格式&#xff09;的C库。以下是对XlsxWriter的详细介绍&#xff1a; 主要功能 文本、数字和公式写入&#xff1a;可以向多个工作表中写入文本、数字和公式。格式设置&#xff1a;支持丰…...

接上一主题,实现QtByteArray任意进制字符串转为十进制数

函数&#xff1a; /// <summary>/// n进制字符串转为十进制数&#xff0c;snDefine的长度最小为二进制数。/// 例子&#xff1a;/// _pn(_Math::strNToInt(_t("1010"), _t("01")));/// _pn(_Math::strNToInt(_t("-1010"), _t("0123…...

CNN-GRU-MATT加入贝叶斯超参数优化,多输入单输出回归模型

CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型 目录 CNN-GRU-MATT加入贝叶斯超参数优化&#xff0c;多输入单输出回归模型预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现贝叶斯优化CNN-GRU融合多头注意力机制多变量回归预测&#xff…...

Java 如何传参xml调用接口获取数据

传参和返参的效果图如下&#xff1a; 传参&#xff1a; 返参&#xff1a; 代码实现&#xff1a; 1、最外层类 /*** 外层DATA类*/ XmlRootElement(name "DATA") public class PointsXmlData {private int rltFlag;private int failType;private String failMemo;p…...

uniapp 之 uni-forms校验提示【提交的字段[‘xxx‘]在数据库中并不存在】解决方案

目录 场景问题代码结果问题剖析解决方案 场景 uni-forms官方组件地址 使用uniapp官方提供的组件&#xff0c;某个表单需求&#xff0c;单位性质字段如果是高校&#xff0c;那么工作单位则是高校的下拉选择格式&#xff0c;单位性质如果是其他的类型&#xff0c;工作单位则是手动…...

excel VBA 基础教程

这里写目录标题 快捷键选择所有有内容的地方 调试VBA录制宏&#xff0c;打开VBA开发工具录制宏,相当于excel自动写代码&#xff08;两个表格内容完全一致才可以&#xff09; 查看宏代码保持含有宏程序的文件xlsm后缀&#xff08;注意很容易有病毒&#xff09;宏文件安全设置 使…...

基于异步IO的io_uring

基于异步IO的io_uring 1. io_uring的实现原理 io_uring使用了一种异步IO机制&#xff0c;它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信&#xff0c;用户只需将IO请求放入提交队列&#xff0c;当内核完成IO请求时&#xff0c;会将结果放入完成队列&…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...