跳转至

AI Native 下的混沌工程:Agent 军团如何重新定义系统韧性验证

Ch01.1515 AI Native 下的混沌工程:Agent 军团如何重新定义系统韧性验证

📊 Level ⭐⭐⭐ | 8.9KB | entities/ai-native-混沌工程-agent军团.md

AI Native 混沌工程:Agent 军团 + 共享黑板重定义系统韧性验证

阿里云专有云 IaaS 场景下,节点掉电、磁盘故障、网络异常、GPU 掉卡等基础设施故障"一定会发生",关键在于系统能否自动恢复而不影响业务连续性。传统混沌工程实践存在三阶段痛点:前期用例设计成本高(经验散落个人记忆、真实故障多场景叠加人力无法穷举、实验缺乏随机性);中期执行与诊断依赖人工(数据采集不及时、根因分析靠经验、恢复协调困难);后期分析缺失难复用(无标准化预案、hack 和临时方案无法沉淀)。更根本的问题是:现有混沌工具几乎都停留在"注入恢复"环节,观测分析、诊断定位、报告输出仍依赖人,缺乏闭环,韧性验证只能作为阶段性专项演练存在,无法高频常态化开展。

方案不是用 AI 替代某个环节,而是让 AI 驱动从触发到恢复的全链路闭环:目标是让专有云 IaaS 产品具备"故障后能否自恢复"的自动化验证能力,把韧性验证从依赖专家经验的一次性人工判断,升级为可自动触发、可持续运行、可沉淀复用的平台能力——单次验证闭环提效数十倍、人力从专职 SRE 全程投入降到仅做触发与确认。

AI Native 三大标准与 Agent 军团架构

动手前定义了三条硬性标准:全链路 AI 驱动(任何环节不能有人工卡点)、标准化协议交互(Agent 间通过标准协议通信)、10 倍效率提升(不是优化 10% 而是数量级)。落到可量化验收目标:单 Case 全链路 0 人执行干预、单次闭环压缩到半小时以内、主动发现未知缺陷、闭环分析结果可复用。

架构是"多 Agent 军团协作 + 自研 Harness 平台",选择多 Agent 而非单 Agent 的原因:注入、观测、诊断、报告、工单等能力域差异大,单一 Agent 上下文窗口难以承载;多 Agent 天然支持分治与并发,独立上下文更可控;允许不同团队各自负责自己擅长的 Agent。系统围绕三个核心概念构建:Agent 军团(9 个 Agent 按决策层、入口层、策略层、执行层、观测层、认知层、输出层、闭环层、知识层九层分层协作);共享黑板(Agent 之间唯一的交互媒介,除指挥/哨兵 Agent 外所有 Agent 通过黑板交换数据,互相不知道对方的存在,可随时增删 Agent);双进化回路(经验反馈回路 + AI 飞轮回路)。三层架构:上层为触发与编排控制(哨兵 Agent 归一化多源触发、指挥 Agent 状态机驱动全流程、安全闸门把关、Registry + 路由实现自动注册与心跳检活);中层为 Agent 工作区(每个 Agent 配 Tool 可执行工具 + Skill 领域技能 + Knowledge 知识资产的能力三角,内部 Agent 走 Dispatch 直调、外部 Agent 走 A2A 协议);下层为基础设施(工具层、监控告警、协作工单、知识平台、AI 能力、数据存储六大模块)。

9 个 Agent 各司其职:指挥 Agent(决策层,全流程节奏 + 三道安全决策)、哨兵 Agent(入口层,多源触发接入)、编排 Agent(策略层,故障用例生成与进化)、执行 Agent(执行层,故障注入 + 安全恢复,唯一破坏性操作权限)、环境 Agent(观测层,基线快照 + 流式监控 + 异常检测)、诊断 Agent(认知层,根因分析 + Bug 研判)、报告 Agent(输出层,结构化实验报告)、工单 Agent(闭环层,自动创建工单 + 修复追踪)、产品 Agent(知识层,领域知识检索 + 案例入库)。每个 Agent 通过 JSON 卡片(AgentCard)标准化暴露能力,包括 capability_id、输入输出 Schema、安全等级和超时配置。

共享黑板与三道安全闸门

共享黑板基于 Redis Hash 实现,字段分四类:实验元数据(experiment_id、product_id、状态机状态)、业务数据(product_profile、case_config、baseline、流式采样结果)、输出与反馈(诊断结论、实验报告、action_recommendations、evolve_strategy)、调试与审计(LLM 调用记录、Agent 执行轨迹、错误日志)。关键设计是 Agent 之间只认黑板数据结构:新增 Agent 只需读懂它关心的字段并把输出写入约定字段。并发安全靠 Lua 原子写入 + 乐观锁(version 字段),实时性靠 SSE 字段变更推送,读写隔离靠按角色的 Redis ACL。

混沌工程最重要原则是严格圈定故障范围,系统设计了三道递进式安全闸门:第一道参数校验(注入参数真实、范围最小、环境可验证,环境白名单硬规则不受任何开关控制);第二道安全预检(破坏性操作白名单 + 双签确认、爆炸半径评估、黑名单检查,检查最大并发数和历史失败率);第三道恢复判定(注入后基于基线数据确认系统可安全恢复,防止在异常系统上继续注入)。贯穿全流程的安全机制还包括:执行 Agent 唯一拥有环境变更权限、安全逻辑内嵌各 Agent(安全左移)、紧急停止按钮、权限控制矩阵、LLM 并发限流防 429、状态机严格校验(9 正常状态 + 1 failed 终态)、dispatch_rules.json 分派白名单。

双进化回路与实战成果

回路一:经验反馈回路(知识进化)——诊断 Agent 输出正常/疑似缺陷二态判定 + 完整证据链 → 产品 Agent 决定实验方案是否有价值并写入用例库 → 下一轮编排 Agent 优先扫描匹配用例,命中则直接复用注入/恢复命令和监控配置,未命中才回退 LLM 模板生成。随着轮次增加,方案生成从现场生成逐渐变为检索复用。回路二:AI 飞轮回路(权重进化)——报告 Agent 附带结构化行动建议 → 工单 Agent 创建 Bug 工单并跟踪修复结果 → 修复结果回传编排 Agent(真实缺陷修复生效说明验证价值高,误报/无效注入说明价值低)→ 调整故障类型/参数组合的编排权重,低价值场景被抑制、高价值场景被更频繁验证。

新产品接入被设计为"像插 USB 设备一样简单":产品接入方定义 AgentCard、实现三个 HTTP 端点(GET /agent_card、POST /api/{capability_id} JSON-RPC 2.0、GET /health)+ 心跳保活;平台方做 Registry 注册、Redis ACL 配置、路由白名单和监控适配。实战成果(联合存储团队工程共建):单次验证闭环时间从数天降到 40+ 分钟(数十倍提效)、策略迭代周期从月度级到日级、人力投入从专职 SRE 到 0.1 人执行,且已发现多条产品稳定性问题并提交缺陷详情与复现方式。

文章结尾的认知栈观点:AI 不会替代 SRE 的经验判断,但能把 SRE 从重复的"注入-盯盘-写报告"中解放出来,专注于更有价值的架构韧性决策。"AI 替我做我会做的事"叫认知卸载,适合语法、格式、记忆类负担;"我不再需要理解这件事"叫认知外包,危险从这里开始。让机器做机器擅长的,人类守住不能被外包的判断。

相关

原文存档