作者:唐俊星

一个支持 Human-In-The-Loop(人机协同)与持续自我改进的 AI 工作流方案

概述

SRE Alert Copilot 基于 Elastic Stack 构建,将告警触发、上下文预处理、AI 智能分析与人工反馈闭环串联起来,帮助 SRE 团队更快定位问题、沉淀运维知识,并持续优化分析质量。

核心能力:

  • 自动化分析:告警触发后自动拉取日志、指标、链路追踪等上下文,由 AI Agent 给出初步根因判断与处置建议
  • 人机协同:关键决策节点引入人工审核,避免 AI 误判直接执行高风险操作
  • 自我改进:人工反馈作为训练信号,持续优化 Agent 指令、工具配置与知识库内容

架构总览

通过

驳回 / 修正

告警触发

预处理

AI Agent 分析

人工审核

执行处置 / 关闭告警

反馈入库

优化 Agent / 知识库

组件说明
Elasticsearch存储日志、指标、告警事件与向量知识库
AI Connector提供 Embedding 与 LLM(DeepSeek)推理能力
Agent Builder定义 Alert Copilot Agent 及其工具集
Elastic Workflows编排 Human-In-The-Loop 自动化流程
Kibana告警规则、可视化、工作流与 Agent 管理界面

实施步骤

1. 在 Alibaba Cloud 创建 Elasticsearch

在阿里云上部署 Elastic Stack 集群,作为 SRE Alert Copilot 的数据与 AI 运行时底座。

建议配置:

  1. 选择 Elastic Cloud on Alibaba Cloud自管 ECK(Elastic Cloud on Kubernetes) 部署方式
  2. 启用以下功能模块:
  • Observability:APM、Logs、Metrics、Uptime
  • Alerting:告警规则与 Connector
  • Agent Builder:自定义 AI Agent
  • Workflows:事件驱动自动化编排
  1. 规划节点规格:
  • 数据节点:承载日志与指标索引
  • ML / Inference 节点(可选):若使用本地推理模型
  • Kibana 节点:工作流与 Agent 管理入口
  1. 配置网络与安全:
  • VPC 内网访问或专线打通
  • 启用 TLS、角色权限(RBAC)与 API Key 管理

参考文档:


2. 在 ES 配置 Embedding 与 DeepSeek 两个 AI Connector

参考文档:


3. 导入文档,创建 Agent Tool

将运维知识沉淀为 Agent 可调用的工具,是提升分析准确率的关键步骤。

3.1 导入知识文档
  1. 整理以下类型的文档:
  • 服务架构说明
  • 告警 Runbook / 应急预案
  • 历史故障复盘报告
  • 常见错误码与排查手册
  1. 将文档导入 Elasticsearch,并建立向量索引(使用 Embedding Connector 生成 dense_vector 字段)
  2. 可通过 Kibana 的 Search → Connectors 或 Ingest Pipeline 完成文档切片与向量化
3.2 创建 Agent Tool

在 Agent Builder 中创建自定义工具,供 Alert Copilot Agent 调用:

工具类型用途示例
ESQL 查询工具
索引搜索工具检索历史相似告警与处置记录
知识库检索工具基于向量相似度匹配 Runbook
Workflow 触发工具触发自动化处置流程
Case 创建工具自动创建事件工单

创建方式:

  • Kibana UI:Agent Builder → Tools → Create tool
  • Kibana APIPOST /s/{space_id}/api/agent_builder/tools

参考文档:


4. 创建一个 Alert Copilot Agent

Alert Copilot Agent 是面向 SRE 告警场景的核心 AI 实体,负责综合多源数据进行根因分析与处置建议生成。

4.1 Agent 配置要点
配置项建议
名称sre-alert-copilot
Instructions定义角色为 SRE 专家,要求输出结构化分析(现象、根因、证据、建议、置信度)
Tools绑定日志查询、指标查询、知识库检索、Case 管理等工具
Model使用 DeepSeek Connector
Skills可选绑定预置的 Observability 相关技能
4.2 示例 Instructions(摘要)
你是一名资深 SRE 工程师,专门负责分析生产环境告警。

收到告警后,请按以下步骤执行:
1. 确认告警类型、严重级别与影响范围
2. 使用工具查询相关日志、指标与链路追踪
3. 检索知识库中的相似历史案例与 Runbook
4. 给出根因分析、支撑证据与处置建议
5. 评估置信度(高/中/低),低置信度时明确说明需人工介入的环节

输出格式:
- 告警摘要
- 根因分析
- 支撑证据(含查询结果引用)
- 处置建议(按优先级排列)
- 置信度评估

参考文档:


