AgentMesh开源多智能体 (Multi-Agent) 平台

AgentMesh 是一个开源的多智能体 (Multi-Agent) 平台,核心目标是解决多个智能体之间的通信和协同问题,真正实现 “1+1>2” 的效果。能够帮助用户快速创造自己的多智能体团队,或是让已有的多个单一智能体获得协同能力,最终解决更为复杂的任务。

Github地址: https://github.com/MinimalFuture/AgentMesh

Demo:Demo视频

背景

单一智能体架构的瓶颈

在介绍多智能体系统之前,首先需要论证的一个问题是,我们是否真的需要多个智能体?目前单智能体技术已经比较成熟,在各个AI平台都可以快速搭建出用于不同场景的Agent,一般来说这些Agent以大模型和提示词为基础,能够检索来自于知识库或数据库中的私有数据,并且能通过工具访问外部服务。

但是随着任务的复杂度提升,单智能体架构也会面临瓶颈:

  1. 上下文限制: 复杂任务下,多轮的思考和执行可能带来超长的上下文,超出模型的上下文限制
  2. 注意力机制: 将不同场景下的角色定义和规则都写到一个智能体的系统提示词中,会降低指令遵循效果,同样的,给一个智能体配置大量的工具也会导致工具决策的准确性下降
  3. 模型能力:不同模型擅长处理不同类型的任务,单个智能体难以实现模型动态的切换
  4. 异构Agent:某些场景下处理特定任务的智能体天然就运行在不同的平台(例如你在salesforce运行了一个Agent可以访问你的CRM系统,而在OpenAI搭建了一个Agent并维护你的企业知识库)
  5. 可扩展性:在单一智能体中,任务增加新的需求场景会导致已有的智能体设计越来越臃肿,并且变更后需要回归其他场景是否收到影响;而多智能体架构下只需增加新的智能体成员来负责这一需求。

多智能体架构演进

所以在面对复杂任务的场景下,单智能体到多智能体的演进其实是符合现实世界规律的,是一种经典的分而治之的思路。例如在现实工作中,一个团队中会有不同的岗位,每个成员有不同的技能,负责不同的子任务;在软件工程领域的SOLID原则中,这符合"单一职责原则",复杂的模块应该进行拆分;在微服务架构下,服务拆分后整个系统的可维护性、可扩展性都会得到提升,避免单点故障。

综上,理想的多智能体架构应该支持对每个智能体的模型、提示词、知识、工具进行独立的配置,每个智能体有自己的记忆,也有整个团队的上下文记忆。复杂任务进入后,智能体之间会通过通信和协作处理各自的子任务,单个智能体内部则支持多轮思考和调用工具,最终整个智能体团队将整合并交付完整的输出结果。另外,这些智能体可能分布在不同平台,使用不同的技术栈开发,运行在不同的服务器上。

最后说说与**工作流 (Workflow)**的差异,工作流更多是对各种原子能力的固定编排,优势是执行链路更为准确,缺点是每次新增需求都需要进行配置工作,适合更为明确的任务,例如定时获取指定接口的数据整理后推送,而多智能体则更适合更为发散、创造性的场景,泛化能力更强。

AgentMesh的目标

目前已有的多智能体开源项目大多关注框架层,例如 MetaGPTSwarmCamelAIAgentVerse 等,对于新场景的实现需要通过代码开发来完成,主要用于开发者将多智能体能力集成到已有的系统中,有一定使用门槛。

AgentMesh最终想实现的是一个完整的多智能体平台,不仅可以为开发者提供代码开发框架,还可以让用户通过零代码配置的方式快速自定义自己的智能体团队,通过图形界面进行交互、管理和追踪,并且能够接入到各个常用软件中真正实现多智能体的具象化。AgentMesh可以运行在本地,最大化利用个人计算机的浏览器、文件系统、代码解释器等工具资源;也可以运行在云端,使用虚拟化的设备资源和第三方工具服务。另外AgentMesh还会解决异构Agent的协同问题,让运行在不同平台的Agent能够相互协作,共同解决问题。

整体架构

架构设计

根据上文中的多智能体平台想解决的问题和应用场景,AgentMesh的理想架构如下:

agentmesh-architecture

