首页 > 教程攻略 > ai教程 >ServiceNow AI Agent 多 Agent 协作架构与通信机制设计(第二部分)

ServiceNow AI Agent 多 Agent 协作架构与通信机制设计(第二部分)

来源:互联网 时间:2026-07-05 07:52:07

先说一个基本判断:多智能体协作在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执行资源停用、缩容等操作
完整的执行链路(事件流):
  1. MetricsAgent发现多个测试环境已经30天未使用
  2. CostAnalysisAgent关联账单后,发现这些环境占了总成本的8%
  3. FinOpsAdvisorAgent给出“可删除建议”
  4. ApprovalAgent将建议提交给项目负责人审批
  5. ExecutionAgent在获批后自动执行缩容
整个流程环环相扣,每个Agent各司其职,既保证了自动化效率,又通过审批机制控制了风险。这才是多Agent协作在生产环境中的正确打开方式。