5. 创建一个 Human-In-The-Loop 的 Workflow

使用 Elastic Workflows 将告警处理流程编排为可审计、可暂停、可人工干预的自动化流水线。

5.1 Alert Trigger(告警触发)

配置 Workflow 触发器,在告警产生时自动启动 Copilot 流程。

触发方式:

  • Alerting Connector:Kibana 告警规则触发时调用 Workflow Webhook
  • Scheduled / Event 触发:基于索引中新增告警文档触发

传入上下文:

# 告警上下文字段示例
alert:
  id: "{{ alert.id }}"
  name: "{{ alert.name }}"
  severity: "{{ alert.severity }}"
  timestamp: "{{ alert.timestamp }}"
  service: "{{ alert.service }}"
  tags: "{{ alert.tags }}"
5.2 Pre-processing(预处理)

在调用 AI Agent 之前,对原始告警进行标准化与上下文富化。

预处理步骤:

  1. 告警归一化:统一字段格式,映射服务名、环境、负责人
  2. 去重与抑制:检查是否为重复告警或已知维护窗口内告警
  3. 上下文采集
  • 拉取告警前后 15 分钟的错误日志
  • 查询关联服务的 CPU、内存、延迟指标
  • 获取近期部署变更记录
  1. 优先级路由:根据严重级别决定是否需要立即人工介入

Workflow 步骤示例:

steps:
  - name: enrich_alert_context
    type: elasticsearch.search
    # 查询关联日志与指标

  - name: check_duplicate
    type: ai.classify
    # 判断是否为重复/已知告警

  - name: route_by_severity
    type: switch
    # 按严重级别分支处理
5.3 使用 AI Agent 进行分析

将预处理后的上下文传递给 Alert Copilot Agent,执行智能分析。

steps:
  - name: ai_analysis
    type: ai.agent
    with:
      agent_id: sre-alert-copilot
      input: |
        请分析以下告警:
        告警信息:{{ steps.enrich_alert_context.output.alert }}
        日志摘要:{{ steps.enrich_alert_context.output.logs }}
        指标摘要:{{ steps.enrich_alert_context.output.metrics }}
        历史案例:{{ steps.enrich_alert_context.output.similar_cases }}

Agent 输出:

  • 根因判断
  • 支撑证据链
  • 推荐处置步骤
  • 置信度评分
5.4 Human Feedback and Improvement(人工反馈与持续改进)

在 AI 分析结果进入自动执行或告警关闭前,引入人工审核节点,并将反馈用于系统优化。

Human-In-The-Loop 机制:

steps:
  - name: human_review
    type: human-in-the-loop
    with:
      title: "SRE Alert Copilot 分析审核"
      description: "{{ steps.ai_analysis.output.summary }}"
      assignee: "{{ alert.on_call_engineer }}"
      timeout: 30m
      options:
        - approve    # 同意分析结论,执行建议
        - reject     # 驳回,人工接管
        - correct    # 修正分析,提交反馈

反馈闭环:

反馈类型后续动作
Approve执行推荐处置步骤,记录为正向样本
Reject升级至 on-call 工程师,标记 AI 分析失败
Correct将人工修正写入知识库,更新 Agent Instructions 或 Few-shot 示例

自我改进路径:

  1. 将人工修正的分析结论写入 Elasticsearch 知识索引
  2. 定期审查低置信度与被驳回的分析记录
  3. 迭代 Agent Instructions、工具配置与 Runbook 内容
  4. 跟踪 MTTR(平均修复时间)与 AI 建议采纳率作为效果指标

参考文档:


端到端流程示意

告警规则触发
    │
    ▼
Workflow: Alert Trigger
    │  接收告警 ID、服务、严重级别
    ▼
Workflow: Pre-processing
    │  归一化 → 去重 → 拉取日志/指标/变更记录
    ▼
Workflow: ai.agent
    │  Alert Copilot Agent 综合分析
    │  调用 ES|QL、知识库检索等 Tool
    ▼
Workflow: human-in-the-loop
    │  On-call 工程师审核 AI 结论
    ├─ Approve → 自动执行 Runbook / 关闭 Case
    ├─ Reject  → 人工排查,记录失败样本
    └─ Correct → 反馈入库,优化 Agent
    ▼
持续改进循环
    知识库更新 → Agent 调优 → 下次分析更准确

关键指标

指标说明
MTTR从告警触发到问题解决的时间
AI 建议采纳率人工 Approve 的分析占比
误报率AI 根因判断被 Reject 的比例
知识库命中率检索到相关 Runbook 的比例
人工介入率需要 Human-In-The-Loop 的告警占比

参考链接

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