让 Claude 替你值班:Anthropic 用 AI 智能体接管 CI/CD on-call 的全链路拆解

从晚上十点的 44 个丢失测试说起,拆解 Claude Tag 如何成为 CI/CD 故障的第一响应者

Posted by iceyao on Wednesday, August 19, 2026

一、引言:晚上十点的 44 个测试去哪了

原文链接:Claude on call: How Claude Tag serves as Anthropic’s first responder for CI/CD failures

来源:Claude Blog / Anthropic · 作者:Sachin Malhotra(Anthropic Staff,Michael Segner 共同贡献)

发布时间:2026 年 8 月 18 日

晚上 10 点,一位同事在 Slack 里发来消息:新服务上有 44 个测试没有触发。放在以前,这是一次标准的"深夜一小时的排查流程"——翻 CI 配置、查最近合并、看日志、猜原因、再验证。而现在,同事只是 @ 了一下值班频道里的 Claude,然后得到了一个明确的答案:

测试消失是因为当天早上开了一个功能开关(feature flag),回滚是安全的。

建议回滚开关之后,3 分钟,Claude 在 Slack 里确认:跳过规则已移除,错误率恢复基线。

这篇文章讲的就是这件事背后的整套系统——Anthropic 如何用 Claude Tag 构建了一个 AI 值班(on-call)智能体,作为 CI/CD 故障的第一响应者,覆盖"检测 → 分类 → 解决 → 验证 → 交接"全流程,并且把整套设置开源成了 oncall-kit。读完你应该能回答三个问题:一个值班智能体需要哪些零件?它是怎么从告警一路干到交接的?以及——你想不想、能不能在自己团队里复刻一套?

Claude Tag 值班智能体封面


二、核心架构:值班智能体的四要素

原文把值班智能体的骨架归纳成四个要素,缺一不可:

  • 记忆(Memory):在值班 Slack 频道中持有跨会话记忆。Claude 不是每起事故"失忆重来",它记得上一轮调查到哪了、上次同类问题怎么修的;
  • 连接与访问(Connections & Access):Claude Tag 拥有独立服务账户,通过 MCP Connectors 接入 Datadog、Grafana、PagerDuty、GitHub、Kubernetes、日志存储等 CI 工程师日常使用的全部工具;
  • 调度(Schedules):用自然语言下发例行任务,比如"每周一 9:00 EST 运行 CI 交接";
  • 指令(Instructions):以 Markdown 文件形式维护的路由指令、策略与经验教训日志,像管理代码一样多人迭代。

值班智能体四要素与双层工作流架构

其中有两个设计决策值得单独拎出来说。

第一,技能即代码。 所有调查技能(Skills)以 Markdown 文件维护并提交到 GitHub 仓库,用 PR 评审、多人迭代,跟管代码一个流程。这解决了智能体系统里最经典的维护难题:经验是散落在个人脑子里的,还是沉淀在可审查的文件里的?

第二,动态工作流(Dynamic Workflows)——编排代理 + 执行子代理。 事故发生后,Claude Tag 启动一个编排代理(orchestration agent),派生出多个执行子代理(executor subagents),并行去查 Grafana、日志存储、PagerDuty、GitHub、Kubernetes、Slack 事件频道,执行者回报后由编排代理综合成一份 SITREP(态势报告)。这个"一个大脑指挥多个手"的结构,是把多智能体的并行能力和单一责任点结合起来的关键。


三、全流程拆解:检测 → 分类 → 解决 → 验证 → 交接

AI 值班五阶段全流程时间线

检测(Detection):三条路进事故

告警触发流程是确定性的(deterministic),升级路径则是确定性与智能体自主性的混合。Claude 覆盖三条触发路径:

  1. 告警规则自动调优:新服务上线头几天,Claude 分析数据和告警,主动建议新规则,修正过宽或过窄的规则——值班团队最常见的"规则漂移"由它来兜底;
  2. 自动分流:Claude 按 oncall.md 里的标准判断告警是"可等到早晨"还是"立即传呼"。原文给的示例规则很具体:错误率 >2% 持续 5 分钟以上,且不在已知部署窗口内 → 传呼值班人员;否则写入 lessons.md
  3. 人工上报:CI 团队成员在值班频道报告问题,或公司任何人通过内部页面开通事故(标记为 CI 基础设施事故则自动开通 Slack 频道,Claude 接手)。

分类(Triage):先查数据,再提理论

这是全文我最认同的一句方法论:“配置告诉你可能出什么问题,指标告诉你实际出了什么问题。” Claude 不会像人类一样先猜再验,它的默认动作是拉数据——这也正是它"不产生告警疲劳"的原因:可以持续监控所有相关告警,而不是只盯最响的那几个。

分类环节还有一个值得抄的机制:分级调查指南。团队为每类 bug 准备参考 Markdown 文件,例如针对 shadow divergence(影子分歧)bug 写了 617 行的调查技能文件——作者在一次真实事故中与 Claude 逐轮排查后让其生成,从此这类问题不再靠"上次那个谁的经验"。

解决(Resolution):金丝雀、排水与 PR

