成为新会员获取本项目完整AI智能体、代码和数据

加入会员群

人工智能正在深刻重塑客户服务领域。以往,当用户联系在线商店查询订单状态或申请退款时,常常面临漫长的等待或机械化的通用回复。而如今,基于大语言模型驱动的多智能体系统,能够理解用户意图、识别情感倾向,并在全天候运行中提供准确、个性化的响应——这正是AI智能体为客服场景带来的核心价值。

本文将项目中建模经验沉淀为一套对话式AI智能体。ADK为构建具备复杂推理能力的智能体提供了高层次框架,而A2A协议则为智能体之间的通信与协作提供了标准化语言,二者相辅相成,共同构成多智能体系统的技术基石。

文章帮助客户设计了基于 LangChain 框架的多智能体协作架构,将电商客服全流程任务拆解为用户交互、商品查询、订单处理三个核心智能体,每个智能体通过专属系统提示词明确角色边界,智能体之间通过标准化Tool抽象完成协作调用。采用DeepSeek大语言模型与FastAPI后端框架,实现了模块化、可扩展的客服系统,为理解多智能体客服架构提供了实战参考。

本项目完整AI智能体、代码和数据

下载资料

本文围绕基于ADK框架与A2A协议的多智能体客服系统构建,回答以下核心问题:(1)如何利用ADK框架模块化构建情感识别、知识检索与升级处理三类远程智能体?(2)A2A协议如何通过AgentCard服务发现与JSON-RPC标准化通信实现智能体间跨框架协作?(3)Coordinator协调智能体如何结合情感分析结果实现查询的智能路由?本文提供完整代码实现与可运行的AI智能体提示词。

Abstract: This paper addresses the construction of a multi-agent customer support system based on the ADK framework and A2A protocol, answering: (1) How to modularly build sentiment-analysis, knowledge-retrieval, and escalation remote agents using ADK? (2) How does the A2A protocol enable cross-framework agent collaboration through AgentCard discovery and standardized JSON-RPC communication? (3) How does the Coordinator agent achieve intelligent query routing based on sentiment analysis? Complete code and executable AI agent prompts are provided.

ADK框架概述

AI智能体近年来受到广泛关注,各类支持其开发的框架不断涌现。其中,ADK(Agent Development Kit)是一个模块化框架,专为构建生产级AI智能体而设计。ADK的核心理念是让智能体开发更贴近传统软件工程实践,使开发者能更轻松地进行扩展、测试和部署。

A2A协议概述

应用场景示例

以企业自动化入职流程为例:HR智能体负责收集文档和管理文书,IT智能体负责开设账户和分配设备,财务智能体负责将新员工注册到薪酬系统。通过A2A,一个协调智能体启动流程并将任务委派给各专业远程智能体,各智能体独立运行、完成各自职责并反馈更新,实现端到端的自动化入职体验。

项目架构概览

本系统接收客户文字消息,理解其意图和情感,并将其路由到合适的智能体进行处理。具体工作流程如下:

Streamlit演示界面

系统工作步骤

1. 接收客户查询作为输入

2. 调用三个独立的远程智能体:

· 情感识别智能体:分析用户消息的情感,分类为积极、中性或消极

· 知识检索智能体:通过检索增强生成技术从预定义知识库中查找答案

· 升级处理智能体:处理愤怒或沮丧的用户,模拟升级至人工支持团队

3. 协调智能体作为宿主智能体编排整个工作流——首先调用情感识别智能体评估用户语气,然后根据情感极性将原始查询路由至对应智能体

多智能体客服查询路由与解决系统架构图

整个流程的核心是A2A协议提供的标准化协作框架。通过发布Agent Card,智能体之间可以相互发现能力;通过严格的JSON-RPC协议保证消息格式一致性。

以用户输入”我非常不满意,你们的产品有问题”为例:

1. 服务发现:协调智能体查询情感识别智能体的AgentCard,确认其具备”情感分类”能力

2. 通信:将用户消息以标准JSON-RPC请求发送,情感识别智能体处理后返回”消极”结果

3. 协作:协调智能体确认升级处理智能体的能力后,将原始消息转发并完成升级处理

模型集成策略

本多智能体系统采用不同的大语言模型来匹配各智能体的任务特性,实现精度、速度与成本的平衡优化:

· 情感识别与升级处理智能体 — 采用Llama-3.1-8B指令微调版本,针对短文本、指令式提示进行优化,适用于快速情感分析

· 知识检索智能体 — 采用Qwen3-30B,具备可靠的函数调用能力和高召回率,适合知识库问答场景

· 嵌入模型 — 采用Qwen3-Embedding-8B,生成高质量向量嵌入,驱动RAG检索

通过为每个智能体匹配最适合的模型规格,系统在保持高精度的同时控制了推理成本。

相关技术文章图片

LangChain、FastAPI、Python大型语言模型LLM电商多智能体Multi-Agent客服系统|附代码

LangChain、FastAPI、Python大型语言模型LLM电商多智能体Multi-Agent客服系统

探索观点

工具函数实现

AI智能体依赖工具函数来执行任务、检索信息和与外部环境交互。以下是系统三个核心工具的实现。

知识库初始化与RAG流水线

系统的查询解决核心是一个知识库类,它加载FAQ的JSON文件,将文本分块后用嵌入模型向量化,最终构建向量索引——形成一套完整的检索增强生成流水线。

该流水线工作流程为:首先用文本分割器将FAQ条目切分为512词的语义块,然后用嵌入模型将每块映射为高维向量存入向量索引。用户提交查询时,系统从索引中检索最相关的前K个块,最后将这些块与用户问题一并送入大语言模型生成上下文感知的精准回答。