基于分层架构实现,保证每一层都具备可扩展性:

  • 模型层: 支持主流商用模型的接入,同时支持通过ollama和vllm接入本地模型
  • 框架层: 多智能体核心能力部分,包括Agent所需的工具、记忆、知识、模型,以及负责多Agent交互的Team模块。其中Tools模块将支持通过MCP协议接入MCP Servers,同时支持集成自定义开发的插件;Team模块将支持远程异构Agent的加入和写作。整个核心框架层可通过 agentmesh-sdk 对外提供。
  • 应用层: 多智能体团队将支持命令行运行、Web界面运行、通过SDK或API集成到自研应用中,以及提供常用通讯和办公软件的集成。

运行流程

任务运行时的决策处理流程如下,第一层是多Agent的规划策略,第二层是Agent内部工具的ReACT多轮决策:

agentmesh-run-flow

已实现功能

  • 基础的多Agent协同策略: 支持零代码的Agent定义、复杂任务拆解、多Agent间决策和Agent内多轮工具决策
  • 多种模型选择: 支持 OpenAI、Claude、DeepSeek、Qwen 等主流大模型,可为不同agent设置不同模型
  • 内置工具: 支持浏览器、搜索引擎、文件系统、终端等多种内置工具
  • 多种运行方式: 支持命令行、Docker、SDK 等多种运行和集成方式

后续规划

  • WebUI: 用户友好的多Agent管理和追踪界面
  • 支持MCP协议: 获得无限扩展的工具能力
  • 异构Agent通信: 支持打通不同Agent平台,与远程Agent共同协作
  • 更多模型: 支持更多模型厂商及本地开源模型

快速开始

项目提供三种使用方式快速构建并运行你的 Agent Team:

1. 终端运行

在终端中命令行中快速运行多智能体团队:

1.1 安装

环境准备: 支持 Linux、MacOS、Windows 系统,需要安装 python。

python 版本推荐使用 3.11+ (如需使用浏览器工具),至少需要3.7以上
以上。下载地址:python官网。

下载项目源码并进入项目目录:

git clone https://github.com/MinimalFuture/AgentMesh
cd AgentMesh

核心依赖安装:

pip install -r requirements.txt

如需使用浏览器工具,还需要额外安装依赖 (可选,需要 python3.11+):

pip install browser-use
playwright install

1.2 配置

配置文件为根目录下的 config.yaml,包含模型配置和Agent配置,可以从模板文件复制后修改:

cp config-template.yaml config.yaml

填写需要用到的模型 api_key,支持 openaiclaudedeepseekqwen 等模型。

配置模板中预置了两个示例:

  • general_team:通用智能体,适用于搜索和研究任务。
  • software_team:开发团队,包含产品、工程和测试三个角色,可通过协作开发web网站,交付完整的项目代码和文档

你可以基于配置模板修改或添加自己的自定义团队,为每个智能体设置不同的模型、工具、系统提示词。

1.3 运行

你可以直接通过命令运行任务,通过 -t 参数指定配置文件中的团队,通过 -q 参数指定需要提出的问题:

python main.py -t general_team -q "帮我分析多智能体技术发展趋势"
python main.py -t software_team -q "帮我为AgentMesh项目开发一个预约体验的表单页面"

同时也可以进入命令行交互模式,通过输入问题进行多轮对话:

python main.py -l                               # 查看可用agent team
python main.py -t general_team                  # 指定一个team后开始多轮对话

2. Docker运行

下载 docker compose 配置文件:

curl -O https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/docker-compose.yml

下载配置模板,参考 1.2 中的配置说明,填写config.yaml配置文件中的模型API Key:

curl -o config.yaml https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/config-template.yaml

运行docker容器:

docker-compose run --rm agentmesh bash

容器启动后将进入命令行,与 1.3 中的使用方式相同,指定team后进入交互模式后即可开始对话:

python main.py -l                               # 查看可用agent team
python main.py -t general_team                  # 指定一个team后开始多轮对话

3. SDK集成

Agentmesh的核心模块通过SDK对外提供,开发者可基于该SDK构建智能体及多智能体团队,适用于在已有应用中快速获得多智能体协作能力。

安装SDK依赖:

