想象你管理着一条AI客服系统,模型上线第一天表现完美,回答准确率98%。三个月后的某个凌晨,问答质量悄悄下滑,用户投诉开始堆积——模型还是那个模型,但用户说话的方式变了。你的第一反应是什么?是慌张地打开十几个面板一个个排查,还是有条不紊地掏出一本手册,按步骤层层处置? 急诊中心比你先回答这个问题。给心跳骤停的病人急救时,医生不会站在床边现想“下一步该做什么”,而是人手一本经过无数案例验证的急救手册:判断生命体征→按分级采取心肺复苏→给药→记录→事后复盘改进。这本手册,就是医疗界的"Runbook"。 Runbook(应急手册)在IT界历史悠久,但AI系统给它出了新难题:故障不再是“服务挂了”这样肉眼可见的崩溃,而是“模型悄悄漂移”“数据字段突然缺失”这类隐性故障。本篇文章要带你设计一份专属于AI系统的Runbook应急手册:如何识别AI特有的故障、如何设定告警阈值、如何制定分级处置步骤、如何在故障后复盘让手册越用越好。

岗位关联

掌握Runbook设计是AI工程师的必修课——模型出问题时,它决定你是在分钟级止血还是在深水中排查数小时,是MLOps体系里的最后一道防线。

目录
  1. 可视化演示
  2. 踏入急诊中心:认识Runbook核心要素
  3. 读懂新病种:AI系统故障特征
  4. 设定生命体征:告警阈值设计
  5. 分级出诊:处置步骤制定
  6. 攻坚顽疾:模型漂移与数据质量应急
  7. 病例讨论会:故障复盘与手册演进
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示AI系统Runbook应急手的核心机制,通过源头/管道/节点/终端四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

AI系统Runbook应急手:AI系统 AI系统特有故障模式分类 Runbook结构与模板设计 核心机制可视化 AI系统Runbook应急手整体架构与关键组件

踏入急诊中心:认识Runbook核心要素

想象你第一次走进急诊中心,看到医生手中的急救手册:封面上印着流程编号,内页按“症状判断→处置动作→药物剂量→记录回执”的固定格式排列,页脚还有最近一次修订日期。这本手册能让你在慌乱中按图索骥,不会因为紧张而漏掉关键步骤。Runbook应急手册也一样——它是一份“故障现场的标准化行动指南”,把团队无数次踩坑的经验沉淀成可复用的步骤。

IT领域的Runbook最早来自操作手册的实践,核心理念是“把经验变成流程”。一份合格的Runbook要素可以概括为五件事:触发条件(什么信号启动这本手册)、诊断清单(如何确认故障类型)、处置动作(每一步具体做什么)、升级通道(搞不定时找谁)、事后记录(留下什么日志供复盘)。这些要素共同指向一个目标——压缩从故障发生到恢复服务的总时间。

设想你收到一条“模型推理延迟P99超时”的告警。没有手册时,你需要回忆、搜索、试探;有了手册,你只需要按页指引:先确认告警持续时间是否超过5分钟,再检查GPU利用率与队列长度,然后执行预设的降级动作。每一步都在降低你的认知负担。响应总时间可以表示为:

急诊中心的急救手册每一版都经过真实抢救验证,你的Runbook也一样:它把团队的血泪教训装订成册,让半夜被叫醒的工程师不用重新发明轮子,照着手册就能让服务先活下来。这本手册本身就是团队的“组织记忆”,人走了流程还在。

RTT=T识别+T决策+T执行\displaystyle RTT = T_{识别} + T_{决策} + T_{执行}
响应总时间等于识别故障、做出决策、动手执行三段时间之和。Runbook主要压缩的是中间的决策时间,这也是人类最慢、最容易出错的环节。
  1. 识别时间从异常发生到告警触发所花费的时间,依赖监控系统与阈值设置,例如30秒。
    T识别T_{识别}
  2. 决策时间人类工程师判断“发生了什么、该怎么办”的时间,是最具压缩空间的环节,手册通过预设方案把它从小时级压缩到分钟级。
    T决策T_{决策}
  3. 执行时间执行回滚、切换流量等动作的时间,自动化工具可将其压缩到秒级。
    T执行T_{执行}
  4. 总耗时三段相加,Runbook设计的核心就是让每段都尽量缩短,尤其要打掉决策时间这块最大的“肥肉”。
    RTT=T识别+T决策+T执行RTT = T_{识别} + T_{决策} + T_{执行}

