首先形成一个核心判断:在 ServiceNow 平台上落地多智能体协作,绝非简单的 Agent 叠加。如果缺少清晰的架构分层和通信范式约束,Agent 越多,系统反而越容易陷入混乱。以下这套四层模型,本质上借鉴了治理拓扑中的技术域思想,目标是在可扩展性、安全性和治理能力之间找到平衡点。
整体架构:多智能体协作的四层模型
1. 感知层(Perception Layer)
这一层的核心任务是什么?采集环境信号、系统事件、指标和用户输入。通俗来说,就是让系统先“看见”正在发生什么。具体如何实现?主要依赖 Now Platform 的事件监听器(如 Flow Designer 和 Event Registry),配合日志流接入(Log Analytics with Agent Client Collector),以及 Telemetry Agent 来收集运行态上下文。
典型的 Agent 包括:- MetricsAgent:监听性能指标变动,例如 CPU 超过 80% 这类阈值
- TicketAgent:监控工单动态,新工单、升级、分派等都能被感知到
2. 分析层(Analysis Layer)
感知到数据之后,下一步是理解数据。分析层负责语义分析、上下文建模、意图识别和优先级判断。实现方式上,既可以使用 LLM(比如 ServiceNow Now Assist 或 OpenAI 接口),也可以使用自定义推理引擎(Prompt Router 配合知识图谱),以及内置的 Workflow AI 模块。
典型 Agent:- PriorityAgent:根据事件优先级和业务影响,评估是否需要升级处理
- CostAnalysisAgent:分析资源和服务成本结构,生成 FinOps 报告
3. 执行层(Action Layer)
分析完毕,光说不练假把式。执行层必须具备任务执行能力:调用系统接口、修改配置、派发工单,这些都必须能落地。实现方式包括 Scripted REST APIs、Flow Designer Action Sets,以及一个 Agent-Orchestration Engine 来统一调度。
典型 Agent:- AutoScalerAgent:动态调整资源规模
- WorkflowExecutorAgent:跨多个系统执行工作流
4. 协同层(Coordination Layer)
这是整个架构的“大脑”。协同层负责统一调度 Agent、解决冲突、合并决策,支撑多智能体之间的通信和任务共享。实现上,使用 ServiceNow Event Bus 配合 Redis Pub/Sub 做低耦合通信,引入 Multi-Agent Orchestration Framework(支持自定义有限状态机),同时引入 Governance Topology 模型为 Agent 分层赋权。
典型 Agent:- AgentManager:负责 Agent 之间的协调、调度和管控
- GovernanceAgent:对 Agent 行为进行策略限制与审计跟踪
通信机制设计:三种协作范式
1. 事件驱动
什么时候使用这个范式?当 Agent 之间需要低耦合通知时,例如 MetricsAgent 发现异常后通知 AlertAgent。实现上,使用 Now Platform Event Registry 或 Redis/Kafka 做中间件,消息格式采用 JSON Schema。
举例:{
"source_agent": "MetricsAgent",
"event_type": "CPU_THRESHOLD_EXCEEDED",
"payload": {
"host": "vm-01",
"cpu": 92,
"threshold": 80
}
}
2. 意图调度
这种模式适用于高层 Agent 将任务分派给下游 Agent 执行。通俗来说,类似 ReAct 或 Plan-and-Execute 框架的思路。具体流程:先由 LLM 识别用户意图,解析出 TaskList,再通过 AgentDispatch 将任务分配给合适的 Agent。
举例:用户意图:优化当前运行的云资源成本
→ 解析为:生成账单 → 识别高成本资源 → 提交优化建议 → 自动执行资源缩减
→ 调用顺序:CostAnalysisAgent → FinOpsAdvisorAgent → OptimizationAgent
3. 黑板机制
这种模式适合多个 Agent 基于同一共享上下文进行协作。想象一下,多位专家围着一块黑板讨论问题,各自在上面写数据、读条件、提建议。实现上,构建一个 Blackboard 数据结构(比如 Redis Set),Agent 可以写入事实、读取条件、生成行动建议。
举例:blackboard.set("current_cpu", 88)
if blackboard.get("current_cpu") > 80:
alert_agent.generate("高负载警告")
安全与治理机制设计
1. Agent 权限边界
如何确保 Agent 不乱来?参考 Governance Topology 的 Platform Management 子域,几个关键措施:- 每个 Agent 都注册为一个 CMDB Configuration Item,可追踪、可审计
- 为 Agent 定义严格的 Role-Based Access Control(RBAC)
- 敏感 API 操作必须走 Service Catalog 审批流程
2. 风险隔离与策略治理
引入三个治理组件来兜底:- PolicyAgent:根据 CMDB 和 Service Mapping 实施访问策略
- DataGuardAgent:保障数据读取符合合规要求(比如 GDPR 或国密标准)
- OpsAuditAgent:所有决策链条都保留审计记录,写入 Audit Trail
3. Agent 生命周期管理
所有 Agent 注册在 Agent Registry 中,记录运行状态、权限、任务统计等信息。支持热插拔、灰度发布和 A/B 测试。同时,利用 Application Portfolio Management(APM)视角来管理智能体,定期评估其 ROI、运行状态,甚至规划废弃路径。工程实践案例:用多 Agent 协作解决 FinOps 问题
场景设定:企业云支出持续攀升,CTO 要求 DevOps 团队通过自动化方式优化云资源。Agent 角色分配如下:
| Agent 名称 | 职责说明 |
|---|---|
| MetricsAgent | 实时采集各类资源利用率指标 |
| CostAnalysisAgent | 关联资源与成本模型,形成账单视图 |
| FinOpsAdvisorAgent | 识别浪费资源、未关资源、低利用率资源 |
| OptimizationAgent | 提交优化建议至审批流 |
| ApprovalAgent | 根据策略审批是否允许执行优化 |
| ExecutionAgent | 执行资源停用、缩容等操作 |
- MetricsAgent 发现多个测试环境已经 30 天未使用
- CostAnalysisAgent 关联账单后,发现这些环境占了总成本的 8%
- FinOpsAdvisorAgent 给出“可删除建议”
- ApprovalAgent 将建议提交给项目负责人审批
- ExecutionAgent 在获批后自动执行缩容
