跳到主要内容

3 篇博文 含有标签「on-call」

查看所有标签

你的值班轮换需要 AI 素养作为前提,否则不要在凌晨 2 点给任何人发报警

· 阅读需 13 分钟
Tian Pan
Software Engineer

一位拥有 8 年事故响应经验的平台工程师打开了一条凌晨 2 点的报警信息:“AI 助手性能下降 —— 错误率 12%”。她检查了模型延迟仪表盘:绿色。检查了模型 API 状态页:绿色。检查了部署日志:过去 72 小时内没有任何变更。她做了任何称职的值班人员接下来会做的事 —— 呼叫 AI 团队。AI 工程师醒来,打开了平台工程师甚至不知道存在的追踪 (trace) 仪表盘,发现一个检索工具在过去 4 小时内一直超时,原因是一个下游搜索索引丢失了一个副本,并在 11 分钟内解决了事故。AI 工程师在凌晨 3:14 重新入睡。第二天早上的复盘记录写道:“AI 功能故障,由 AI 团队解决”。没有人写下真正的教训:如果这位值班工程师曾被教导过 AI 功能的故障面 (failure surface) 长什么样,她本可以在 5 分钟内完成分流 (triage)。

这是 AI 功能在过去两年中,向我合作过的每一个工程团队悄悄征收的“轮换税”。曾经完美适用于无状态服务堆栈和几个数据库的共享值班轮换,在其中一个“服务”变成由 LLM 驱动的功能时就会崩溃。你的 SRE 团队通过十年的事故复盘建立的值班手册,是为一个“某处出错了”可以分解为 CPU、内存、网络、部署和依赖超时的世界而校准的。AI 功能增加了三个维度 —— 模型、提示词 (prompt)、检索管道 —— 以及四种值班人员从未接受过识别培训的故障形态,这些故障不会出现在他们习惯查看的仪表盘上。

智能体在凌晨 3 点呼叫我:触达人类工具的爆炸半径策略

· 阅读需 13 分钟
Tian Pan
Software Engineer

当一个智能体因为循环处理一个格式错误的告警信号,在一小时内给你的值班人员发了四次传呼时,领导层终于意识到安全团队早已知晓的一件事:“工具访问权限”与“创造人工任务的能力”其实是同一种权限,而你在没有进行安全审查或产品归属权审查的情况下就授予了它。没有人关注“谁被允许在凌晨 3 点打扰人类”这个问题,因为根本没人把它当作一个问题。它被描述为一个 Slack 集成。

2026 年的智能体技术栈让这种故障模式的发生门槛变得极低。Anthropic 的 MCP 服务器、OpenAI 的 Agents SDK,以及各种厂商提供的操作工具,极大地缩短了“模型决定做某事”与“人类被吵醒”之间的距离。大多数团队部署这些集成的方式与部署数据库客户端如出一辙:定义一个 Token 作用域,引入 SDK,写一段系统提示词,然后发布。数据库客户端的爆炸半径是受影响的行数。PagerDuty 客户端的爆炸半径则是一个人的睡眠。

AI On-Call 心理学:为非确定性告警重建运维直觉

· 阅读需 13 分钟
Tian Pan
Software Engineer

当一名 on-call 工程师第一次以“模型刚才又表现得有点怪”为由关闭告警页面时,团队就已经悄然越界了。这句话同时表达了三层意思:它宣告了问题不可调查,它将未来类似的告警归类为噪音,并免除了轮值人员记录事件经过的责任。一周后,同样的特征再次触发告警,另一个人看到“之前已经关闭过一次”,于是真正的回归(regression)便会一直潜伏在生产环境中,直到有客户在 Twitter 上发帖投诉。

这种模式并不是因为懒惰。它是将标准的 SRE 直觉运行在一个不再表现出确定性的系统上所产生的必然结果。经典的 on-call 培训教导工程师将“输入相同但输出不同”的情况视为可观测性堆栈中的 Bug——这不可能是系统本身的 Bug,因为系统不会那样运作。但基于大语言模型(LLM)的系统正是在每一次请求中都以这种方式运作,这是其设计使然。如果建立 on-call 轮值机制时没有内化这一点,系统就会滑向两个极端:要么是瘫痪(每一个随机波动都是 P2 级事故),要么是虚无主义(模型总是很奇怪,别再给我发告警了)。