多代理客户服务系统(A2A+MCP)
概述
一个分布式多代理系统,旨在自动化客户服务工作流程。该架构利用 代理人对代理人(A2A) 任务授权与 模型上下文协议(MCP) 用于安全、标准化的数据库访问。
该系统协调了三个自主代理来处理复杂的客户查询、数据检索和票务管理。
建筑
- 路由器代理(端口8100): 编排者。分析查询意图并将任务发送给适当的专家。
- 客户数据代理(端口8101): 数据专家。与MCP服务器接口,以获取和更新客户记录。
- 支持代理(端口8102): 支持专家。管理工单创建、状态检查和上报逻辑。
- MCP服务器(标准): 数据库接口。通过以下方式公开SQLite工具
FastMCP超过标准输入/输出。
先决条件
- Python 3.10+
pip- Node.js和npm(可选;仅MCP检查器验证需要)
安装
- 克隆存储库:
git clone
cd multi_agent_customer_service- 设置虚拟环境:
python -m venv venv
# Mac/Linux:
source venv/bin/activate
# Windows:
venv\Scripts\activate- 安装依赖关系:
pip install -r requirements.txt- 初始化数据库:
生成 support.db 以及种子初始数据。
python -m mcp_server.database_setup*与……确认 y 当提示时。*
用法
在单独的终端窗口中启动每个代理:
- 数据代理:
python -m agents.customer_data_agent - 支持代理:
python -m agents.support_agent - 路由器代理:
python -m agents.router_agent
测试与验证
1.端到端场景
执行集成测试套件以验证代理协调、任务分配和协商流程。
python -m tests.run_scenarios