读懂新病种:AI系统故障特征

传统救护车抛锚,仪表盘故障灯一亮,司机立刻知道是发动机过热还是爆胎。AI系统这辆“自动驾驶救护车”不一样:它没有传统故障灯,但可能在某个深夜悄悄偏离路线——模型还在响应,只是回答质量在肉眼不可见地恶化。这是AI故障与传统故障最大的分水岭:隐性。红灯不亮,但病人已经病了。

AI系统的故障家族主要有四类。第一是模型漂移:用户行为、环境数据缓慢变化,模型输出分布逐渐偏离训练时的分布,准确率悄悄下滑。第二是数据质量问题:上游字段缺失、数值越界、标签错乱,就像血样被污染导致化验结果失真。第三是依赖故障:向量数据库、特征平台、GPU驱动任何一个环节抖一抖,模型服务就可能连锁崩坏。第四是性能退化:吞吐下降、延迟升高、队列堆积,虽然没有报错,但体验在劣化。

这些故障的可怕之处在于它们不会“喊疼”。一个日常流量波峰叠加数据漂移,可能让置信度随时间指数级衰减。如果我们把某个AI服务的“可靠性健康度”记为衰减模型:

传统救护车修的是看得见的零件,AI这辆智能救护车修的是看不见的“感知系统”。理解这一点是设计Runbook的前提:你的手册必须配备“隐性故障探测器”,不能只等红灯亮起,要主动从分布变化、数据质量、依赖健康三个维度给系统做体检。

C(t)=C0×e−λt\displaystyle C(t) = C_0 \times e^{-\lambda t}
服务健康度随时间指数衰减,λ是故障压力系数。压力越大,健康度掉得越快,Runbook要做的就是在这个衰减曲线跌到服务不可用之前出手拦截。
  1. 初始健康度服务刚上线或无故障时的健康基线,通常设定为1.0。
    C0C_0
  2. 衰减系数由故障压力决定,例如漂移速率、数据缺失率越高则λ越大,健康度衰减越快。
    λ\lambda
  3. 时间指数故障持续的时间越长,指数衰减越明显,体现了“小问题拖成大故障”的非线性累积。
    e−λte^{-\lambda t}
  4. 当前健康度任意时刻剩余的健康水平,当它跌破阈值,Runbook必须启动。
    C(t)C(t)

设定生命体征:告警阈值设计

急诊中心的心电监护仪不会等病人心脏停止才报警,而是设定“心率超过120或低于50”这类基于人群基线的阈值。AI系统的告警阈值设计也是同理:不要拍脑袋写一个数,而要基于正常运行时段的统计数据去定基线。脱离了历史基线的阈值,要么天天误报让人麻木,要么永远不响形同虚设。

设计阈值的第一步是统计基线。以推理错误率为例,收集过去30天正常运行的错误率数据,计算均值和标准差,然后设定“均值 + 3倍标准差”作为预警线,这是统计学的经典做法。第二步是用滑动窗口抑制抖动:单次毛刺不触发,只有当最近5分钟窗口内的平均值连续越过阈值才告警,就像医生看的是持续发热而非一次体温读数。第三步是为不同指标配不同阈值策略。

对于模型漂移这类AI特有指标,业内常用PSI(Population Stability Index,群体稳定性指数)量化线上数据分布与训练分布的偏差。PSI的计算公式如下:

体温计是最简单的硬件,会看趋势的医生才是关键。阈值设计也如此:统计基线、滑动窗口和漂移指标三者叠加,才能让告警既灵敏又稳定。不要让团队在告警疲劳中度过每一天,也不要在故障悄然来临前毫无察觉。