pip install agentmesh-sdk

以下是一个简单的使用示例,使用前请替换 YOUR_API_KEY 为你的实际API密钥:

from agentmesh import AgentTeam, Agent, LLMModel
from agentmesh.tools import *# model
model = LLMModel(model="gpt-4.1", api_key="YOUR_API_KEY")# team build and add agents
team = AgentTeam(name="software_team", description="A software development team", model=model)team.add(Agent(name="PM", description="Responsible for product requirements and documentation",system_prompt="You are an experienced product manager who creates clear and comprehensive PRDs"))team.add(Agent(name="Developer", description="Implements code based on PRDs", model=model,system_prompt="You are a proficient developer who writes clean, efficient, and maintainable code. Follow the PRD requirements precisely.",tools=[Calculator(), GoogleSearch()]))# run user task
result = team.run(task="Write a Snake client game")

项目地址: https://github.com/MinimalFuture/AgentMesh

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

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

相关文章

基于Jetson Nano与PyTorch的无人机实时目标跟踪系统搭建指南

引言:边缘计算赋能智能监控 在AIoT时代,将深度学习模型部署到嵌入式设备已成为行业刚需。本文将手把手指导读者在NVIDIA Jetson Nano(4GB版本)开发板上,构建基于YOLOv5SORT算法的实时目标跟踪系统,集成无人…

从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 8 |产品化与运维:批量标定、误差监控、OTA 升级与安全防护

Part 8 |产品化与运维:批量标定、误差监控、OTA 升级与安全防护 本章聚焦将嵌入式 Tracker 定位系统推向 量产与运维 阶段,覆盖 批量标定、误差监控、远程 OTA 升级 以及 定位安全防护,确保产品在大规模部署后仍能稳定、精准、可靠地运行。 一、批量标定平台搭建 标定流程…

gsplat 渲染库 安装部署笔记

目录 Windows 安装 Nvdiffrast安装 gsplat安装成功笔记: cu118测试ok vs 编译安装报错: 安装命令: 报错结果: Windows 安装 pip install gsplat 安装成功,调用报错: python -c "from gsplat import csrc as _C" Traceback (most recent call last): …

Java二维码学习

使用Java语言生成二维码有以下方式,一是谷歌的zxing,二是基于zxing实现的qrcode开源项目,三是基于zxing实现的qrgen开源项目 一 zxing 谷歌的zxing技术生成二维码,是MultiFormatWriter多写格式书写器生成BitMatrix位矩阵,然后将位矩阵的信息在BufferedImage中设置二维码…

工业质检/缺陷检测领域最新顶会期刊论文收集整理 | AAAI 2025【持续更新中】

会议官方论文列表:https://ojs.aaai.org/index.php/AAAI/issue/view/624 其中,2025年是第三十九届AAAI人工智能大会,主要对第三十九届相关论文进行梳理,当前已初版28期(volume 39 no. 28) 【Attention】 虽然本文主要面向的领域…

数据结构实验8.1:图的基本操作

文章目录 一,实验目的二,实验内容三,实验要求四,算法分析五,示例代码8-1.cpp源码graph.h源码 六,操作步骤七,运行结果 一,实验目的 1.掌握图的邻接矩阵、邻接表的表示方…

Spring Boot3 实现定时任务 每10分钟执行一次,同时要解决分布式的问题 区分不同场景

在Spring Boot 3中实现分布式定时任务,确保多实例环境下任务仅执行一次,可以采用以下方案: 方案一:Redis分布式锁(推荐) import org.springframework.data.redis.core.StringRedisTemplate; import org.sp…

WPF MVVM入门系列教程(五、命令和用户输入)

🧭 WPF MVVM入门系列教程 一、MVVM模式介绍二、依赖属性三、数据绑定四、ViewModel五、命令和用户输入六、ViewModel案例演示 WPF中的命令模型 在WPF中,我们可以使用事件来响应鼠标和键盘动作。 但使用事件会具备一定的局限性,例如&#x…

2025年01月09日德美医疗前端面试

目录 vue2 的双向绑定的原理vue3 的双向绑定原理vue 的生命周期vue 子组件为何不能修改父组件的值js delete 删除数组的某一个值会怎么样vue 和 react 的 diff 算法什么是闭包原型链this指向 vue2 的双向绑定的原理 以下是 Vue 2 双向绑定的原理: 1. 核心概念 …

