金融机构每天处理成千上万的客户投诉,对每起投诉进行正确分类可以确定投诉是否在法规的最后期限内送达正确的团队。错误分类的投诉排错了队列,错过了监管的最后期限,削弱了客户的信任。除了准确性之外,监管机构还希望各机构证明投诉被归类的原因、谁拥有补救措施以及哪些证据支持解决路径——这使得辩护性与速度一样重要。
在这篇文章中,您将了解金融机构如何使用 Amazon Bedrock AgentCore 和 Strands AgentSDK(一个用于构建智能、模型驱动的人工智能代理的开源框架),通过近乎实时的代理解决方案实现投诉管理流程自动化,该解决方案对具有辩护理由的投诉进行分类,在每个决策点收集证据,跟踪服务级别协议合规性,分配明确的补救所有权并缩短平均解决时间。
监管背景
多个司法管辖区的监管要求要求严格的时间表和文件标准。FINRA 规则 4530 要求每季度进行投诉报告,并提供分类理由的支持证据。美联储的 AA 法规要求在 15 个工作日内进行确认,联邦存款保险公司要求在 14 天内进行确认,最终答复通常在 60 天内完成。在国际上,英国金融行为管理局执行严格的 DISP 规则,而加拿大的 FCAC 要求解决期限为 56 天。每个框架不仅需要及时的回应,还需要可审计的证据,证明各机构在整个投诉生命周期中应用了一致、可辩护的分类逻辑。
强有力的投诉管理计划在模式变得系统化之前就会浮出水面,并在每个阶段都表现出明确的所有权。然而,呼叫中心代理必须准确地对问题进行分类,确定严重程度,确定解决途径,收集支持证据,跟踪各司法管辖区的 SLA 合规情况,同时保持积极的客户互动。金融机构通过电话、电子邮件、聊天、移动和分支渠道接收投诉,在这些渠道中,孤立的受理流程迫使多次交接,成本成倍增加,监管机构希望机构发现的系统模式模糊不清。传统的人工分类会造成瓶颈,产生不一致的体验,并使机构在监管审查期间没有为决策辩护所需的审计线索。
解决方案概述
该解决方案使用 AWS 服务和 Agentic AI 专门为呼叫中心创建自动化、智能的投诉处理系统。该架构实现了:
-客户通话期间的实时投诉分析
-人工智能驱动的分类和严重性评估
-情境感知分辨率建议
-与现有票务和知识库系统集成
图 1:AWS 云联络中心 AI 代理架构
架构步骤
-客户发起呼叫:客户通过语音通道联系呼叫中心。呼叫中心应用程序接收来电并做好处理准备。
-实时转录:通话音频发送到 Amazon Transcribe Streaming 以进行实时语音到文本的转换。这使 AI 代理能够以文本形式处理客户请求。
-向主管代理的初始路由:呼叫中心应用程序生成入站身份验证访问令牌。它将转录的对话转发给主管代理,以进行初步评估和路由决策。
-运行时身份验证:Amazon Bedrock AgentCore 运行时通过发送其代币进行验证,使用 Amazon Bedrock AgentCore Identity 进行身份验证。这可确保代理的运行时被授权在系统内运行。
-经过身份验证的网关连接:主管代理通过 /mcp 终端节点使用入站身份验证访问令牌建立与 Amazon Bedrock AgentCore 网关的连接。网关是路由请求的中心协调点。
-网关身份验证:Amazon Bedrock AgentCore Gateway 使用 Amazon Bedrock AgentCore Identity 独立进行身份验证,管理入站身份验证和出站身份验证流程。这可确保中央编排组件在路由请求之前获得正确授权。
-专业代理调用:根据客户的需求(例如投诉处理),网关使用基于 AWS 身份和访问管理 (IAM) 的访问控制调用相应的专业代理(投诉代理)。代理在其自己的经过身份验证的运行时环境中处理特定请求。
-CRM 集成:网关使用 API 密钥或令牌连接到外部案例管理/CRM 系统。这使系统能够检索客户历史记录、创建案例和更新业务系统中的记录。
分类的工作原理
并非每个电话都是投诉——有些是余额查询或账户变更。主管代理人评估意图,仅将已确认的投诉转交给专业的投诉代理,从而可以对每个问题进行独立测试和审计,并允许机构在不修改现有工作流程的情况下添加代理人(欺诈、账户服务)。
投诉代理使用以 Amazon Bedrock 知识库中存储的分类标准为指导的 LLM 推理。当脚本到达时,代理会根据可配置的分类法对其进行评估,并分配类别、严重性级别和路由组。机构通过更新知识库对其进行自定义,无需更改代码。
默认分类包括费用争议、未经授权的交易、服务降级、账户访问权限和监管升级等类别。严重程度(严重、高、中、低)取决于财务影响、监管截止日期的临近程度、客户情绪强度和投诉的复发率。例如,具有明显监管威胁的重复计费投诉被归类为严重投诉,而首次出现次要服务问题则较少。
数据保护注意事项
投诉记录有时可能包含个人身份信息 (PII),例如国民身份证号码或账户详细信息。以下控制措施可在解决方案的整个生命周期中保护敏感数据。
加密。亚马逊转录流媒体使用 TLS 1.2 对传输中的音频和转录数据进行加密。Amazon Bedrock AgentCore 使用 AWS 密钥管理服务 (AWS KMS) 客户管理的密钥对所有静态数据进行加密,确保机构保留对加密密钥轮换和访问策略的完全控制权。Amazon Bedrock 知识库存储投诉分类参考数据,默认启用服务器端加密。
访问控制和最低权限访问。Amazon Bedrock AgentCore Identity 在网关层执行基于身份的策略,确保只有经过身份验证的委托人才能调用投诉代理。每个组件(主管代理、投诉代理和知识库)都在专门的 AWS 身份和访问管理 (IAM) 角色下运行,该角色限定在最低要求的权限范围内。AgentCore Gateway 将入站身份验证(呼叫中心应用程序到代理)与出站身份验证(代理到 CRM/票务系统)分开,防止横向凭据重复使用。
个人身份信息编辑和屏蔽。Amazon Comprehend PII 检测与笔录管道集成,可在投诉代理处理分类逻辑之前识别和编辑敏感实体(账号、国民身份证号码和财务详细信息)。这可确保代理运行时根据经过编辑的记录进行运行,同时原始记录在受限访问的情况下仍然可用,以用于审计目的。
记录和审计跟踪。AWS CloudTrail 通过 AgentCore Gateway、投诉代理运行时和知识库查询捕获 API 调用。Amazon CloudWatch Logs 记录分类决策、置信度分数和路由操作,提供监管机构在考试期间所需的防御性审计记录。为了进一步加强审计跟踪,您可以使用 Strands 代理代码,在每个决策点将输入哈希和分类理由记录到 Amazon CloudWatch Logs 中。
解决方案实施
该解决方案是一个代理应用程序,使用亚马逊基岩 AgentCore 作为代理运行时,使用 AgentCore 运行时以及使用 AgentCore 身份的授权层(可选)。要跳过 AgentCore 部署步骤并在本地测试代理,请使用存储库中提供的 Streamlit 应用程序。该演示在本地调用代理,但仍需要 AWS 凭证才能访问 Amazon Bedrock。
先决条件
这篇文章假设你熟悉 Python、AWS CDK 和基本的 AWS 服务概念。在部署之前,请确保已安装和配置以下内容:
-Python 3.10 或更高版本
-AWS 命令行接口 (AWS CLI) 2.x 配置了可以访问 Amazon Bedrock 和 Amazon Bedrock AgentCore 的证书
-节点包管理器 (npm) 版本 18.x 或更高版本
-AWS 云开发套件 (AWS CDK) CLI — 使用 npm install 进行安装-g aws-cdk 版本 2.106 或更高版本
-AgentCore 入门工具包:python3-m pip install bedrock-agentcore-starter-toolkit-starter-too
-AWS CDK 已在您的目标账户和区域中引导:cdk bootstrap aws: //ACCOUNT_ID/REGION
-cdk bootstrap aws: //ACCOUNT_ID/REGION
注意:使用设置中的相应值替换 ACCOUNT_ID 和 REGION。
访问代码
完整的解决方案代码,包括 Streamlit 测试界面和 AWS CDK 部署脚本,可在我们的 GitHub 存储库中找到。
部署基础架构
安装基础架构依赖项并部署:
python3-m pip install-e”。[infra]” cd infra cdk deploy--all将代理部署到 AgentCore 运行时
配置 IAM 角色后,使用 AgentCore 入门工具包来配置和启动主管代理。从项目根目录开始:
cd.. agentcore 配置--entrypoint agent.py--非交互式 agentcore 启动调用已部署的代理
代理在 AgentCore Runtime 中运行后,您可以通过调用 invokeAgentRunTime API 来调用该代理 ARN 和包含要分析的脚本的 JSON 负载。
IAM SigV4 是 AgentCore Runtime 的默认身份验证机制。除了标准的 AWS 凭证外,它不需要其他配置。任何拥有 bedrock-agentCore: invokeAgentRuntime 权限的 IAM 委托人都可以致电该代理。这与 AWS API 使用的签名过程相同。
以下示例使用适用于 Python 的 AWS 开发工具包 (Boto3) 调用具有 IAM 身份验证的代理:
导入 boto3 导入 json 从 botocore.exceptions 导入 clientError agent_client = boto3.client(“bedrock-agentcore”)agent_arn = “arn: aws: bedrock-agentcore: us-east-1:111122223333: runtime/agentxxxxxxxxx” session_id = str (uuid.uuid4 ()) payload (uuid4 ()) = json.dumps ({“笔录”: (“客户:我现在非常沮丧。” “尽管我有足够的资金,但我还是被收取了透支费。” “这是不可接受的。我希望立即撤销这笔费用。”)}) .encode ()[可选] 使用 JWT 进行身份验证
对于最终用户通过身份提供商而不是通过 IAM 进行身份验证的应用程序,AgentCore Runtime 支持 JWT 持有者令牌身份验证。这非常适合已经使用亚马逊 Cognito、Auth0 或 Okta 等 OpenID Connect 提供商的网络和移动应用程序。下表描述了何时使用每种身份验证方法:
对于此解决方案,IAM SigV4 用作主要调用方法,因为代理是从后端基础设施调用的。如果您以后需要通过 Web 应用程序向最终用户公开代理,则可以使用 Amazon Cognito 或其他 OpenID Connect 提供商支持的 JWT 授权配置单独的运行时版本,并使用 AgentCore Identity 的凭证提供商支持使代理能够代表经过身份验证的用户访问第三方 API。
验证响应
成功的调用会返回流式响应。对于投诉记录,主管代理对互动进行分类,将其转发给投诉代理人,然后返回包含严重程度、类别、路由组、所采取的行动和建议的后续步骤的结构化结果:
{“结果”:{“is_complaint”:对,“摘要”:“投诉已确定:客户对透支费提出异议...“,“投诉”:{“分类结果”:“投诉”,“匹配标准”:[“沮丧”、“透支”、“超额收费”]},“投诉回应”:{“严重程度”:“高”,“类别”:“费用争议”,“路由群组”:“账单和费用”,“采取的行动”:[“已记录的投诉”,“已启动费用审查”、“已标记为优先处理”]、“next_steps”:[“24 小时内跟进”,“如果在 48 小时内未解决,则上报”]}}对于非投诉记录,代理人会返回非投诉分类表,并简要说明为何未找到投诉指标。
有关完整的部署演练(包括 IAM 策略配置、会话管理和个人堆栈部署选项),请参阅 GitHub 存储库自述文件。
测试和验证
该项目包括一个 Streamlit 界面,用于在部署到 AgentCore 之前在本地测试投诉分析工作流程。用户界面采用三面板布局:一个显示客户记录的对话面板,一个实时流式传输主管和投诉代理推理的评估面板,以及一个模拟下游 API 调用(例如案例创建和工单路由)的操作面板。
我们根据涵盖五个投诉类别和常规非投诉互动的 50 份通话记录的综合数据集对该代理进行了评估。该代理正确识别了投诉,准确率为 97.5%,假阴性率为 2.5%,这一指标对于监管环境尤其重要,在这些环境中,错过投诉可能会引发违反截止日期和审计结果。非投诉互动的分类时间平均不到 5 秒,因此例行查询可以顺利完成,不会给合规队列带来负担。
知识库特异性提高了分类准确性——在提供了详细评分标准的情况下,该机构在费用争议中实现了 100%的类别准确性,这表明机构可以通过投资其分类参考数据来调整绩效。投诉记录的平均端到端处理时间为 18 秒,而手动分类通常需要 5-9 分钟,这大大缩短了平均解决时间。
图 2:投诉代理演示版的屏幕录像
要开始演示,请安装项目依赖项并启动应用程序:
cd python3-m pip install-e. streamlit 运行 streamlit_app.py该应用程序将在您的浏览器中打开,并提供三种提交脚本的方法:使用侧栏文件上传器上传包含通话记录的.txt 文件,从侧栏中选择一个内置演示对话,或将脚本文本直接粘贴到上传的文件中。
当您提交成绩单时,主管代理会对互动进行分类,并将其理由传送给评估小组。如果代理人将笔录归类为投诉,则投诉代理人会对其进行处理。然后,在执行建议的操作之前,用户界面会显示一个人性化的环路审批门。该批准步骤反映了您在生产工作流程中应实施的人为监督——代理提出严重程度、路由组和一系列行动。在系统执行任何内容之前,人工审阅者会批准或驳回建议。
该演示需要配置可访问亚马逊基岩的 AWS 证书。两个代理都通过 Amazon Bedrock API 调用大型语言模型 (LLM)。无需部署 AgentCore 即可运行 Streamlit 接口,因为它直接调用模型。
清理
为避免因 Amazon Bedrock 模型调用、AgentCore 运行时会话和亚马逊 CloudWatch 日志产生费用,请删除您创建的资源:
删除 AgentCore 运行时:
agentcore 删除移除 AWS CDK 堆栈:
cdk 销毁--all-删除测试期间创建的所有亚马逊简单存储服务 (Amazon S3) 存储桶。
-如果不再需要,请移除亚马逊 CloudWatch 日志组。
可能的扩展
该解决方案为更广泛的人工智能驱动的客户体验改善奠定了基础。展望未来,您可以将其扩展到处理电子邮件和聊天渠道、集成情感分析或为低复杂度案例提供端到端解决方案。这包括:
-扩展到跨电子邮件、社交媒体和移动应用程序的多渠道处理,确保无论采用何种联系方式,都能进行一致的人工智能分析。
-使用 Amazon Comprehend 集成实时情绪分析,以检测挫折升级模式,并针对存在风险的互动触发主管即时警报。
-使代理人工智能能够自主解决低风险案例,例如账户更新、文件请求或安排有支持人员的通话,同时为费用撤销等财务决策实施人性化工作流程。
-通过使用代理人工智能自动生成文档,减少通话后工作。
结论
在这篇文章中,我们使用 Amazon Bedrock AgentCore 和 Strands AgentSDK 构建了一个智能投诉处理系统。您可以使用 AWS CDK 部署基础设施,配置 AI 代理以对投诉进行实时分类,将处理时间从 5—10 分钟的手动分类缩短到评估后的 18 秒,从而实现以下结果:
-缩短解决问题的平均时间
-始终如一地遵守监管截止日期(FINRA、CFPB、FCA)
-通过自动路由降低运营成本
-通过更快、更准确的回复提高客户满意度
免责声明:本博客文章仅供参考,不构成法律、监管或合规建议。请咨询您的法律和合规团队,以获取针对您的组织和司法管辖区的特定指导。