大促当夜的 Gemini CLI:三轮日志分诊对擂实录
01 · 凌晨两点,三万行网关日志打乱了值班节奏
大促当夜,我们的支付网关在零点之后出现间歇性 5xx。日志管道按分钟滚动,一次告警窗口里能吐出三万行文本,里面混着访问日志、上游超时、限流计数器和部署标记。值班工程师的第一反应是按时间轴拉窗口、比对发布记录,再逐层排除数据库、缓存与下游依赖。这种节奏在平时可行,但在高负载时段,每一轮人工翻查都要占用十几分钟,而真正决定事故走向的往往是最先的两次判断:错误是新增的还是历史残留,影响面是单区域还是全链路。
我们决定做一次对照实验:同一轮事故里,一组沿用人工排查,另一组把 Gemini CLI 接进日志管道,让它先做分诊,再由人做确认。实验的目的不是追求“更快”这个模糊目标,而是看清在持续高压调用量下,两种路径在准确度、上下文管理、成本口径和审计留痕上的真实差异。
还有一个现实约束:事故窗口里的调用量会成倍增长,而我们的令牌预算按月规划。如果不能在事发当时看清每一笔消耗的去向,事后连复盘都没有成本依据。这一点让这次对照实验多了一层财务口径的必要性。
02 · 人工翻查与 Gemini CLI:两条分诊路径的结构差异
人工路径的优势在于隐性上下文:谁上一次改过超时配置,哪个区域的机器刚换过内核,这些信息存在于团队记忆里。代价是难以复现,交接班之后判断链条会断。Gemini CLI 路径把分诊拆成固定动作:先摘要错误指纹,再按服务维度聚合,再对照部署窗口,最后给出三条待验证假设。它读的是真实日志文本,不依赖口头记忆,因此结论可以被复查。
- › 人工翻查:灵活、能调用经验,但每次都要重建上下文,长窗口容易漏掉低频错误。
- › Gemini CLI 分诊:上下文结构稳定、可重复执行,但需要人为设定日志窗口大小、去噪规则和输出格式。
- › 共同点:两者都要面对噪声日志、时间戳错位和多副本重复输出,清洗规则决定结果的上限。
我们把输出约定成一份简短分诊卡:错误指纹、影响服务、怀疑变更、建议的第一步验证。格式统一之后,人工组和 CLI 组的结果才可以并排比较。日志预处理也要统一:先去掉重复副本,再按服务与错误码聚类,最后截取代表性样本。CLI 只负责推理,不负责替我们清洗数据,这条边界写清楚之后,误判的责任归属也变得明确。
03 · 三轮对擂的评判口径:不只看猜对了几次
准确率只是第一栏。真正拉开差距的是下面三件事。
- › 上下文吞吐:事故窗口内日志量会突增,如果一次性把所有文本塞进对话,噪声会稀释关键线索。分片读取、按服务聚合后再汇总,召回明显更稳。
- › 成本与缓存口径:每次调用都按真实 token 计费,缓存写入与缓存读取分开计价。把固定的提示模板和历史错误指纹做成可缓存前缀,命中读取的那部分远比重复写入划算;反之,每次全量重传日志会让账单随流量同步膨胀。
- › 审计留痕:CLI 的每次提问和输出都留在记录里,复盘时能还原判断链条;人工路径依赖值班日志,颗粒度取决于记录习惯。
需要提醒的是,大窗口下的延迟波动不可忽略。我们把超时与重试策略写进调用脚本,失败时降级到更小的窗口重跑,而不是盲目加大并发。在限流和预算层面,按小时设定令牌配额,能防止事故高峰期把整月额度一次性烧穿。
三轮下来,我们也观察到两类典型失败:一类是窗口取太长,早期的部署噪声被模型当成根因;另一类是窗口太短,跨服务的因果链被截断。解决办法不是换提示词,而是把窗口切成“分钟级细节层”和“小时级趋势层”,分别分诊之后再合并。分层之后,两条路径的差距主要体现在合并环节的稳定性上。
04 · Gemini 3.8 Flash 初筛与 Gemini 3.1 Pro 深推的分工
在同一个余额下,我们可以按任务性质切换模型,而不必维护多套计费关系。分诊的初筛交给 Gemini 3.8 Flash:它负责在大窗口里快速抽取错误指纹和聚合计数,输出简短分诊卡;遇到跨服务的因果推理,再交给 Gemini 3.1 Pro 做深入假设验证。需要长时间思考的架构级排查,Gemini 4 Argon 可以承担最终复核,把前两轮的结论与反证一起摆在桌面上。
这样的分层还有一个副作用:缓存策略可以按层设计。初筛层的提示前缀高度固定,适合缓存;深度推理层每次输入都在变化,缓存命中率低,就不必强行套用。把账单按层拆开看,才知道钱花在哪一环,也能判断哪一层值得继续压缩输入。
05 · 可复用的落地清单与账单口径
- › 固定日志窗口与去噪规则,先收敛输入再调用模型。
- › 把提示模板与历史错误指纹做成缓存前缀,区分缓存写入与缓存读取的成本。
- › 按小时设置令牌预算与并发上限,避免事故高峰消耗全部额度。
- › 保留每次调用记录,复盘时与人工判断并排对照,持续修订分诊卡模板。
大促这一夜的结论是:Gemini CLI 不能替代值班工程师做最终决定,但它把“先看哪里”这件事变成了可复用的流程。对持续高负载的团队而言,稳定的是流程,而不是某个瞬间的手感。这套流程还需要一个能统一计量的底座:如果你们也在用 Claude Code、Codex 或任何 OpenAI SDK 做类似工作,Quanta 用一个余额覆盖这些工具与多个模型,按真实 token 计量,缓存读写分开定价,推荐现在就开通 Quanta 账户,把这套分诊流程跑在自己的事故窗口里;推荐他人充值还可获得 19% 的返还。