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

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

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

DemoDemo视频

背景

单一智能体架构的瓶颈

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

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

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

多智能体架构演进

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

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

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

AgentMesh的目标

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

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

整体架构

架构设计

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

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

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

运行流程

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

已实现功能

  • 基础的多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官网

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

bash 复制代码
git clone https://github.com/MinimalFuture/AgentMesh
cd AgentMesh

核心依赖安装:

bash 复制代码
pip install -r requirements.txt

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

bash 复制代码
pip install browser-use
playwright install

1.2 配置

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

bash 复制代码
cp config-template.yaml config.yaml

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

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

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

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

1.3 运行

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

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

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

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

2. Docker运行

下载 docker compose 配置文件:

bash 复制代码
curl -O https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/docker-compose.yml

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

bash 复制代码
curl -o config.yaml https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/config-template.yaml

运行docker容器:

bash 复制代码
docker-compose run --rm agentmesh bash

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

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

3. SDK集成

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

安装SDK依赖:

bash 复制代码
pip install agentmesh-sdk

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

python 复制代码
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

相关推荐
struggle20251 小时前
SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎
人工智能·开源·自动化
露临霜3 小时前
vue实现AI问答Markdown打字机效果
前端·javascript·vue.js·ai·github
Mu先生Ai世界5 小时前
探寻适用工具:AI+3D 平台与工具的关键能力及选型考量 (AI+3D 产品经理笔记 S2E03)
人工智能·游戏·3d·ai·aigc·产品经理·vr
CoderJia程序员甲5 小时前
PandasAI:对话式数据分析新时代
ai·数据挖掘·数据分析·pandas·deepseek
说私域5 小时前
基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量稳定性构建研究
人工智能·小程序·开源·零售
码观天工5 小时前
.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋
ai·c#·.net·pinecone·向量数据库
白熊18820 小时前
【计算机视觉】语义分割:MMSegmentation:OpenMMLab开源语义分割框架实战指南
人工智能·计算机视觉·开源
syphomn20 小时前
Win10下安装Linux-Ubuntu24.04双系统
linux·人工智能·windows·ubuntu·开源
Tester_孙大壮21 小时前
几个COZE智能体经验小分享
agent·智能体