想象你家楼下有一家 24 小时营业的“智能咖啡馆”:没有人类服务员,只有一个叫 Agent 的数字服务员。你点一杯咖啡,它会自动下单、询问后厨备货情况、再把咖啡准确送到你手上。但是,顾客凭什么信任一家从没见过的店?答案是:承诺。这家店门口挂着一块招牌——“下单后 30 分钟必达,超时免单”;后厨黑板上还写着另一行字:“我们自己的目标是 25 分钟内出菜”。门口那块顾客看得见的承诺,叫 SLA(服务等级协议);后厨那行只给店员看的内部目标,叫 SLO(服务等级目标)。SLA 让顾客敢下单,SLO 让团队有更严的奔头,而两者之间那 5 分钟的空间,就是“错误预算”——系统允许失误的缓冲地带。本文就用这家咖啡馆的故事,带零基础读者搞懂如何为 AI Agent 系统定义、监控和运营服务质量。
对 AI 从业者来说,掌握 SLA/SLO 等于学会用“顾客听得懂的语言”描述你的系统靠不靠谱;这是从“能跑通”走向“敢承诺”的运维基本功,是 AI 可靠性工程师(Agent SRE)的核心竞争力。
目录
可视化演示
动态演示Agent SLA/SLO的核心机制,通过基础/核心/应用/扩展四种模式展示关键概念与交互流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
Agent SLA/SLO:SLAS SLA/SLO/SLI概念体系 Agent系统SLO指标设计 核心机制可视化 Agent SLA/SLO整体架构与关键组件
SLA与SLO——承诺与目标
智能咖啡馆门口那块“30 分钟必达”的招牌,是老板写给顾客看的“合同”;后厨黑板上的“25 分钟出菜”,则是写给店员自己看的“目标”。招牌是 SLA(服务等级协议,Service Level Agreement),黑板上那行字就是 SLO(服务等级目标,Service Level Objective)。两者的关系可以这样记:SLA 是“我对外承诺什么”,SLO 是“我对自己要求什么”。SLA 说 30 分钟,SLO 定 25 分钟,中间那 5 分钟不是浪费,而是给系统预留的缓冲带。如果后厨实际出菜平均只要 24 分钟,那 SLA 就非常安全;如果后厨悄悄把目标改成 35 分钟,招牌迟早会被顾客砸掉。
到了 AI Agent 系统里,这套逻辑同样成立。Agent 接过用户的请求后,要经过大模型推理、工具调用、结果生成等多个环节,任何一个环节变慢,用户体感都会下降。因此,团队需要先定义一组 SLO:比如“95% 的请求在 5 秒内完成”“服务可用性不低于 99.5%”。然后把这组 SLO 写进面向客户的 SLA 文件,约定赔偿或者降级条款。SLA 往往写在合同的附页里,SLO 则写在工程师看得见的仪表盘上。
还有一个关键动作:把 SLO 的达成率量化出来。达成率就是一个“及格率”的概念——统计周期里,有多少比例的请求达到了目标。这个数字就像咖啡馆后厨每天记录的“准时出菜率”:如果一个月 10000 单里有 9900 单准时,那准时率就是 99%。达成率是 SLA/SLO 体系的基石,它让“服务质量”从一句口号,变成一个可以被比较、被追踪、被告警的数字。
回到咖啡馆的故事里,SLO 达成率就是后厨的“准时出菜率”。有了这个数字,老板就能在月底总结时拍着胸脯说:“我这个月 99.2% 的订单都按时上了菜。”而对于 AI Agent 团队来说,这个数字还会继续驱动下面的指标设计、错误预算和监控告警。
- 统计总请求数统计周期内所有进入 Agent 系统的用户请求数量,是整个计算的“分母”,代表全部要考察的服务量。
- 统计达标请求数在 SLO 规定的时间内成功完成、且没有触发错误状态的请求数量,也就是“合格品”的数量。
- 求达成率用达标数除以总数,再乘以 100%,得到服务质量的及格率,用来判断这一周期是否“兑现承诺”。
核心指标——延迟与可用性
顾客去咖啡馆最关心两件事:第一,这店到底开不开门(可用性);第二,点了咖啡要等多久(延迟)。在 Agent 服务质量里,延迟和可用性就是最核心的两把尺子。
延迟指的是从用户发出请求到收到响应的时间。但工程师不会只看平均值,而是看“百分位指标”。P50 表示一半请求快于这个值,P95 表示 95% 的请求快于这个值,P99 则几乎把最慢的那批用户也覆盖了。为什么要看长尾?打个比方:咖啡馆平均出菜 15 分钟,听起来不错,可周六晚上有 5% 的顾客等了 40 分钟——这 5% 的顾客正是写差评和投诉最多的人。所以 Agent 的延迟 SLO 通常会写成“P95 延迟低于 1.5 秒”而非“平均延迟低于 1.5 秒”。
可用性的含义更直观:服务在一段时间内正常提供服务的比例。一个 Agent 如果每周维护 1 小时,那它的可用性就是(每周 10080 分钟 − 60 分钟)÷ 10080 分钟,约 99.4%。可用性通常用“几个九”来描述:99.9% 叫“三个九”,一年累计停机不超过 8.76 小时;99.99% 叫“四个九”,一年只有 52.6 分钟的容错空间。每多一个九,系统架构和运维成本都几乎翻倍,所以承诺多少必须精打细算。
咖啡店每周二歇业 30 分钟做卫生,这 30 分钟就是 Tdown;顾客真正能踏进门的时间占比,就是这家店的可用性。Agent 系统也一样,无论是模型服务重启、还是第三方工具抽风,凡是用户“进不了门”的时间都得算进 Tdown。
- 统计总时长把正常运行时间与故障停机时间相加,得到统计窗口内的总时长,例如 30 天总共有 2592000 秒。
- 统计正常运行时长记录服务能够正常对外提供功能的累计时间,这是可用性的“有效分子”。
- 求可用性比例用正常运行时长除以总时长,再乘以 100%,得到服务“开门营业”的比例。
错误预算——允许失败的空间
如果一家咖啡馆承诺 100% 准时,它就必须为任何意外准备无限多的人手和备料,成本高到离谱。聪明的老板会算一笔账:只要顾客能接受 2% 的订单稍微晚一点,那这 2% 就是“可以犯错的额度”——这就是错误预算(Error Budget)。
错误预算的计算非常简单:用 1 减去 SLO,再乘上统计窗口总时长。假设你给 Agent 定了 99.9% 的可用性 SLO,一个 30 天的窗口(2592000 秒)里,错误预算就是 2592000 × 0.1% ≈ 2592 秒,也就是大约 43 分钟。这 43 分钟是系统“允许”不达标的时间总和。它不是用来鼓励出错的,而是让你明白:只要故障消耗控制在 43 分钟内,这个月的服务质量就算达标。
错误预算最有魅力的地方,是把“要不要发布新版本”变成了一个理直气壮的决策标准:预算充足,就能大胆上线新功能;预算快烧完了,就冻结发布、优先修稳定性。这就像咖啡馆老板会看“本月迟到额度还剩多少”来决定要不要上新菜单——如果这周已经晚送了 15 分钟,那周末的地推活动就得缓一缓。错误预算把“可靠性”从技术问题变成了经营节奏问题。
这个过程就像老板给后厨发“迟到额度卡”:30 天总共只允许 43 分钟的上菜延迟。今天拖了 10 分钟,明天慢了 5 分钟,顾客虽然不一定察觉,但额度卡上的数字在一天天变薄——当它逼近 0,就是全店拉响警报的时候。
- 确定统计窗口时长选取一个固定的时间窗口,如 30 天,计算其总秒数,作为预算的“钱包容量”。
- 取出不可用比例用 1 减去 SLO,得到允许不达标的故障占比,这是整个预算的核心比例。
- 相乘得到错误预算把总时长与故障占比相乘,得出这段窗口内系统总共可以承受的故障秒数。
质量监控——后厨的仪表盘
咖啡馆后厨要随时知道每张订单做到哪一步了,才能保证承诺不变成空话。质量监控就是给 Agent 系统装上的“后厨仪表盘”,它由四个部分组成:指标采集、日志追踪、阈值告警和可视化大盘。
指标采集(Metrics)负责定时记录系统状态——比如每秒处理的请求数、P95 延迟、错误率。日志追踪(Logs & Traces)则记录每一次请求的完整故事:用户说了什么、Agent 调用了哪个工具、大模型返回了什么。出错时,靠日志还原现场;变慢时,靠链路追踪定位瓶颈。阈值告警(Alerting)则是仪表盘上的“报警铃”:当错误预算消耗超过 70%、P95 延迟连续 5 分钟越线,就自动通知值班工程师。最后,这些数据汇总到可视化大盘(Dashboard),让团队一屏看清当前服务质量。
监控的意义不只是“看见了才修”,而是把错误预算的消耗变成连续、自动化的信号。例如,某 AI 客服 Agent 有“P95 响应 2 秒内”的 SLO。某天外部知识库 API 波动,P95 飙到 3.2 秒,监控立刻算出当天预算消耗比平时多 4 倍,并触发告警。工程师顺着 Trace 定位到第三方接口,快速启用备用检索通道,预算消耗在 15 分钟内回归正常。这个“发现—定位—止损”的闭环,就是质量监控的核心价值。
这就像后厨打翻了一锅汤:打翻一次(差值)虽然只影响一两桌,但如果连着打翻五次(累计),今天的“迟到额度卡”就见底了。质量监控要做的,就是在打翻第三次时就拉响后厨的报警铃。
- 记录每次事故的实际可用性每次故障发生时,记录该段时间内实际达到的可用性水平,记为 A。
- 计算与 SLO 的缺口用 SLO 减去实际可用性,得到这次事故“不合格”的程度。
- 折算成预算消耗把缺口乘上故障持续时长,得到这次事故消耗的错误预算。
- 累计所有事故消耗把窗口内所有 n 次事故的消耗加总,得出总消耗量。
SLA设计——从生意到承诺
一块写着“30 分钟必达”的招牌,不是老板拍脑袋决定出来的,而是从顾客容忍度、出餐速度、成本预算里倒推出来的。设计 SLA 的第一原则是:业务对齐。你要先想清楚,用户使用 Agent 完成什么核心任务?是查天气、写代码,还是做金融风控?不同的业务,用户等待耐心完全不同。对用户来说,“回复快”比“架构完美”更重要;对老板来说,“赔偿成本”比“口号响亮”更现实。
第二条原则是可量化。SLA 里不能写“响应尽量快”“服务基本稳定”,必须写成“P95 延迟小于 2 秒”“月度可用性不低于 99.9%”。只有可测量的承诺,才能被监控、被验证、被追责。第三条原则是分层目标:给免费用户和 VIP 用户设计不同等级的 SLO,让高优先级用户享受更快的通道,同时降低普通用户的资源占用。
设计完以后,还要建立评审机制。业务在变,模型在变,SLA 也不能永远不变。团队应每季度回顾一次:我们的 SLO 是不是太松了,导致用户察觉服务质量下滑?SLO 是不是太紧了,团队为了达标而不愿上线新功能?把 SLA 当成“活契约”,而不是挂在墙上的锦旗。
咖啡馆门口挂“30 分钟必达”,但后厨按“25 分钟”给自己施压,那 5 分钟就是 δ。如果某天后厨进了新设备、出菜更快,老板甚至会把招牌改成“25 分钟必达”——SLA 设计就是一个不断逼近顾客期望上限的动态过程。
- 确定对外承诺目标SLA 是写在合同里、面向客户的承诺水平,比如“可用性 99.9%”。
- 确定安全余量为了确保对外承诺不会轻易被击穿,内部 SLO 往往会比 SLA 更严格,这个差值就是安全余量。
- 相加得到内部目标把对外承诺加上安全余量,得到工程师真正需要努力达成的内部目标。
质量运营——持续改进的节奏
服务质量不是“设好 SLO 就万事大吉”,它像健身,要的是持续运营的节奏。质量运营包含四个动作:持续评估、故障复盘、成本控制、迭代优化。
持续评估是指数据不能躺在监控里睡觉。每天自动汇总 SLO 达成率,每周给团队发一份“服务健康周报”,就像给咖啡馆每位服务员打分。故障复盘则是每次 SLO 被击穿后的“事故原因分析会”:不追究个人责任,而是找到系统漏洞、流程缺口和工具盲区,形成一份可执行的改进清单。成本控制提醒团队:可用性每提高一个“九”,可能要翻倍投入 GPU 和链路冗余。SLO 不是越高越好,而是在商业回报可接受的范围内做到刚刚好。
迭代优化则是把上面这些动作串成闭环:评估发现问题 → 复盘找到根因 → 控制成本寻找性价比方案 → 优化架构与代码 → 再次评估验证效果。这个循环不是线性的,而是像咖啡馆每个季度复盘“菜单是否受欢迎”一样,滚动前进。Agent 系统上线第一版时,SLO 可能只是“别崩”;运行半年后,SLO 已经细化到“特定工具调用的错误率小于 1%”。
这家咖啡馆的这个月健康度从 90% 涨到了 96%,说明改进措施开始见效;下个月又掉回 88%,说明又有新变量混了进来。质量运营就是这样一场没有终点的拔河:一边是变更带来的风险,另一边是监控和复盘带来的免疫力。
- 确定统计周期天数质量运营通常按 30 天滚动窗口评估,因此统计天数为 30。
- 统计达标天数记录该窗口内每天实际可用性达到 SLO 目标的天数,这是健康度的“正向分子”。
- 求健康度比率用达标天数除以统计天数,乘以 100%,得到这段周期的服务健康度,用于趋势对比。
Agent运维——让承诺落地
通用 SLO 理论讲完了,最后来看看 Agent 的运维有什么特殊性。一个 Agent 请求往往不是“一次简单接口调用”,而是一串长长的任务链:用户提问 → 大模型推理 → 调用搜索工具 → 读取返回结果 → 再推理 → 生成最终答案。这条链上的每一环都可能是延迟和错误的来源。
因此,Agent 运维的第一件事是定义 Agent 特有的 SLO 指标:大模型推理延迟、工具调用延迟、工具调用失败率、上下文窗口占用率、Token 消耗量、最终答案的格式正确率。这些指标加在一起,才能回答“用户体感到底好不好”。链路追踪工具在这里尤其重要,因为如果用户觉得“Agent 卡了”,你得能分清到底是模型推理慢,还是第三方搜索 API 超时。
最后是运维闭环:把指标、追踪、告警、错误预算整合到同一个控制面里。一旦 Agent 的工具调用失败率突破 SLO,系统自动放慢新功能发布、拉起备用模型、或切换备选工具。这样,SLA 就不再是挂在墙上的一句广告语,而是一套真正能让 AI 服务“敢承诺、能兑现、可兜底”的运营体系。
把这套公式放回智能咖啡馆:点单(推理)要时间、后厨备料(工具调用)要时间、端出咖啡(生成)也要时间。顾客不会关心哪一环快,只会在乎从下单到端上桌的总时长。Agent 运维要做的事,就是把这三段时间都变成“可观测、可控制、可承诺”的数字。
- 统计大模型推理耗时指 Agent 每次调用大模型、生成中间结果所消耗的时间,是任务链的第一大块。
- 统计工具调用耗时Agent 调用搜索、代码执行、数据库等外部工具所需的时间,包含网络往返与工具处理时长。
- 统计最终生成耗时Agent 根据完整上下文输出最终答复的耗时,决定了用户看到最后一个字的等待时间。
- 三项合计为总耗时把推理、工具调用和生成的耗时相加,才能还原用户端感受到的完整响应时长。
AI 应用场景
场景 1:智能客服 Agent 的服务质量监控
阶段:AgentOps 运维监控阶段
解决的问题:传统监控只盯着 CPU、内存等服务器指标,无法回答“为什么用户觉得客服变笨了、变慢了”。AI 客服 Agent 涉及大模型推理和知识库检索,任何一个环节抖动都会直接影响用户体感。
具体案例:某电商平台的客服 Agent 设置了两条 SLO:P95 响应时间小于 2 秒、知识库检索工具调用成功率高于 99%。某次大促期间,知识库接口延迟从 300ms 飙到 1.8 秒,监控系统立刻算出错误预算消耗速度翻了三倍,并自动触发告警。值班工程师通过链路追踪定位到第三方检索服务过载,快速切到备用索引,15 分钟后 P95 回落至 1.2 秒。用户完全无感,差评率保持正常。
场景 2:AI 编程助手 Agent 的分层 SLO 设计
阶段:服务等级协议设计阶段
解决的问题:不同用户对响应速度的期望差异巨大,免费用户能接受 10 秒等待,付费用户可能 3 秒就失去耐心。用同一套 SLO 管理两类用户,不是资源浪费,就是体验崩盘。
具体案例:某 AI 编程助手平台设计了双层 SLO:免费层 P95 延迟 8 秒、付费层 P95 延迟 3 秒。付费层请求通过高优先级队列进入模型服务,免费层则使用共享算力。有了清晰分层,平台既能控制推理成本,又能保证核心付费用户获得稳定体验,SLA 合同上的赔偿条款也终于有了可执行的依据。
场景 3:金融风控 Agent 的错误预算运营
阶段:质量运营与发布决策阶段
解决的问题:风控 Agent 的每一次漏判或超时都可能意味着资金损失,团队既想快速迭代风控策略,又怕新模型上线引发可用性波动。
具体案例:某金融科技公司的风控 Agent 定义了月度可用性 SLO 为 99.95%,错误预算约 21.9 分钟。月底时累计消耗已达 19 分钟,团队决定冻结下周的新提示词发布,转而排查第三方数据源超时问题。月初预算重置后,再用灰度方式逐步放量新策略。这套“预算耗尽即冻结发布”的机制,让风险和创新之间获得了动态平衡。
Python 演示
class SloMonitor: def __init__(self, slo, window_days=30): self.slo = slo self.window_days = window_days self.daily_avail = [] def add_day(self, avail_seconds, total_seconds): rate = avail_seconds * 1.0 / total_seconds self.daily_avail.append(rate) if len(self.daily_avail) > self.window_days: self.daily_avail.pop(0) def ok_rate(self): if not self.daily_avail: return 0.0 ok = sum(1 for r in self.daily_avail if r >= self.slo) return ok * 1.0 / len(self.daily_avail) def budget_left(self): used = 0.0 for r in self.daily_avail: if r < self.slo: used += (self.slo - r) * self.window_days return max(0.0, 1.0 - used) def main(): m = SloMonitor(slo=0.995, window_days=30) mock_days = [(86400, 86400), (86340, 86400), (86280, 86400), (86400, 86400), (86000, 86400), (86300, 86400)] for avail, total in mock_days: m.add_day(avail, total) print("SLO达成率: %.2f%%" % (m.ok_rate() * 100)) print("错误预算剩余: %.2f%%" % (m.budget_left() * 100)) if __name__ == "__main__": main()
rate = avail_seconds * 1.0 / total_seconds把每天的“可用秒数 ÷ 总秒数”换算成 0 到 1 之间的可用性小数。ok = sum(1 for r in self.daily_avail if r >= self.slo)统计过去窗口里有多少天的可用性达到了 SLO,这是达成率公式的分子。used += (self.slo - r) * self.window_days当某天可用性低于 SLO 时,把缺口“放大”到一个窗口长度,折算成错误预算消耗。return max(0.0, 1.0 - used)用 1 减去消耗量并确保不为负,防止预算变成“负数余额”。if len(self.daily_avail) > self.window_days: self.daily_avail.pop(0)维护一个滚动窗口,只保留最近 30 天数据,让监控永远反映“当前”状态。
常见误区
误区我刚开始做监控时,把 SLA 和 SLO 看成同一个东西,觉得都是对外承诺。客户合同上写 99.9%,内部监控也按 99.9% 去盯。结果线上稍微抖动一下,告警就疯狂轰炸,团队通宵排查,全是虚惊。
正解SLA 是“对外契约”,SLO 是“内部工程目标”。SLA 写得保守,SLO 定得更严格,中间留出安全缓冲。就像咖啡馆招牌写“30 分钟必达”,后厨目标却是“25 分钟出菜”。只有理解了这层区别,才会知道告警应该挂在 SLO 上,而不是 SLA 上。
为何常见:因为“SLA”这个词传播得更广,给人先入为主的印象,而“SLO”听起来像是 SLA 的简称,导致不少新手把二者混为一谈。
误区写 SLO 时总觉得 99.9% 不够气派,直接定 99.999%,恨不得对外承诺“永远不会坏”。毕竟越高越显得团队能力强,客户也更愿意买单。
正解SLO 越高,成本呈指数级上升。99.99% 的可用性意味着全年最多停机 52.6 分钟,需要引入多活架构、自动故障转移、冗余模型部署,GPU 成本可能翻好几倍。错误预算哲学反而鼓励你把 SLO 设在“够用但不挥霍”的水平,把资源花在用户真正感知得到的地方。
为何常见:生活经验告诉我们“标准越高越好”,但系统可靠性是一门“成本—收益”工程,追求完美不等于追求合理。
误区看监控时只关心“平均响应时间 800ms”,觉得一切正常。某次用户反馈“Agent 卡得不行”,打开大盘却发现平均延迟并没有超标,于是怀疑是用户网络问题。
正解平均值会掩盖最差体验。P95、P99 才是决定用户口碑的“长尾指标”。如果 SLO 写的是“P95 小于 1 秒”,你就要盯 P95 的曲线,而不是平均值。咖啡馆平均出菜 15 分钟,但周六晚 5% 的顾客等了 40 分钟,这 5% 的人才是差评来源。
为何常见:平均数是日常生活中最常用的统计口径,大家习惯性地以为“平均还行”就等于“大家都还行”。
误区我以为错误预算就是月底才看一眼的汇总数据。月末发现预算已经耗尽,这才急急忙忙通宵排查,一查发现故障早在一周前就发生了,只是没人意识到它在消耗预算。
正解错误预算应该作为“发布门禁”实时运转:预算健康时鼓励快速迭代,预算消耗达到 70% 时提前告警,预算耗尽时冻结发布。它不是月末的记账本,而是日常的“车速表”。等油箱见底再找加油站,就已经晚了。
为何常见:因为错误预算这个名字带着“财务报表”的味道,容易被当成周期性回顾工具,而不是实时控制系统。
误区为了让自己“心里踏实”,我把 GPU 温度、磁盘 IO、内存占用、模型层数、上下文 token 数全接进监控,大盘密密麻麻上百条曲线。结果一告警,根本不知道先看哪条。
正解监控必须围绕 SLO 做精简,只保留与用户体感强相关的指标。正确的做法是建立“用户请求 → Agent 链路 → 基础资源”的指标树,每一层只挑选能解释 SLO 变化的关键信号。指标是情报不是库存,信息过载等于没有信息。
为何常见:直觉上“全面 = 安全”,但在高噪声的分布式系统里,信号与噪声的比值才是真正决定运维效率的东西。
面试题
Q1. 关于 SLA 与 SLO 的关系,正确的理解是:
- A.SLA 是对外承诺的合同← 正确答案
- B.SLA 是内部工程目标
- C.SLO 是对外签署的契约
- D.SLO 和 SLA 毫无关联
答案:A。SLA 是面向客户的服务协议,属于“合同语言”;SLO 是面向工程团队的内部目标,属于“工程语言”。好比咖啡馆门口招牌与后厨黑板,一个对外、一个对内。选项 B、C 把内外关系完全颠倒了,D 则忽略了二者之间的承接关系。
Q2. 某 Agent 服务可用性为 99.9%,按一个自然月(30 天)计算,最多可停机约多少分钟?
- A.约 4 分钟
- B.约 43 分钟← 正确答案
- C.约 72 分钟
- D.约 430 分钟
答案:B。30 天共 43200 分钟,43200 ×(1 − 0.999)= 43.2 分钟,因此最多可停机约 43 分钟,即 1 − SLO 再乘以窗口总时长,完全对应错误预算公式。
Q3. 错误预算的本质是什么?
- A.允许失败的时间额度← 正确答案
- B.可完全消除系统故障
- C.替代数据备份方案
- D.降低监控采样的频率
答案:A。错误预算 = 总时间 ×(1 − SLO),它量化了“可以犯错而不违反承诺”的空间。它不是用来消灭故障的,也不是备份或采样策略,而是帮助团队决策“何时该发布、何时该止损”。
Q4. “P95 延迟为 500ms”的正确含义是:
- A.有 95% 请求耗时小于 500ms← 正确答案
- B.有 95% 请求耗时大于 500ms
- C.平均响应时延正好等于 500ms
- D.只有 5% 请求耗时为 500ms
答案:A。P95 是百分位指标,表示按延迟排序后第 95 个百分位的值,即 95% 的请求比它快、5% 的请求比它慢。这正是为了捕捉“平均延迟”掩盖下的长尾慢请求。
Q5. 错误预算快耗尽时,最合理的处理方式是:
- A.暂停新版本发布← 正确答案
- B.删除全部历史日志
- C.把 SLO 下调一级
- D.立即给客服加人手
答案:A。错误预算的核心用途就是发布决策:预算充足时鼓励上线,预算紧张时冻结发布、聚焦稳定性。删日志、调 SLO、加客服都是回避问题,不是解决可靠性的方案。
Q6. SLO 达成率的计算公式正确的是:
- A.达标请求数除以总请求数← 正确答案
- B.停机时长除以统计总时长
- C.故障次数除以服务请求数
- D.告警次数除以请求次数
答案:A。SLO 达成率 = 达标数 ÷ 总数 × 100%,衡量的是“及格请求占比”。B 描述的是故障率,C 和 D 混入了告警和故障次数,与 SLO 达成率的定义不符。
Q7. 为 Agent 系统设计 SLA 时,第一步应该做什么?
- A.梳理用户关键旅程← 正确答案
- B.配置好全部监控大盘
- C.采购高性能监控软件
- D.直接承诺最高可用性
答案:A。SLA 设计的第一原则是业务对齐,必须先搞清楚用户最核心的请求链路和使用模式,才能决定该关注哪些指标、定多高的目标。先买工具或先定目标都是本末倒置。
Q8. Agent 系统需要重点监控的特有指标包括:
- A.工具调用失败率← 正确答案
- B.上下文窗口占用率← 正确答案
- C.推理 Token 消耗量← 正确答案
- D.服务器风扇转速
答案:ABC。Agent 特有的服务质量与工具调用、上下文窗口、Token 消耗紧密相关,这些直接决定任务是否成功、响应是否及时。风扇转速属于底层硬件指标,与“Agent 服务质量”隔了几层,不是首选重点。
Q9. 设计 SLO 时应当遵守的原则包括:
- A.目标必须可量化定义← 正确答案
- B.目标紧扣核心业务← 正确答案
- C.目标越高越好越有面子
- D.定期评审并修订目标← 正确答案
答案:ABD。SLO 必须可量化才能监控和验证,必须与业务对齐才有意义,还必须定期评审来适配业务变化。SLO 不是越高越好,而是要兼顾成本与用户体验,因此 C 错误。
Q10. 当 Agent 服务的 SLO 被连续违反后,正确的运维动作包括:
- A.冻结新功能发布← 正确答案
- B.快速回滚或扩容止损← 正确答案
- C.定位根因并复盘优化← 正确答案
- D.删除监控数据回避问题
答案:ABC。SLO 被击穿说明系统的稳定性“钱包”已经见底,此时应冻结变更、先止损、后复盘,形成一个完整的改进闭环。删除监控数据是典型的反面操作,只会让未来故障更难定位。