PSI=∑i=1n(Ai−Ei)×ln⁡(AiEi)\displaystyle PSI = \sum_{i=1}^{n} (A_i - E_i) \times \ln\left(\frac{A_i}{E_i}\right)
PSI把数据分成多个分箱,比较每个箱子中实际占比与期望占比的差异。PSI越高,分布偏移越大。一般PSI小于0.1视为稳定,0.1到0.25需关注,超过0.25必须触发处理。
  1. 分箱下标把预测分数或特征值分成若干区间(如0-0.1、0.1-0.2等),i表示第几个箱子。
    i=1,2,…,ni = 1, 2, \dots, n
  2. 实际占比当前线上数据落入第i个箱子的样本比例,代表“现在数据长什么样”。
    AiA_i
  3. 期望占比训练集或基线期数据落入第i个箱子的比例,代表“模型熟悉的分布”。
    EiE_i
  4. 偏差求和遍历所有箱子,将占比差乘上对数比后累加。对数放大了小幅偏差,使得微小的分布偏移也能被感知。
    ∑i=1n(Ai−Ei)×ln⁡AiEi\sum_{i=1}^{n} (A_i - E_i) \times \ln\frac{A_i}{E_i}

分级出诊:处置步骤制定

急诊中心的分诊台把病人分成四级:危重病人直接进抢救室,普通病人排队看门诊。AI系统的Runbook同样需要分级响应,避免“所有告警都全员扑上”的混乱,也避免“P1级别故障无人知晓”的怠慢。通常划分为P1至P4四级:P1是服务完全不可用或模型严重漂移,需立即全员响应;P2是核心功能受损但服务可降级运行;P3是局部功能异常,可工作时间处理;P4是优化建议,排期处理即可。

处置动作的优先级可以套用“先止血、再根治”的急救哲学。所谓止血动作,就是用最少的操作让服务恢复可用,通常有三板斧:回滚模型到上一稳定版本、切换流量到备份集群、启动降级方案(例如返回规则兜底答案)。止血成功后,再诊断漂移根因、修复数据、重新训练。每一类动作都要配上可验证的恢复标准,比如“错误率回落至基线以下并持续10分钟”。

面对同一故障有多种可选处置方案时,我们需要量化评估优先做哪个。每个处置方案j的期望收益等于成功概率乘以业务挽回价值,再减去执行成本:

ICU医生抢救时会先稳定生命体征再寻找病因,AI系统的处置流程也应如此:先保服务可用,再谈根治。把处置步骤和升级通道写进手册,让每个值班工程师都清楚地知道“做到哪一步还不行、必须呼叫谁”,团队就不会在故障面前各自为战。

Rj=Pj×Vj−Cj\displaystyle R_j = P_j \times V_j - C_j
选择期望收益最大的处置方案优先执行。比如回滚的成功概率高、成本低,通常优先于“在线重训练”这种耗时耗力的方案。
  1. 方案编号j代表第j个候选处置方案,例如回滚、切流、降级、重训练。
    jj
  2. 成功概率该方案在类似故障历史上成功恢复的估计概率,来自复盘数据的统计。
    PjP_j
  3. 业务价值若方案成功可挽回的业务损失,例如每分钟减少的订单损失金额。
    VjV_j
  4. 执行成本执行该方案需要的人力、时间与资源消耗,例如重训练要耗费数小时GPU资源。
    CjC_j
  5. 期望收益收益减去成本后的净值,Runbook在执行时优先选R值最大的方案。
    Rj=Pj×Vj−CjR_j = P_j \times V_j - C_j

攻坚顽疾:模型漂移与数据质量应急

模型漂移和慢性病很像:一次急救能让你脱离危险,但不能一劳永逸。它需要长期随访方案——在Runbook里配置专门的漂移监测流程:周期性计算PSI、监控预测分布变化、比对线上指标与训练指标。当漂移指标持续恶化,手册要给出分阶段的应对策略:轻度漂移触发重训练任务,重度漂移直接回滚。

