一句话结论
荷兰零售商 HEMA 基于亚马逊云服务构建内部 AI 助手,打通分散系统信息以提升知识获取效率。
关键要点
- HEMA 使用 Strands Agents 框架和 Amazon Bedrock AgentCore 构建名为 HAL 的内部 AI 助手,采用 Next.js 提供 Web 聊天界面。
- 系统支持 MCP 协议接入,允许 Kiro、Claude 等外部客户端消费工具,客户端无需持有 AWS 凭据。
- 安全认证基于 Microsoft Entra ID,通过 Entra MCP Gateway 实现自定义 JWT 认证,访问控制由 Active Directory 组驱动。
- 知识来源包含 Amazon Bedrock Knowledge Bases 构建的多个知识库,涵盖 IT 文档、API 规范、Kafka 事件主题及 Avro 模式。
- HAL 当前提供只读访问,计划扩展为行动层,实现即时操作功能,如通过 MCP 动作工具开通新 AWS 账户。
背景与事实
HEMA 是一家拥有超过 750 家门店的多国荷兰零售商,其技术团队由工程师、产品负责人和业务分析师组成,负责公司的数字化转型。由于内部知识分散在维基、服务目录和 IT 门户等多个系统中,新员工入职速度慢、答案不一致、频繁切换上下文成为核心痛点。为此,HEMA 的 Mauro Rallo 和 Patrick van der Plas 共同设计并实施了名为 HAL 的 AI 助手,旨在将分散信息转化为即时答案。
HAL 1.0 是自包含助手,采用 Next.js 构建 Web 聊天 UI,内部 Agent 为 Strands Agent,封装在 Linux/ARM64 容器中运行于 Amazon Bedrock AgentCore 运行时。系统配置了 AgentCore 短期记忆及 Amazon Bedrock Guardrails(Standard 层级),使用欧盟跨区域推理支持荷兰语。知识来源包括基于 Amazon Bedrock Knowledge Bases(全托管 RAG)构建的多个知识库,内容涵盖 IT 文档、API/OpenAPI 规范、Kafka 事件主题及 Avro 模式、数据整合层(DCL)渠道及服务目录。检索采用两步模式:初始搜索及获取全文,利用 Amazon Bedrock 重排序及 team_id 元数据过滤提升质量。
为解决外部客户端访问问题,HEMA 部署了第二个 AgentCore Gateway,即 Entra MCP Gateway。由于 AgentCore Gateway 仅支持单一入站认证类型,无法复用内部 IAM 网关,故新建独立网关,仅共享只读知识库。MCP 认证代理位于 Entra Gateway 前端,基于 Amazon API Gateway v2 HTTP API 及单个 Lambda,处理 MCP OAuth 规范与 Entra ID 的适配。该代理提供 OAuth 发现文档,重写 scope,移除 Entra v2.0 拒绝的 legacy resource 参数,添加 response_mode=query,并代理 /mcp 请求。动态客户端注册(DCR)通过桩实现的 /register 端点模拟,返回固定预置 client ID。最终用户配置仅需代理 URL 及空 oauthScopes 列表,首次连接需浏览器登录,随后自动刷新令牌。
基础设施基于 AWS CDK 构建,采用 TypeScript monorepo 及 npm workspaces 管理;内部 Agent 以 Docker 容器形式在 AgentCore 运行时执行;租户、客户端及资源标识等环境配置通过 AWS Systems Manager(SSM)参数提供。HAL 在上线前部署至预发布环境,供工程师和业务用户进行为期一个月的手动测试,验证了答案质量、覆盖缺口及日常可用性,随后推广至生产环境。
影响分析
对中文开发者而言,HEMA 的实践展示了如何利用托管 RAG 服务和 MCP 协议解决企业内部知识孤岛问题。特别是通过 Entra ID 实现客户端无 AWS 凭据访问的模式,为安全敏感型企业提供了参考方案。Strands Agents 框架的使用表明,企业可以选择开源框架替代专有 Agent 开发工具,同时保持与云平台服务的集成能力。
对于从事 AI 工程落地的从业者,该案例揭示了从只读查询到行动层扩展的技术路径。通过复用现有身份认证和授权模型,将操作暴露为 MCP 动作工具,可以降低新功能开发的安全成本。这种渐进式实施策略(先聊天界面,后开放给日常工作工具)为类似企业提供了可复制的落地方法论。
适用边界
该方案不适用于无法使用 Amazon Bedrock 服务或必须采用本地部署 AI 模型的场景。MCP 网关的 Entra ID 认证方案依赖现有的 Microsoft Entra 基础设施,对于未使用 Microsoft 身份系统的企业需要重新设计认证流程。动态客户端注册的桩实现(固定预置 client ID)限制了多租户场景下的灵活性,大规模部署可能需要完整的 DCR 实现。
孤本观察
基于本文事实,HEMA 通过 AgentCore Gateway 的独立部署解决了单一认证类型限制的问题,这种架构取舍在云原生应用开发中具有普遍参考价值。从只读助手到行动层的演进路线,体现了企业 AI 落地中"先查询后操作"的务实策略。
常见问题
HAL AI 助手支持哪些外部客户端接入,客户端是否需要持有 AWS 凭据?
支持 Kiro、Claude 等外部客户端接入,客户端无需持有 AWS 凭据。
HAL 当前提供什么类型的访问权限,计划扩展什么功能?
当前提供只读访问,计划扩展为行动层,实现如开通新 AWS 账户的即时操作。
HAL 系统的知识来源涵盖哪些具体内容?
涵盖 IT 文档、API 规范、Kafka 事件主题、Avro 模式及数据整合层渠道等。
为什么 HEMA 需要部署独立的 Entra MCP Gateway?
因 AgentCore Gateway 仅支持单一入站认证类型,无法复用内部 IAM 网关,故新建独立网关。
该方案不适用于哪些特定场景?
不适用于无法使用 Amazon Bedrock 服务、必须本地部署模型,或未使用 Microsoft 身份系统的企业。