多智能体客户服务系统

一个通过Agent-to-Agent (A2A)通信和Model Context Protocol (MCP)实现的多智能体客户服务自动化系统,用于处理查询、路由任务并在共享数据库上执行多步操作。

  • by ChristinaDong490
  • Jupyter Notebook
  • 本地部署
  • 更新于
在 GitHub 查看 ChristinaDong490/Multi-Agent_Customer_Service_System_with_A2A_and_MCP

使用说明

基于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()