数据质量问题则更像血液标本污染:你拿到的化验单可能是错的,而医生还在按错误的结果下药。常见的数据质量故障包括字段缺失率飙升、值域越界、标签错乱、数据延迟到达。Runbook中应包含“数据体检”清单:检查完整率、唯一性、时效性,每项都有明确的正常区间和应急动作。数据完整率可以这样定义:

当数据问题波及模型输入时,最后一招是特征重建:用备份特征版本或统计填充值临时替换异常特征,为修复上游管道争取时间。慢性病需要随访、标本污染需要排查污染源,AI系统的数据与漂移应急同样需要一套“长期管理 + 定向急救”的组合拳,才能让模型在不确定的数据环境中稳健运行。

D=∑i=1nValidi∑i=1nTotali\displaystyle D = \frac{\sum_{i=1}^{n} Valid_i}{\sum_{i=1}^{n} Total_i}
完整率等于有效数据量除以总数据量,反映数据管道的健康程度。完整率跌破设定的阈值时,Runbook应触发数据管道检查与修复流程。
  1. 有效数据量第i个批次中通过校验(非空、合法、及时)的样本数。
    ValidiValid_i
  2. 总数据量第i个批次实际接收到的样本总数,包括无效样本。
    TotaliTotal_i
  3. 汇总求和对所有批次累加,得到整体有效与总量。
    ∑i=1n\sum_{i=1}^{n}
  4. 完整率两者的比值,低于0.95就应触发数据质量专项处置。
    D=∑Validi∑TotaliD = \frac{\sum Valid_i}{\sum Total_i}

病例讨论会:故障复盘与手册演进

急诊中心每周都有疑难病例讨论会:医生们回放抢救录像,分析“当时为什么迟疑了30秒”“这个药是不是换一种更好”。AI系统的Runbook也必须经历这样的复盘仪式,否则手册只会停留在纸面上,无法应对下一次更狡猾的故障。故障复盘的第一步是复原时间线,把从告警触发到恢复的每个动作按时间排序,找出被浪费的等待和误判。

复盘需要量化指标支撑。最核心的两个度量是MTTD(平均发现时间)和MTTR(平均恢复时间)。MTTD衡量监控系统多快能嗅到异常,MTTR衡量团队多快能完成止血。后者可以表示为:

复盘会的产出不是一份存档报告,而是一串可执行的改进项:每个改进项必须指定负责人和截止时间。例如“日志缺少模型版本号导致回滚时难以定位”→“由张三下周三前在推理服务中加入版本标签”。此外,手册还要定期演练:像消防演习一样,每隔一个季度人为注入一次故障,检验手册中的步骤是否仍然有效、联系方式是否更新、自动化工具是否可用。

一本好的Runbook不是静态文档,而是活的生命体。它诞生于故障的痛,成长于复盘会的争论,成熟于每一次演习的检验。当你的手册能够让新入职的工程师也能平稳处置一次P1故障时,你就知道——这套应急体系真正建成了。

MTTR=T总修复时间N故障次数\displaystyle MTTR = \frac{T_{总修复时间}}{N_{故障次数}}
MTTR是总修复时间除以故障次数,衡量平均每次故障要花多久恢复。它体现Runbook手册的实战效果——手册越完善,MTTR越低。
  1. 总修复时间一段周期内所有故障从开始处理到恢复的耗时之和。
    T总修复时间T_{总修复时间}
  2. 故障次数同一周期内发生的故障总数。
    N故障次数N_{故障次数}
  3. 平均恢复时间两者相除,团队可设定目标,例如核心服务MTTR小于15分钟。
    MTTRMTTR

AI 应用场景

大模型推理服务异常止血

阶段:模型部署与运维

解决的问题:大模型服务出现推理延迟飙升或内容异常时,人工排查往往要花1个小时,用户投诉已铺天盖地。通过Runbook预设“P1止血流程”,值班工程师按手册一键降级流量并切换到备用模型,把MTTR从小时级压缩到分钟级。

具体案例:某客服大模型在流量高峰时P99延迟从300ms飙升至3秒。值班人员按Runbook执行:先切20%流量到备用集群验证,再触发自动扩容,最后定位到GPU显存碎片问题,整个处置过程耗时12分钟,全程无用户感知中断。

