AI News HubLIVE
站内改写3 分钟阅读

使用Amazon Bedrock AgentCore通过NLP构建AI驱动仪表盘自动化代理

本文介绍了一种结合Amazon Bedrock AgentCore、Strands Agents和Amazon Quick的多代理架构解决方案,用于构建安全、可扩展的AI代理,实现仪表盘的智能发现和修改,从而将数据转化为可执行的业务洞察。

来源AWS Machine Learning Blog作者: Aravind Hariharaputran

业务分析师在应对不断变化的业务需求时,经常需要等待数天才能完成仪表盘的修改。传统流程涉及向IT团队提交修改请求,IT团队需要解释需求、查阅API文档、理解表结构并部署更改。虽然这种方法保持了适当的监督和质量控制,但在需要快速更新仪表盘时,可能导致多天的周转时间。

该解决方案结合了Amazon Bedrock AgentCore、Strands Agents和Amazon Quick的功能,提供了一个安全、可扩展且智能的系统,用于构建和运行AI代理,同时将数据转化为可执行的业务洞察。

解决方案概述

在该方案中,我们采用基于Amazon Bedrock AgentCore和Strands框架的多代理架构。Amazon Bedrock AgentCore是一个代理平台,用于安全地大规模构建、部署和运行高效代理,无需管理基础设施。它通过智能内存和网关加速代理投入生产,实现安全、受控的工具和数据访问。该平台提供生产级安全性和动态扩展,并在生产中监控性能和質量。Strands Agents是一个代码优先的框架,用于构建与AWS服务集成的代理。此外,该方案还使用Amazon Quick,它提供AI驱动的商业智能能力,将分散的数据转化为所有人的战略洞察,从而实现更快的决策和更好的业务成果。

该架构由三个专门的代理协同工作:

  • 查找仪表盘代理:执行发现操作,包括搜索仪表盘以及从仪表盘和数据集中检索列元数据。
  • 修改仪表盘代理:执行配置更改,通过验证列、更新表格视觉对象和创建新的仪表盘版本来实现。
  • 编排代理:基于意图分类,将用户请求路由到相应的专用代理。

编排代理作为用户交互的入口点。当用户提交自然语言查询(如“将lastname添加到测试仪表盘”)时,Amazon Nova将请求分类为对话型或操作型。对话型查询直接使用Nova的大语言模型能力进行响应。操作型请求通过Strands框架路由到专用代理,验证更改是否可用,并自主执行修改,同时维护安全控制、审计跟踪,并保留原始仪表盘以便回滚。

架构组件

架构包括以下组件:

  • Amazon Bedrock AgentCore:托管Strands代理编排器和专门的子代理。
  • Amazon Nova:提供自然语言处理和推理能力。
  • Amazon Quick:仪表盘发现和修改操作的目标服务。
  • AgentCore Memory:维护对话上下文和会话状态。
  • Amazon Bedrock AgentCore Observability:记录代理决策并跟踪API交互。

实施步骤

要实现用于Quick自助服务的AI代理解决方案,需要完成以下高级步骤:

  1. 构建代理(查找仪表盘代理、修改仪表盘代理和编排代理)。
  2. 将代理部署到Amazon Bedrock AgentCore。
  3. 通过AWS管理控制台测试代理。

前提条件

需要以下前提条件:

  • 具有Amazon Bedrock、Amazon Quick和AWS身份和访问管理权限的AWS账户。
  • 包含现有仪表盘的活跃Amazon Quick账户。
  • 配置IAM权限以授予代理访问Quick API的权限。
  • Python 3.10或更高版本。
  • 安装uv包管理器。
  • 配置了适当凭证的AWS CLI。
  • Python和AWS服务的基本了解。

详细步骤

步骤1:构建Quick自助服务代理

构建三个核心代理:

1.1 构建查找仪表盘代理

该代理处理仪表盘发现操作。例如,当用户提交自然语言查询如“显示名称为'testing'的报告”时,编排器调用此代理,该代理执行list_dashboards API以检索仪表盘元数据,根据搜索条件过滤结果,并以结构化格式返回匹配的仪表盘。

该代理提供三种核心能力:支持精确和部分名称匹配的仪表盘搜索、列出账户中的可用仪表盘、以及从仪表盘及其底层数据集检索列信息。每个能力都实现为Strands的@tool函数。

1.2 构建修改仪表盘代理

该代理通过验证优先的工作流处理仪表盘配置更改。例如,用户请求“将lastname添加到testing仪表盘”。编排器将其路由到修改仪表盘代理,该代理验证列在数据集模式中存在,检索完整的仪表盘定义,更新表格视觉对象的字段井,并使用create_dashboard API创建新的仪表盘版本。

该代理支持两种主要操作:向仪表盘添加列(验证请求的列存在于数据集中但尚未出现)和从仪表盘删除列(确认该列当前已显示)。它不修改现有仪表盘,而是创建具有唯一标识符的新仪表盘,保留原始仪表盘用于审计和回滚。

1.3 创建编排代理

最终组件将查找仪表盘代理和修改仪表盘代理作为Strands框架内的工具进行协调。编排器定义系统提示,指定路由逻辑,并注册两个专用代理的工具,以便基于分类意图调用它们。路由逻辑通过自然语言理解处理多种查询模式。

通过这种多代理架构,业务分析师现在可以使用自然语言快速修改仪表盘,将数天的等待时间缩短到几分钟。该解决方案不仅提高了效率,还通过保留原始仪表盘和提供审计跟踪确保了合规性和安全性。