知识库数据源可以是内部帮助台系统、内容管理平台、API知识库或实时文档——在生产部署中可灵活替换。

查询解决工具

查询解决函数将用户问题发送至RAG引擎,若找到相关内容且模型生成了有意义的回答,则返回以 KB_RESULT 为前缀的结果;否则返回 NO_KB_MATCH,防止系统在知识库缺乏相关信息时编造答案。

情感分类工具

情感分类函数使用简洁的提示词模板,将用户消息的情绪倾向分类为积极、中性或消极三类,底层通过大语言模型API完成推理。内容不在三分类内,默认回退为 neutral。

升级处理工具

当用户发送沮丧或负面的消息时,系统通过升级处理工具模拟将案例升级至人工支持团队。该函数记录事件日志并返回用户友好的响应。在生产环境中,可触发创建工单或通过即时通讯工具通知团队。

远程智能体创建

在工具函数完成后,使用ADK的 LlmAgent 类创建智能体。每个智能体通过声明式方式配置四个关键组件:名称、大语言模型、工具集合和定义行为的指令提示。

三个远程智能体分别为:

· 情感识别智能体:接收用户消息,调用 analyze_sentiment 工具进行情感分类

· 知识检索智能体:调用 search_knowledge_base 工具查询知识库,确保仅返回有意义的回答

· 升级处理智能体:处理需人工介入的案例,调用 handle_escalation 工具模拟移交

A2A服务封装

为了将远程智能体暴露到网络中,需将它们包装在A2A服务中。ADK提供了官方的 A2aAgentExecutor,无缝桥接A2A协议与ADK运行时,大幅简化服务端设置。只需创建一个函数,接收ADK智能体和Agent Card,通过 A2aAgentExecutor 将它们连接,并用A2A SDK的 A2AStarletteApplication 包装即可。

协调智能体与客户端通信

协调智能体是整个系统的核心调度者,它作为一个工具使用A2A客户端与各远程智能体通信。每个 create_task 调用执行三步流程:(1)通过AgentCard端点进行A2A服务发现;(2)使用官方客户端工厂创建连接;(3)发送标准消息并处理响应流。

系统编排与启动

run_agents.py 是多智能体系统的主入口,负责编排整个启动序列。它利用异步编程和线程机制,将每个智能体作为独立的Uvicorn后台服务启动。

启动流程

· launch_agent_server():将每个智能体服务在独立线程中启动,实现并发运行

· probe_agent_health():轮询每个智能体的AgentCard健康检查端点,确保就绪

· boot_all_agents():按正确顺序编排完整启动序列

启动顺序为:先启动三个远程专业智能体(端口10020-10022),等待健康检查通过后,实例化协调智能体,最后启动协调智能体(端口10023)并确认就绪。

智能体启动运行状态

客户端交互界面

多智能体后端就绪后,使用Streamlit构建聊天界面,通过A2A协议与协调智能体直接通信。一个关键技术挑战是Streamlit的同步框架与A2A SDK异步客户端的适配——通过在独立后台线程中运行异步A2A通信,避免了事件循环冲突,确保界面保持响应。

核心逻辑分为两层:异步函数 call_orchestrator_async 使用A2A SDK官方客户端处理协议通信;同步包装函数供Streamlit组件调用。

Streamlit聊天演示界面

实际应用场景

本文展示的多智能体客服系统架构可拓展至多种业务场景:

应用场景核心能力预期价值
客服升级回退常见问题自动解决,复杂问题路由人工降低人力成本40%-60%
自动化入职引导引导新客户或员工完成设置,实时答疑缩短入职周期50%
内部帮助台处理IT、HR、财务请求,无需人工分拣工单处理效率提升3-5倍
API触发编排协调订单跟踪、退款处理等多后端服务业务流程自动化率提升
多语言支持检测语言和情感,路由到区域专属智能体覆盖全球用户,24/7运行

总结

核心问题与解决方案

问题一:如何构建多个独立且可协作的客服智能体?解决方案:使用ADK的 LlmAgent 类声明式定义三个专业智能体——情感识别、知识检索和升级处理,每个智能体绑定专属工具函数和大语言模型,通过系统提示词限定行为边界。ADK的模块化架构使各智能体职责单一、便于独立测试和维护。

问题二:如何实现智能体之间的标准化通信与协作?解决方案:采用A2A协议的AgentCard服务发现机制与JSON-RPC通信格式。每个智能体在标准端点发布能力描述,协调智能体通过查询AgentCard确认目标智能体的技能,再发送标准化请求并处理流式响应。这如同积木式架构,使智能体可独立开发、部署和替换。

问题三:如何根据用户情感智能路由查询?解决方案:协调智能体作为核心调度器,先调用情感识别智能体分析用户消息的情感极性,根据结果选择路由路径——正面/中性路由至知识检索智能体进行RAG查询,负面路由至升级处理智能体模拟人工转接,实现了端到端的情感感知智能客服体验。

技术创新与业务价值

1. 模型-任务匹配策略:为情感识别选用轻量级8B模型,为知识检索选用30B强推理模型,在保证精度的同时优化推理成本

2. 标准化跨框架协作:通过A2A协议实现ADK构建的智能体与其他框架智能体的互通,避免厂商锁定

3. RAG防幻觉机制:知识检索智能体在无匹配内容时明确返回 NO_KB_MATCH,防止模型编造答案

4. 异步线程桥接:Streamlit同步界面与A2A异步客户端的线程桥接方案,可作为类似场景的通用参考