从这篇文章开始,我们将正式进入智能 OnCall Agent 系统的学习准备阶段。在接下来的篇幅里,我们会为你讲清楚这个系统到底长什么样,它能实现哪些功能。请跟我一起扫清这些基础认知障碍,后续的学习就会更加轻松高效!

项目背景:为什么要做智能OnCall Agent?

在日常工作中,OnCall 值班是一个无法避免的杂活。相信你一定经历过这些场景:

  • 深夜被告警电话惊醒,迷迷糊糊爬起来查看日志、翻阅监控。

    • 日志、监控、告警通知群等系统是割裂的,需要不断切换多个系统才能定位问题。
  • 重复执行搜error日志->看指标->修数据的流程。

这些场景不仅高频,而且让人痛苦,却长期以来都依赖人工处理。

**智能 OnCall Agent **正是为了解决这些痛点而诞生的。它能够像一位资深工程师一样工作:自动接收告警、按照标准化流程进行排查、分析根因并给出处理建议,甚至还能自动执行修复操作,彻底将我们从重复的劳动中解放出来。

智能OnCall Agent是什么?

简单来说,OnCall Agent 是一个基于 AI 的运维自动化助手。它的核心目标就是取代人工,完成那些高频、标准化的告警处理工作。我们可以从以下几个维度来理解它的定义:

  • 自动响应: 能够实时接收监控系统发出的告警通知,彻底摆脱人工值守。

  • 智能排查: 按照预设的逻辑,自动调用日志、监控等工具,聚合多方数据来定位问题。

  • 根因分析: 通过匹配历史处理案例和故障处理手册,给出精准的根因解释。

  • 闭环沉淀: 自动总结每一次处理过程,并更新知识库,让整个系统能够越用越聪明。

请注意,它不是要完全替代工程师,而是要成为你的得力助手。处理百分之八十的重复性、简单问题,让工程师可以将精力聚焦于百分之二十的复杂故障。

智能OnCall Agent能做什么?

结合值班场景的实际痛点,系统的核心功能可以概括为三个主要方面:

  1. **文件上传知识库(知识库 Agent):**这个功能支持团队将各种文档(比如故障处理手册、服务接入说明等)上传到系统。它为大模型提供了可靠的知识来源,实现了团队经验的持续沉淀和高效复用。

  2. **对话交互支持(对话 Agent):**值班人员可以通过自然语言与系统进行交互,快速查询故障处理手册。例如,你可以直接问:错误码 120000001 的原因是什么?系统会立即从《XX系统错误码手册》中返回精准的错误原因。

  3. **AI Ops 运维诊断(运维 Agent):**系统接收到告警通知后(例如接口失败率过高),会按照预设的步骤自动开始排查。它可能会调用日志 API 查询最近一小时的 error 日志,调取监控面板查看失败率的趋势,然后聚合数据并返回关键信息,比如:近三十分钟内 context cancel 错误占比百分之九十,疑似为下游系统异常。

📷 [图片 token=TwLXbq6ksoTSnNxpUo1cuUJ6n3d(未能下载,见飞书原文)]

智能OnCall Agent 系统架构长啥样

了解了功能之后,我们再来看一下系统的架构图。总的来说,OnCall Agent 系统包含四个接口、三个核心 Agent 以及多个辅助组件。你现在看到这些架构图和功能描述可能看不懂,可能对整个系统的协作方式还不太清楚,这没关系,先留个初步的印象即可,后面的章节会有层层递进的详细分析。

这里先介绍一下贯穿整个项目的三个最核心的 Agent:

  • 知识库Agent : 当你需要让 AI 回答特定领域问题时,如果直接将长文本丢给大模型,会受限于模型的上下文窗口大小,导致成本高、速度慢、准确率低。知识库 Agent通过采用先检索相关内容,再生成答案的策略,完美地解决了这些问题。

  • 对话 Agent: 这是一个智能交互系统,它能够像真人一样理解你的问题、调用知识库,并给出精准的回答。它尤其适合用来处理高频重复的咨询类场景。

  • 运维 Agent: 它可以像资深工程师一样,自动接收告警、按预设步骤排查问题、分析根因并给出处理建议,甚至能够自动执行标准化操作,将工程师从重复劳动中彻底解放出来。

📷 [图片 token=MJzLbm1gRoLNxxxjNgtcxBoPnLe(未能下载,见飞书原文)]

项目拿去面试的亮点是什么?

我们这个 Agent 项目的核心是解决了团队的真实痛点,但在面试时,你需要将这些痛点转化为具有技术深度和业务价值的亮点。结合面试官的高频关注点,我们可以从以下方向拆解项目的亮点:

架构设计上的亮点:

  • **RAG知识库:**将散落的技术文档、告警手册、历史工单等转化为统一的数据资产

  • 对话 Agent: 将重复咨询->文档检索->问题匹配的逻辑抽象成一个中台知识引擎,支持多场景的无缝复用。

  • 运维 Agent: 实现了跨系统联动架构,打破了日志、监控、告警群、文档之间的信息孤岛。

技术实现上的亮点:

  • **RAG知识库:**无缝对接对话Agent、运维Agent等多个上层应用。一次开发、多场景受益。

  • 对话 Agent: 动态分解复杂任务、减少幻觉,并通过实时环境反馈自主调整行动。

  • 运维 Agent: 采用了结构化任务执行模式,确保告警排查流程能够标准化、准确地执行。

项目的亮点非常多,不会在这里具体展开。关于项目亮点和详细的解释,请查阅《面试攻略:面试亮点打造》。

项目功能演示

对话功能演示

  1. 快速对话:最常见的对话功能

  2. 流式对话:通过SSE技术让前端界面流式输出回答

  3. 文档上传知识库后的提问效果:

  4. 第一次询问错误码的时候,大模型由于没有《告警处理手册》,所以无法分析错误码的原因。

  5. 第二次询问错误码之前,我们上传了对应的文档。这一次,大模型成功告诉我们错误码的原因是什么。

🎬 视频「基于知识库对话.mp4」(飞书视频,无法在博客播放)

多轮对话与工具调用演示

  1. 与大模型进行多轮对话,大模型能记得历史对话。

  2. 大模型根据提问,自动查询日志。让大模型拥有调用工具的能力。

🎬 视频「对话功能多轮对话与辅助查询日志.mp4」(飞书视频,无法在博客播放)

AI Ops智能诊断

  1. 点击右上角的AI Ops,进行根源诊断。

  2. 大模型返回了一份告警分析报告,并指出现在有一个服务下线的告警,原因是runtime panic。

  3. 这份告警分析报告里还给出了技术分析和处理方案,在最上面还可以看到大模型执行的详细步骤。

  4. 自动根据告警、日志、监控排查分析,协助值班人员快速定位与处理告警,提升值班效率。

🎬 视频「运维分析告警.mp4」(飞书视频,无法在博客播放)