一、背景:让 AI Agent 在企业业务系统中安全运行
随着大语言模型(LLM)和 AI Agent 技术的发展,越来越多的企业开始尝试将 AI 助手集成到现有业务系统中。
在制造业场景下,用户可以直接在 MES、ERP、WMS 等业务系统中,通过自然语言查询生产进度、库存情况、订单状态以及质量数据,而不必频繁切换系统或手动查找报表。
例如,用户登录 MES 系统后,在系统内置的 AI Chat 界面中输入:
查询今天各生产线的生产完成情况,并统计各生产线的完成数量。
AI Agent 接收到用户的问题后,需要理解用户意图,选择合适的 Skill,并调用 MES Business API 获取真实业务数据,最终将结果以自然语言形式返回给用户。
从业务角度看,这只是一次普通的 AI 问答。
但从技术架构角度看,它涉及多个系统之间的身份认证、访问授权、凭据传递以及业务 API 调用。
尤其需要解决以下问题:
- 用户已经登录 Business System,Chat System 是否需要用户再次登录?
- 如何让 Chat System 确认请求来自哪个用户?
- 如何让 AI Agent 调用业务 API 时继续遵循当前用户的权限?
- 如何避免将用户的长期 Access Token 直接暴露给 AI Agent?
- 如何防止 Skill 重复调用、越权调用以及凭据重放?
- 如何建立从用户提问到最终业务 API 调用的完整审计链路?
本文结合 AI Agent Architecture and Business API Invocation Flow V2.0 时序图,介绍一种面向企业业务系统的 AI Agent 集成架构。
该架构采用以下设计原则:
用户在 Business System 中完成登录,在 Business System 中发起 AI 对话;Chat System 负责对话管理,AI Backend 负责安全控制和业务代理,OpenClaw 负责 Agent 推理,Skill 负责封装业务能力,Business System 继续执行最终的业务认证与授权。
二、整体架构设计
整个系统包含五个核心组件:
- SSO:统一身份认证。
- Business System:企业业务系统。
- Chat System:AI 对话系统。
- AI Backend Service:AI 后端及业务 API 代理服务。
- AI Agent(OpenClaw):负责理解用户意图并调用 Skill。
Skill 作为 AI Agent 与企业业务能力之间的接口层,根据业务域划分为 MES Skill、ERP Skill、WMS Skill 等。
2.1 SSO:统一身份认证
SSO(Single Sign-On,单点登录)负责用户身份认证。
用户通过企业统一身份认证系统登录 Business System。
登录完成后,Business System 根据自身的认证和授权机制,获得访问受保护业务 API 所需的访问凭据。
这里需要区分两个概念:
- OpenID Connect(OIDC)主要用于身份认证。
- OAuth 2.0 主要用于授权和访问令牌的管理。
ID Token 用于向客户端提供用户身份相关信息,Access Token 则用于访问相应的受保护资源。
两者的用途不同,不能直接互换。
在本文的架构中,用户的登录入口是 Business System,而不是 Chat System。
Chat System 不需要重新要求用户输入用户名和密码,而是通过 Business System 转发的可信身份凭据或经过验证的身份上下文,识别本次 AI 请求的用户。
2.2 Business System:用户入口与业务授权中心
Business System 是用户实际使用的企业业务系统,例如 MES、ERP 或 WMS。
它承担两个重要职责。
第一,作为用户的登录入口。
用户通过 SSO 登录 Business System,然后在业务系统内部使用集成的 AI Chat 功能。
第二,作为企业业务数据的提供方。
当 AI Agent 需要查询或操作业务数据时,最终仍然需要通过受保护的 Business API 完成调用。
例如:
- MES:查询生产订单、工单进度和生产报工记录。
- ERP:查询采购订单、销售订单和库存信息。
- WMS:查询库存、入库任务和出库任务。
- QMS:查询质量检验结果和不合格记录。
在这套架构中,Business System 不仅是用户入口,也是业务权限的重要边界。
AI Agent 不能因为接收到了用户的问题,就自动获得访问整个业务系统的权限。
2.3 Chat System:AI 对话入口
Chat System 是集成在 Business System 中的 AI 对话服务。
用户不需要离开原有业务系统,而是直接在当前界面发起自然语言请求。
例如:
查询生产订单 PO-20261024 的当前状态。
Business System 将用户的问题及必要的访问凭据转发给 Chat System。
Chat System 负责:
- 接收用户的聊天请求。
- 验证请求的身份和访问权限。
- 管理对话上下文。
- 将经过验证的请求转发给 AI Backend。
- 接收 AI Backend 返回的自然语言结果。
- 将最终回答返回给 Business System,由其展示给用户。
需要强调的是,Chat System 的身份认证不能仅仅依赖请求中携带了一个 Access Token。
它必须验证凭据的真实性、有效性以及适用范围,并确保请求确实属于已经认证的用户。
如果 Chat System 和 Business System 属于不同的信任域,还应通过明确的服务端认证机制保护系统之间的调用。
2.4 AI Backend Service:安全控制与业务 API 代理
AI Backend 是整个架构的核心控制层。
它连接 Chat System、OpenClaw 和 Business API,负责在 AI 推理与企业业务系统之间建立安全的调用通道。
主要职责包括:
- 验证来自 Chat System 的请求。
- 识别并绑定当前用户的可信身份。
- 创建服务端安全上下文。
- 生成一次性 Request ID。
- 将用户问题和必要的任务上下文传递给 AI Agent。
- 接收 Skill 发起的业务调用请求。
- 校验并消费一次性 Request ID。
- 恢复与请求关联的用户访问凭据。
- 代表用户调用 Business API。
- 记录业务调用审计信息。
- 将结果返回给 AI Agent 和 Chat System。
其中最重要的设计是:
AI Backend 代替 AI Agent 持有和使用用户的业务访问凭据,Agent 只通过受限的调用凭证请求访问业务能力。
这样可以避免将用户的长期 Access Token 直接暴露给 AI Agent或 Skill。
2.5 AI Agent 与 Skill:负责推理,不负责最终授权
AI Agent负责理解用户的自然语言问题,并根据任务需要选择合适的 Skill。
例如,用户要求查询生产订单状态,AI Agent选择 MES Skill,并生成结构化的业务调用请求。
MES Skill 将业务操作和参数提交给 AI Backend,而不是直接使用用户 Access Token 调用 MES。
因此,各组件的职责可以概括为:
| 组件 | 核心职责 |
|---|---|
| Business System | 用户入口、用户会话和业务 API |
| Chat System | 对话交互、请求接收与转发 |
| AI Backend | 安全上下文、调用凭证、代理访问和审计 |
| AI Agent(OpenClaw) | 意图理解、任务规划和 Skill 调度 |
| Skill | 业务能力封装和结构化工具调用 |
| Business API | 最终业务认证、授权和业务规则执行 |
三、完整调用流程
Continue reading “企业级 AI Agent 架构设计:基于用户身份透传与一次性 Request ID 的安全业务 API 调用”

