AgentMesh -- 开源的多智能体 (Multi-Agent) 协作框架
<blockquote><p>AgentMesh 是一个开源的多智能体 (Multi-Agent) 平台,核心目标是解决多个智能体之间的通信和协同问题,真正实现 "1+1>2" 的效果。能够帮助用户快速创造自己的多智能体团队,或是让已有的多个单一智能体获得协同能力,最终解决更为复杂的任务。</p>
</blockquote>
<p><strong>Github地址:</strong> https://github.com/MinimalFuture/AgentMesh</p>
<p><strong>Demo</strong>:Demo视频</p>
<h1 id="背景">背景</h1>
<h2 id="单一智能体架构的瓶颈">单一智能体架构的瓶颈</h2>
<p>在介绍多智能体系统之前,首先需要论证的一个问题是,<strong>我们是否真的需要多个智能体</strong>?目前单智能体技术已经比较成熟,在各个AI平台都可以快速搭建出用于不同场景的Agent,一般来说这些Agent以大模型和提示词为基础,能够检索来自于知识库或数据库中的私有数据,并且能通过工具访问外部服务。</p>
<p>但是随着任务的复杂度提升,单智能体架构也会面临瓶颈:</p>
<ol>
<li><strong>上下文限制:</strong> 复杂任务下,多轮的思考和执行可能带来超长的上下文,超出模型的上下文限制</li>
<li><strong>注意力机制:</strong> 将不同场景下的角色定义和规则都写到一个智能体的系统提示词中,会降低指令遵循效果,同样的,给一个智能体配置大量的工具也会导致工具决策的准确性下降</li>
<li><strong>模型能力</strong>:不同模型擅长处理不同类型的任务,单个智能体难以实现模型动态的切换</li>
<li><strong>异构Agent</strong>:某些场景下处理特定任务的智能体天然就运行在不同的平台(例如你在salesforce运行了一个Agent可以访问你的CRM系统,而在OpenAI搭建了一个Agent并维护你的企业知识库)</li>
<li><strong>可扩展性</strong>:在单一智能体中,任务增加新的需求场景会导致已有的智能体设计越来越臃肿,并且变更后需要回归其他场景是否收到影响;而多智能体架构下只需增加新的智能体成员来负责这一需求。</li>
</ol>
<h2 id="多智能体架构演进">多智能体架构演进</h2>
<p>所以在面对复杂任务的场景下,单智能体到多智能体的演进其实是符合现实世界规律的,是一种经典的分而治之的思路。例如在<strong>现实工作</strong>中,一个团队中会有不同的岗位,每个成员有不同的技能,负责不同的子任务;在软件工程领域的<strong>SOLID原则</strong>中,这符合"单一职责原则",复杂的模块应该进行拆分;在<strong>微服务架构</strong>下,服务拆分后整个系统的可维护性、可扩展性都会得到提升,避免单点故障。</p>
<p>综上,理想的多智能体架构应该支持对每个智能体的<strong>模型、提示词、知识、工具</strong>进行独立的配置,每个智能体有自己的记忆,也有整个团队的上下文记忆。复杂任务进入后,智能体之间会通过<strong>通信和协作</strong>处理各自的子任务,单个智能体内部则支持多轮思考和调用工具,最终整个智能体团队将整合并交付完整的输出结果。另外,这些智能体可能分布在不同平台,使用不同的技术栈开发,运行在不同的服务器上。</p>
<p>最后说说与<strong>工作流 (Workflow)</strong>的差异,工作流更多是对各种原子能力的固定编排,优势是执行链路更为准确,缺点是每次新增需求都需要进行配置工作,适合更为明确的任务,例如定时获取指定接口的数据整理后推送,而多智能体则更适合更为发散、创造性的场景,泛化能力更强。</p>
<h2 id="agentmesh的目标">AgentMesh的目标</h2>
<p>目前已有的多智能体开源项目大多关注框架层,例如 <code>MetaGPT</code>、<code>Swarm</code>、<code>CamelAI</code>、<code>AgentVerse</code> 等,对于新场景的实现需要通过代码开发来完成,主要用于开发者将多智能体能力集成到已有的系统中,有一定使用门槛。</p>
<p><strong>AgentMesh</strong>最终想实现的是一个完整的多智能体平台,不仅可以为开发者提供代码开发框架,还可以让用户通过零代码配置的方式快速自定义自己的智能体团队,通过图形界面进行<strong>交互、管理和追踪</strong>,并且能够接入到各个常用软件中真正实现多智能体的具象化。AgentMesh可以运行在本地,最大化利用个人计算机的浏览器、文件系统、代码解释器等工具资源;也可以运行在云端,使用虚拟化的设备资源和第三方工具服务。另外AgentMesh还会解决<strong>异构Agent</strong>的协同问题,让运行在不同平台的Agent能够相互协作,共同解决问题。</p>
<h1 id="整体架构">整体架构</h1>
<h2 id="架构设计">架构设计</h2>
<p>根据上文中的多智能体平台想解决的问题和应用场景,AgentMesh的理想架构如下:</p>
<p><img alt="agentmesh-architecture" loading="lazy" src="https://i-blog.csdnimg.cn/img_convert/1845b36e0a9cdf11a1fe4b64bb6bfc54.jpeg" class="lazyload"></p>
<p>基于分层架构实现,保证每一层都具备可扩展性:</p>
<ul>
<li><strong>模型层:</strong> 支持主流商用模型的接入,同时支持通过ollama和vllm接入本地模型</li>
<li><strong>框架层:</strong> 多智能体核心能力部分,包括Agent所需的工具、记忆、知识、模型,以及负责多Agent交互的Team模块。其中Tools模块将支持通过MCP协议接入MCP Servers,同时支持集成自定义开发的插件;Team模块将支持远程异构Agent的加入和写作。整个核心框架层可通过 <code>agentmesh-sdk</code> 对外提供。</li>
<li><strong>应用层:</strong>多智能体团队将支持命令行运行、Web界面运行、通过SDK或API集成到自研应用中,以及提供常用通讯和办公软件的集成。</li>
</ul>
<h2 id="运行流程">运行流程</h2>
<p>任务运行时的决策处理流程如下,第一层是多Agent的规划策略,第二层是Agent内部工具的ReACT多轮决策:</p>
<p><img alt="agentmesh-run-flow" loading="lazy" src="https://i-blog.csdnimg.cn/img_convert/fab9a399263df82b808caaa7a1c62fc8.jpeg" class="lazyload"></p>
<h2 id="已实现功能">已实现功能</h2>
<ul>
<li><strong>基础的多Agent协同策略:</strong> 支持零代码的Agent定义、复杂任务拆解、多Agent间决策和Agent内多轮工具决策</li>
<li><strong>多种模型选择:</strong> 支持 OpenAI、Claude、DeepSeek、Qwen 等主流大模型,可为不同agent设置不同模型</li>
<li><strong>内置工具:</strong> 支持浏览器、搜索引擎、文件系统、终端等多种内置工具</li>
<li><strong>多种运行方式:</strong> 支持命令行、Docker、SDK 等多种运行和集成方式</li>
</ul>
<h2 id="后续规划">后续规划</h2>
<ul>
<li><strong>WebUI:</strong> 用户友好的多Agent管理和追踪界面</li>
<li><strong>支持MCP协议:</strong> 获得无限扩展的工具能力</li>
<li><strong>异构Agent通信:</strong> 支持打通不同Agent平台,与远程Agent共同协作</li>
<li><strong>更多模型:</strong> 支持更多模型厂商及本地开源模型</li>
</ul>
<h1 id="快速开始">快速开始</h1>
<p>项目提供三种使用方式快速构建并运行你的 Agent Team:</p>
<h2 id="1-终端运行">1. 终端运行</h2>
<p>在终端中命令行中快速运行多智能体团队:</p>
<p><strong>1.1 安装</strong></p>
<p><strong>环境准备:</strong> 支持 Linux、MacOS、Windows 系统,需要安装 python。</p>
<blockquote>
<p>python 版本推荐使用 3.11+ (如需使用浏览器工具),至少需要3.7以上<br>
以上。下载地址:python官网。</p>
</blockquote>
<p>下载项目源码并进入项目目录:</p>
<pre><code class="language-bash">git clone https://github.com/MinimalFuture/AgentMesh
cd AgentMesh
</code></pre>
<p>核心依赖安装:</p>
<pre><code class="language-bash">pip install -r requirements.txt
</code></pre>
<p>如需使用浏览器工具,还需要额外安装依赖 (可选,需要 python3.11+):</p>
<pre><code class="language-bash">pip install browser-use
playwright install
</code></pre>
<p><strong>1.2 配置</strong></p>
<p>配置文件为根目录下的 <code>config.yaml</code>,包含模型配置和Agent配置,可以从模板文件复制后修改:</p>
<pre><code class="language-bash">cp config-template.yaml config.yaml
</code></pre>
<p>填写需要用到的模型 <code>api_key</code>,支持 <code>openai</code>、<code>claude</code>、<code>deepseek</code>、<code>qwen</code> 等模型。</p>
<blockquote>
<p>配置模板中预置了两个示例:</p>
<ul>
<li><code>general_team</code>:通用智能体,适用于搜索和研究任务。</li>
<li><code>software_team</code>:开发团队,包含产品、工程和测试三个角色,可通过协作开发web网站,交付完整的项目代码和文档</li>
</ul>
<p>你可以基于配置模板修改或添加自己的自定义团队,为每个智能体设置不同的模型、工具、系统提示词。</p>
</blockquote>
<p><strong>1.3 运行</strong></p>
<p>你可以直接通过命令运行任务,通过 -t 参数指定配置文件中的团队,通过 -q 参数指定需要提出的问题:</p>
<pre><code class="language-bash">python main.py -t general_team -q "帮我分析多智能体技术发展趋势"
python main.py -t software_team -q "帮我为AgentMesh项目开发一个预约体验的表单页面"
</code></pre>
<p>同时也可以进入命令行交互模式,通过输入问题进行多轮对话:</p>
<pre><code class="language-bash">python main.py -l # 查看可用agent team
python main.py -t general_team # 指定一个team后开始多轮对话
</code></pre>
<h2 id="2-docker运行">2. Docker运行</h2>
<p>下载 docker compose 配置文件:</p>
<pre><code class="language-bash">curl -O https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/docker-compose.yml
</code></pre>
<p>下载配置模板,参考 1.2 中的配置说明,填写<code>config.yaml</code>配置文件中的模型API Key:</p>
<pre><code class="language-bash">curl -o config.yaml https://raw.githubusercontent.com/MinimalFuture/AgentMesh/main/config-template.yaml
</code></pre>
<p>运行docker容器:</p>
<pre><code class="language-bash">docker-compose run --rm agentmesh bash
</code></pre>
<p>容器启动后将进入命令行,与 1.3 中的使用方式相同,指定team后进入交互模式后即可开始对话:</p>
<pre><code class="language-bash">python main.py -l # 查看可用agent team
python main.py -t general_team # 指定一个team后开始多轮对话
</code></pre>
<h2 id="3-sdk集成">3. SDK集成</h2>
<p><code>Agentmesh</code>的核心模块通过SDK对外提供,开发者可基于该SDK构建智能体及多智能体团队,适用于在已有应用中快速获得多智能体协作能力。</p>
<p>安装SDK依赖:</p>
<pre><code class="language-bash">pip install agentmesh-sdk
</code></pre>
<p>以下是一个简单的使用示例,使用前请替换 <code>YOUR_API_KEY</code> 为你的实际API密钥:</p>
<pre><code class="language-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=))
# run user task
result = team.run(task="Write a Snake client game")
</code></pre>
<p><strong>项目地址:</strong> https://github.com/MinimalFuture/AgentMesh</p><br><br>
来源:https://www.cnblogs.com/zhayujie/p/18857116
頁:
[1]