推荐系统模型漂移处置

阶段:模型监控

解决的问题:推荐模型的线上点击率逐周下滑,但服务无任何报错——典型的模型漂移。Runbook中的漂移专项章节预设了PSI监控阈值和分级处置动作,让工程师在指标恶化初期就能介入。

具体案例:某电商推荐系统PSI连续两周从0.08升至0.22,触发“关注”级别告警。对照手册执行:先检查近期上线的特征管道变更,确认是用户新品类偏好导致的数据漂移,随后安排增量重训练并灰度上线,点击率两周内回升至原水平。

数据管道质量故障响应

阶段:数据工程与特征工程

解决的问题:特征平台凌晨批处理任务失败,导致模型请求持续使用过期特征。没有手册时,数据工程师要在早晨高峰前争分夺秒排查;有了Runbook,系统自动触发降级方案并使用备份特征版本兜底。

具体案例:某金融风控模型发现特征字段缺少率达到25%,数据质量监控告警后,Runbook自动切换至T-1特征缓存,同时通知数据团队修复上游任务,1小时内恢复正常,避免了风控决策质量的隐性劣化。

Python 演示

python63 行
class RunbookEngine:    def __init__(self):        self.rules = []        self.exec_log = []     def add_rule(self, condition, action):        self.rules.append((condition, action))     def match(self, alert):        for condition, action in self.rules:            if condition(alert):                return action        return None     def execute(self, alert):        action = self.match(alert)        if action is None:            self.exec_log.append(('NO_MATCH', alert['name'], 'manual_escalation'))            return        self.exec_log.append(('MATCH', alert['name'], action.__name__))        action(alert)     def review(self):        for item in self.exec_log:            print(' => '.join(str(part) for part in item))  def rollback(alert):    print('Rollback model to last stable version')    alert['status'] = 'ROLLED_BACK'  def degrade(alert):    print('Switch to degraded response mode')    alert['status'] = 'DEGRADED'  def rebuild_features(alert):    print('Rebuild feature pipeline with backup')    alert['status'] = 'FEATURES_REBUILT'  def retrain(alert):    print('Trigger incremental retrain job')    alert['status'] = 'RETRAINED'  engine = RunbookEngine()engine.add_rule(lambda a: a['type'] == 'DRIFT' and a['psi'] > 0.25, rollback)engine.add_rule(lambda a: a['type'] == 'DRIFT' and a['psi'] > 0.1, retrain)engine.add_rule(lambda a: a['type'] == 'DATA_QUALITY' and a['missing'] > 0.2, rebuild_features)engine.add_rule(lambda a: a['type'] == 'LATENCY' and a['p99'] > 800, degrade) alerts = [    {'name': 'drift_alert', 'type': 'DRIFT', 'psi': 0.32, 'status': 'NEW'},    {'name': 'data_quality_alert', 'type': 'DATA_QUALITY', 'missing': 0.28, 'status': 'NEW'},    {'name': 'latency_alert', 'type': 'LATENCY', 'p99': 1200, 'status': 'NEW'},] for alert in alerts:    engine.execute(alert) engine.review()
目的:用规则引擎实现一个简易Runbook执行器,模拟告警事件如何按手册规则匹配并触发处置动作,最后输出执行日志供复盘。
  1. class RunbookEngine:定义一个可扩展的Runbook执行引擎,规则列表和执行日志是其核心状态。
  2. def add_rule(self, condition, action):向手册中注入一条规则:条件满足时执行对应处置动作。
  3. def match(self, alert):遍历所有规则,返回第一个命中条件的动作,体现手册“自上而下按序匹配”。
  4. def execute(self, alert):执行命中的处置动作,若无匹配则记录人工升级,避免故障被遗漏。
  5. engine.add_rule(lambda a: a['type'] == 'DRIFT' and a['psi'] > 0.25, rollback)漂移严重时直接回滚,这是“先止血”原则的代码化表达。
  6. engine.add_rule(lambda a: a['type'] == 'DRIFT' and a['psi'] > 0.1, retrain)轻度漂移触发重训练,与重度漂移的回滚动作形成分级处置。
  7. for alert in alerts: engine.execute(alert)模拟三条告警依次进入处置流程。