知识图谱 + 大语言模型:打造更聪明、更可靠的AI大脑 —— 探索 GraphRAG 中文优化与可视化实践

大语言模型(LLMs)无疑是近年来人工智能领域最耀眼的明星。它们强大的自然语言理解和生成能力,在文本创作、代码生成、对话交互等众多领域展现了惊人的潜力。然而,当前的 LLMs 并非完美无缺,它们常常面临着“幻觉”&…

【uniapp】在UniApp中检测手机是否安装了某个应用

1. 使用plus.runtime.isApplicationExist(仅限App端) // 判断应用是否安装 function checkAppInstalled(packageName) {if (uni.getSystemInfoSync().platform android || uni.getSystemInfoSync().platform ios) {// 仅App端可用if (typeof plus ! u…

使用 Vue + Axios 构建与后端交互的高效接口调用方案

使用 Vue Axios 构建与后端交互的高效接口调用方案 在 Vue 前端开发中,与后端接口的数据交互是非常核心的部分。而 Axios 是 Vue 项目中最常用的 HTTP 客户端,具备基于 Promise、拦截器、自定义实例等诸多优势。 本篇将深入介绍如何基于 Vue 搭配 Axi…

RN学习笔记 ✅

太无聊了最近,找点事做,学一下RN丰富一下技术栈🫡。但是开发APP除了RN,还有一种选择就是WebView,但是基于WebView的APP的性能被普遍认为不如RN,因为WebView本质上是一个容器,用于在应用中嵌入网…

聊天助手提示词调优案例

一、背景 今天有粉丝说自己的聊天助手提示词输出的效果不好,输出的内容不是太呆板就是太浮夸,希望更像真人一样。 本文介绍几个调优方法,希望对大家有启发。 二、调优 《系统掌握大语言模型提示词 - 从理论到实践》提示词小册中介绍了很多…

5.6 react组件化开发基础

react 组件开发基础 组件分类与组件使用 组件传参 父传子 【函数数据传值 实参 形参对应关系】 子传父 插槽 透传 useContext 上下文(作用域) 跨层级调用方法 通过子组件的实例对象useRef 直接调用子组件的方法 和数据 状态管理(非常多…

【SF顺丰】顺丰开放平台API对接(Java对接篇)

对接前置篇: 【SF顺丰】顺丰开放平台API对接(注册、API测试篇)_顺丰api接口对接指南-CSDN博客 1.实现效果展示 2.SF顺丰开放平台,JDK资源下载。 下载地址:顺丰开放平台 3.将下载的JDK放入项目中。 4.将JDK资源引入p…

我用cursor 搭建了临时邮箱服务-Temp Mail 365

用业余时间搭建了一个临时邮箱,对于后端程序员出身的我,对前端了解的不太多,有了cursor的帮助,补齐了自己的短板,搭建了这个服务,下面对临时邮箱架构设计与安全性做一个分析。 https://temp-mail-365.com 临…

破解工业3D可视化困局,HOOPS Visualize助力高效跨平台协作与交互!

一、当前3D可视化面临的痛点 (1)性能瓶颈 现有的许多3D可视化工具在处理大型复杂模型时往往力不从心。例如在航空航天、汽车制造等高端制造业,动辄涉及数以亿计的三角面片和海量的纹理细节。这些超大规模的模型在渲染时常常出现卡顿、延迟&…

1、Kafka与消息队列核心原理详解

消息队列(Message Queue, MQ)作为现代分布式系统的基础组件,极大提升了系统的解耦、异步处理和削峰能力。本文以Kafka为例,系统梳理消息队列的核心原理、架构细节及实际应用。 Kafka 基础架构及术语关系图 术语简要说明 Produce…

2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛初赛-wp

- -考试当场没做出来 后面做的 misc ❯ cd misc ❯ ls num.docx num.zip ❯ unzip num.docx Archive: num.docxinflating: [Content_Types].xmlinflating: _rels/.relsinflating: word/document.xmlinflating: word/_rels/document.xml.relsextracting: word/media/image1.jp…