解决路径依故障类型分级:功能开关后的渐进式部署中,Claude 管理金丝雀流量、监控问题、自动调高或调低开关;基础设施类故障则执行 Kubernetes 节点排水/隔离(drain/cordon)、发出扩容指令;代码类修复则以 PR 形式给出,交给值班人员审查、合并、部署——人保留最后的合并权

验证(Verification):用调查的同一套工具验证修复

Claude 使用与调查完全相同的 MCP Connectors 验证修复效果,而不是"改完了就算完"。开头那个案例的"3 分钟后确认错误率恢复基线",就是这一环的产物。

交接(Handoff):事故是知识资产

每起事故的经过、根因、修复和注意事项自动追加进 lessons.md;按 oncall.md 指令自动写事后复盘(post-mortem);同一模式反复出现则升级进调查技能——形成自我改进闭环。另有 ci-weather 代理聚合各事故频道的 SITREP、构建指标、合并队列统计、部署滞后,以新闻稿风格发布到公司公开频道,周一自动生成人工交接报告。

作者在这里有一个很坦诚的补充:报告格式迭代了多次——Claude 能一次生成状态报告,但"可读性是团队特有的品味,属于人类沟通问题,不是管道问题"。这句话的意思是:别指望 AI 第一次就懂你们团队的表达习惯,格式是需要调教的。


四、数据与判断:两个反常识的结论

值班效果关键数据对比

原文给出的几个数据值得放在一起看:

指标 数值
首份 SITREP 发布 通常 15 分钟内
首份基于证据的分析(中位) 事故开启后 14 分钟
最快点名根因 首份报告中 4 分钟
工程师季度代码交付量 2021–2025 年的 8 倍
shadow divergence 调查技能文件 617 行
整套系统搭建时间 数小时(而非数天)

两个反常识判断,其实是同一枚硬币的两面:

“AI 不会告警疲劳"是值班智能体的第一性优势。 人类的注意力是被迫分配的——告警一多就只能挑最响的处理,这本身就是事故的温床。AI 可以同时盯住所有相关信号,把"筛选"这个环节从人的肩上卸下来。

“跟上智能体编码速度的唯一方法是智能体 CI(agentic CI)"。 工程师每季度交付的代码量是 2021–2025 年的 8 倍,人肉盯 CI 的模型注定撑不住——不是工程师变懒了,是产出规模变了。值班工作里最繁琐的部分(夜间打扰、事故沟通、告警筛查)交给 AI,工程师才有余力做影响系统可靠性的中长期架构改进。


五、质量底线:自动化不等于放权

AI 值班最容易引发的质疑是:质量会不会崩?原文给出的答案很硬——三条底线一条没松

  • 每个 PR 都有具名的人类负责人
  • 每次变更都需要审批后合并
  • 所有变更经过同一套 CI 门禁

也就是说,Claude 接管的是"值班流程的执行”,而不是"质量标准的制定权”。这跟我们在 agentic coding 里反复验证过的结论一致:AI 应该负责把流程跑得更快更稳,但流程本身的定义权必须留在人手里。

另外值得一提的还有人工与 AI 的多人协作模式(multi-player mode):值班工程师可以实时引导 Claude 的调查方向、添加假设——不是"AI 替人干活"的单向关系,而是"人机共同排查"的结对关系。


六、从 0 到 1:oncall-kit 落地路径

如果想让自己的团队也跑起来,原文的快速上手步骤很克制(需要 Claude Team 或 Enterprise 套餐):

  1. 组织所有者通过 Claude Tag 将 Claude 添加到值班 Slack 频道;
  2. 连接相应 connectors、GitHub 仓库,并设置 Claude Code Remote;
  3. 将 Claude 加入事故频道,指示它监控事故、立即分类;
  4. oncall-kit 里的模板(ONCALL.md、triage 技能)起步,跑一遍附带测试夹具的 10 分钟演示(用虚构团队历史运行)。

oncall-kit 四步落地路径

作者强调这套系统"不显得零散"——值班流程仍然活在 Slack 里,只是 Claude 加入了频道。这句话其实是整套设计哲学的最佳注脚:不是发明一套新流程让 AI 去适应,而是让 AI 融进你已经习惯的流程。对团队来说,接受成本低到几乎可以忽略。


七、总结:从监控事故,到监控事故响应系统

回到开头那 44 个测试。这个案例最打动我的不是"AI 修得快",而是整条链路里没有人被叫醒——同事在 Slack 问了一句,Claude 查完数据、给出判断、完成验证、回报结果,全程在值班频道里留下完整可回溯的记录,最后还会变成 lessons.md 里的一条经验。

Anthropic 这套系统的真正升级,是把监控的对象从"事故"变成了"事故响应系统":告警规则会自我调优,调查经验会自我沉淀,报告会按时长出来。值班工作从"消耗人的应急事件",变成了"由系统持续运转的常规流程"。

对我们这些还在人肉值班的团队来说,最有价值的不是照搬它的架构,而是先问自己三个问题:我们的事故经验有没有沉淀成可执行的文件?我们的告警规则有没有人持续维护?我们的交接报告是不是每次都要从零写起?——这三个问题的答案,决定了你是需要一套 Claude Tag,还是只需要把 oncall-kit 里最朴素的 lessons.md 习惯先捡起来。

「真诚赞赏,手留余香」

爱折腾的工程师

真诚赞赏,手留余香

使用微信扫描二维码完成支付