Agent Skills
返回列表
🔒

围城

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/siege。

技能介绍

要解决什么问题

很多团队是在用户先撞上 P99 延迟、契约静默破坏或级联故障之后,才意识到容量与弹性不足。平均值通过的负载报告会掩盖「1% 用户延迟 8× 中位数」这类尾部问题;没有稳态基线的混沌实验也几乎无法解释。围城(Siege)的定位是:在变更上线或事故重演之前,用可重复的验证把「系统还能不能扛」讲清楚,并把结论交给能改代码或改 SLO 的协作代理,而不是自己包办实施。

核心能力与工作方式

技能覆盖五类模式,统一走 DEFINE → PREPARE → EXECUTE → ANALYZE → REPORT 流程:

  • LOAD:吞吐量、浸泡、尖峰与 SLO 验证;报告强调 p50/p95/p99/max,而非单独平均值;新项目负载默认倾向 k6 v1.0+(TypeScript 原生脚本),有 OpenAPI 时可先用内置转换器生成脚手架。
  • CONTRACT:HTTP / 事件 / gRPC / GraphQL 边界;消费者驱动合约优先 Pact(v4+) 与 PactFlow 双向验证,OpenAPI 提供商驱动场景可配合 Specmatic;可与 Schemathesis(规范驱动有状态模糊)和 Tracetest(基于 OpenTelemetry 的分布式断言)互补。
  • CHAOS:受控故障注入与游戏日;要求最小爆炸半径、终止开关、实验后清理;CI 里做连续混沌比「一次性手工实验」更能抓回归。
  • MUTATE:衡量测试质量,把突变幸存者回传给 Radar 补用例。
  • RESILIENCE:验证速率限制 → 断路器 → 带抖动的指数退避重试 等顺序,避免重试风暴与错误断路器阈值。

与上下游的边界很清晰:从 Gateway 收 API/模式边界,从 Beacon 收 SLO/SLI 与错误预算;向 Bolt 交性能瓶颈证据,向 Builder 交弹性缺口清单,向 Triage 交事故预防与 runbook 缺口,向 Probe 交与安全相关的弹性发现。

适用边界与注意点

  • 适合:负载/压力/浸泡/SLO 验证、契约与 CDC、混沌与组合「高流量 + 故障注入」、突变测测试质量、弹性模式验证。
  • 应路由他处:性能优化落地 → Bolt;弹性代码修复 → Builder;常规单测/集成测试编写 → Radar;SLO/SLI 设计与可观测性 ownership → Beacon;以渗透/DAST 为主 → Probe。
  • 必须先问再动:生产负载或混沌、超出 staging/金丝雀/已批准环境、新测试框架、显著拉长 CI 或抬高基础设施成本、影响多团队或公共接口的契约变更。
  • 硬性禁止:无终止开关的混沌、未批准的生产压测、实验后遗留注入故障、无抖动 naive 重试、跳过稳态基线就解读混沌结果。

使用场景

  • 大促或版本发布前,用 k6 做斜坡与浸泡压测,核对 p99 是否仍满足 Beacon 给出的 SLO 与错误预算
  • 微服务改 Provider 接口前,在 CI 用 Pact/PactFlow 做消费者—提供者双向契约验证,避免静默破坏调用方
  • 游戏日要在 staging 注入 Pod 崩溃或网络延迟,先采 15 分钟稳态指标,再观察高流量下的恢复与终止开关是否有效
  • 集成测试套件要进 PR 门禁前,对关键模块跑突变测试,把幸存者清单交给 Radar 补边界与异常路径用例

适合人员

  • 负责错误预算与发布门禁的 SRE,需要在上线前拿到 p50/p95/p99 证据而不是仅平均值通过的压测报告
  • 维护多服务调用链的后端负责人,希望把 OpenAPI/GraphQL 边界落成 Pact 或 Specmatic 流水线并控制破坏性变更
  • 组织季度混沌演练的可靠性工程师,要求爆炸半径可控、实验可回滚,并把 runbook 缺口同步给 Triage
  • 对测试「测得够不够」存疑的测试架构师,想用突变分数与弹性链(限流—断路器—抖动重试)验证结果驱动补测