使用说明
基于A2A和MCP的多Agent客户服务系统
概述
该项目实现了 多代理客户服务自动化系统 它使用以下方式协调专门的会话代理 代理人对代理人(A2A) 通过通信和检索真实的客户数据 模型上下文协议(MCP).
该系统模拟了现代服务平台如何通过路由任务、专家之间的协商以及在共享数据库上执行多步操作来处理查询。
系统架构
MCP服务器
MCP服务器充当后端数据服务,连接到数据库和 暴露工具 代理人可以在谈话中打电话。
数据库表
- 客户
- 门票
暴露的MCP工具
| 工具 | 说明 |
|---|---|
| get_customer(customer_id) | 检索客户资料 |
| list_customers(状态、限制) | 按状态列出客户 |
| update_customer(customer_id,data) | 更新客户字段 |
| create_ticket(customer_id、issue、priority) | 创建支持票证 |
| get_customer_history(customer_id) | 检索历史票证 |
代理层
| 代理人 | 职责 |
|---|---|
| 路由器代理 | 解析用户查询、检测意图、分配任务、调解代理通信、合成最终答案 |
| 客户数据代理 | 调用MCP工具获取或更新记录,验证数据,返回结构化结果 |
| 客服专员 | 处理客户支持逻辑,可以升级任务,生成服务响应,在需要时请求数据 |
安装和设置
1.克隆回购
git clone https://github.com/ChristinaDong490/Multi-Agent_Customer_Service_System_with_A2A_and_MCP.git
2.安装依赖项
推荐使用Python 3.10+。
pip install flask flask-cors requests termcolor pyngrok bitsandbytes -q
3.初始化SQLite数据库
python database_setup.py
这将创建:
customers桌子tickets桌子- 插入样本客户和门票
4.运行MCP服务器
start_server()
check_server_status()