常见误区

误区“我把团队的运维经验写成一篇Wiki文档,这就是Runbook了吧?”很多初学者认为Runbook只是操作说明的整理,写完存档即可。

正解Runbook更像是急救手册而非教材。它必须面向“慌乱中的执行”来设计:步骤要可勾选、动作要具体到命令、每步要有预期结果验证、还有明确的升级条件。一篇冗长的经验文章在故障现场根本无法快速翻阅,反而会拖延决策时间。

为何常见:因为日常维护时文档看起来“内容都有了”,但没意识到故障场景下人的认知资源极度稀缺,只有高度结构化、带检查点的执行清单才真正可用。

误区设置告警阈值时,有同学说“错误率超过1%就告警吧,听起来合理”。这个数没有经过任何统计分析。

正解阈值必须从历史基线中推导,最基础的做法是用均值加k倍标准差。还要用滑动窗口滤除短暂抖动,并针对不同指标选择合适统计量(如PSI用于漂移、完整率用于数据质量)。没有基线支撑的阈值,要么草率告警把团队变成“狼来了”的受害者,要么沉默不语让故障悄悄蔓延。

为何常见:因为“拍一个整数”成本极低,而统计基线需要采集数据、做分析,很多团队在初期会贪图省事。

误区不少Runbook里处置动作只有一句话:“重启模型服务”。看似简洁,实则无法执行。

正解好的处置步骤要像手术操作规范一样细致:重启前先备份当前模型版本、确认重启命令的参数、重启后观察哪些指标、等待多长时间判断是否成功、失败后回滚到哪个版本。每一步还要注明验证标准和预期耗时,让值班人员照着做就能完成整个处置闭环。

为何常见:写手册的人对系统太过熟悉,默认“大家都会”,却忽略了一线执行者可能是刚接手的初级工程师。

误区故障恢复后,团队开会聊了一小时“大家辛苦了”“今晚谁值班”,报告写完就束之高阁。

正解复盘必须产出带负责人和截止日期的改进项,例如“补充日志中的模型版本号(张三,本周五前完成)”“更新手册中的升级联系方式(李四,下周二前完成)”。下一次故障前要验证改进项是否落地,形成闭环,否则手册永远停留在初版。

为何常见:因为复盘涉及自我批评,团队本能地回避冲突,用“总结教训”的空话代替了可追踪的行动承诺。

面试题

Q1. Runbook应急手册最核心的定位是什么?

单选题 · easy

  • A.记录所有历史故障的详细报告
  • B.故障现场可执行的标准化指南← 正确答案
  • C.描述AI系统架构的设计文档
  • D.监控系统的日常巡检日志

答案:B。Runbook是给故障现场执行者使用的手册,重在可执行、可勾选、可验证,而非事后报告或架构文档。历史故障报告是Runbook的素材,但手册本身的价值在于现场指引,类似急救手册而非病历档案。

Q2. 下面哪一项不属于AI系统的典型隐性故障?

单选题 · easy

  • A.模型预测分布逐渐偏移
  • B.特征字段缺失率持续上升
  • C.服务器磁盘空间写满← 正确答案
  • D.数据延迟导致使用过期特征

答案:C。磁盘写满是传统基础设施故障,通常会触发明确告警。AI隐性故障的核心特征是“服务仍在响应但质量悄悄劣化”,如模型漂移、数据缺失、特征过期。Runbook设计的重点之一就是为这些没有“故障灯”的隐患建立感知机制。

Q3. PSI(群体稳定性指数)主要用于衡量什么?

单选题 · mid

  • A.模型推理的延迟波动
  • B.线上数据与训练数据分布的偏差← 正确答案
  • C.GPU资源的使用效率
  • D.数据管道中字段缺失的比率

答案:B。PSI通过分箱比较实际占比与期望占比的差异,定量评估线上数据分布相对训练基线的漂移程度。PSI超过0.25意味着显著漂移,应触发Runbook处置流程。延迟用P99等指标衡量,字段缺失用完整率衡量,二者不是PSI的用途。

Q4. 告警阈值设计中最科学的起点是什么?

单选题 · mid

  • A.参考同类公司的公开阈值
  • B.基于历史正常运行数据统计基线← 正确答案
  • C.取一个看起来合理的整数
  • D.等故障发生后反推设定值

答案:B。阈值应源于自身系统的历史基线,典型做法是均值加k倍标准差,并结合滑动窗口抑制噪声。直接套用他人数值忽略系统差异,拍脑袋设定缺乏统计依据,等故障反推则滞后且样本不足。

Q5. 下列哪些属于AI系统特有而传统IT系统不显著的故障?

多选题 · mid

  • A.模型漂移导致预测偏差← 正确答案
  • B.特征数据完整率下降← 正确答案
  • C.网关连接数超限
  • D.线上数据分布与训练分布偏离← 正确答案

答案:ABD。模型漂移、特征数据质量问题、数据分布偏离都是AI系统的“隐性故障”家族,它们不触发传统报错但会静默侵蚀模型效果。网关连接数超限是传统网络服务的典型故障,不属于AI特有。

Q6. P1级别故障通常是指什么?

单选题 · easy

  • A.服务完全不可用或核心业务严重受损← 正确答案
  • B.局部功能异常可稍后处理
  • C.优化建议排期改进
  • D.监控指标轻微抖动无需关注

答案:A。P1是最高响应级别,需要立即全员介入,例如服务不可用或模型严重漂移导致核心指标崩溃。P3、P4均为可延迟处理的类型。P1故障是Runbook中对应“抢救室”的场景,要求分钟级响应。

Q7. MTTR和MTTD两个指标分别衡量什么?

单选题 · mid

  • A.恢复时间与发现时间← 正确答案
  • B.训练时间与推理时间
  • C.识别成本与处置成本
  • D.故障频率与故障损失

答案:A。MTTD(平均发现时间)衡量监控多久能感知故障,MTTR(平均恢复时间)衡量从开始处置到恢复耗时。两者共同反映Runbook体系的侦查能力与止血能力,核心目标是把两者都压到最小。

Q8. 一份可执行的Runbook处置步骤应当包含哪些要素?

多选题 · hard

  • A.具体操作命令与参数← 正确答案
  • B.执行后的指标验证标准← 正确答案
  • C.失败时的回滚与升级通道← 正确答案
  • D.故障责任人的绩效评估

答案:ABC。可执行的手册步骤要具体到命令、动作,并带验证标准和失败后的升级/回滚预案。绩效评估属于管理范畴,不应出现在执行步骤中,否则会干扰故障处置的客观性。

Q9. 故障复盘会后,有效的改进项管理方式包括哪些?

多选题 · hard

  • A.为每个改进项指定负责人← 正确答案
  • B.设定明确的完成截止时间← 正确答案
  • C.下次故障前验证改进落地← 正确答案
  • D.改进项仅记录在会议纪要

答案:ABC。复盘改进的关键是闭环:负责人、截止时间、落地验证缺一不可。只记录在会议纪要中而没有追踪机制,改进项就会像“门诊病历”一样被遗忘,手册也无法演进。

Q10. Runbook中关于模型漂移的分级处置逻辑正确的是?

单选题 · extreme

  • A.漂移轻度时立即回滚,重度时重训练
  • B.轻度触发重训练,重度或持续恶化才回滚← 正确答案
  • C.一律先重启服务再观察效果
  • D.漂移无需处置,模型会自动收敛

答案:B。处置应匹配严重程度:轻度漂移先用增量重训练等低成本手段干预,重度或持续恶化才回滚到稳定版本,这也符合“先止血再根治”的原则。轻度即回滚成本高开销大,等待自愈则是放任故障恶化。回滚是成本最低的止血方式,应优先于重训练等耗时方案。