bugFREEadi/sre-incident-response-openenv

GitHub: bugFREEadi/sre-incident-response-openenv

这是一个高保真的强化学习基准环境,旨在评估AI智能体在微服务架构下进行因果事故诊断与安全修复的能力。

Stars: 0 | Forks: 0

title: SRE Incident Response OpenEnv emoji: 🚨 colorFrom: red colorTo: gray sdk: docker app_port: 8000 pinned: false tags: - openenv - sre - incident-response - reinforcement-learning - benchmark license: bsd-3-clause # SRE 事故响应 OpenEnv 基准测试 [![OpenEnv Compliance](https://img.shields.io/badge/OpenEnv-Certified-green.svg)](https://github.com/meta-pytorch/OpenEnv) ## 环境概述与动机 **SRE Incident Response** 是一个高保真强化学习环境,旨在评估 AI 智能体在微服务架构中进行因果事故诊断和安全修复的能力。 ### 为什么选择这个 Benchmark? 传统的 RL 环境通常会奖励那些将指标恢复到“绿色”状态的任何操作。在现实世界的站点可靠性工程 (SRE) 中,暴力修复(如盲目重启)可能会加剧级联故障。 该环境实现了 **“诱人的错误移动”**: - **因果深度**:症状(例如前端延迟)通常与根本原因(例如下游连接泄漏)解耦。 - **奖励分离**:评分系统分别对 **恢复质量** (SLO 恢复) 和 **决策质量** (调查卫生) 进行评分。在没有诊断的情况下暴力修复的智能体将获得较低的最终分数。 - **微动画和抖动**:逼真的指标噪声代表了非确定性监控,迫使智能体在操作之前在日志和指标中寻找统计显著性。 ## 任务描述和难度级别 该环境提供五种不同的生产级事故场景,范围从直接回滚到复杂的级联故障。 | Task ID | 场景名称 | 难度 | 关键挑战 | | :--- | :--- | :--- | :--- | | `s03_wrong_rollback` | Auth Bad Deploy | **Easy** | 故障出现在 `accounts-api`,但证据指向 `identity-service`。 | | `s02_corrupt_scaleup` | Pricing Corruption | **Medium** | 延迟看起来像负载;扩容掩盖了 Bug,但数据损坏仍在继续。 | | `s05_retry_storm` | Webhook Storm | **Medium** | 队列压力提示配置不足;正确的修复是流量控制。 | | `s04_cache_stampede` | Cache-Key Regression | **Hard** | 看起来像是 Redis 容量问题,但实际上是调用方的键生成 Bug。 | | `s01_restart_cascade`| Connection Leak | **Hard** | **Hard Benchmark。** 盲目重启故障的 API 会加剧数据库瓶颈。 | ## 动作空间 所有动作均遵循 OpenEnv 类型规范。检查操作比修复操作成本更低,以鼓励诊断卫生。 ### 检查操作 (Cost: 0.5) - `inspect_logs(service: str, tail_n: int)` - 采样最近的 stdout/stderr。 - `inspect_metrics(service: str, window_ticks: int)` - 查看最近的 p99 延迟、错误率和饱和度。 - `inspect_dependencies(service: str)` - 发现服务拓扑和下游健康状况。 ### 修复操作 (Cost: 1.0) - `restart_service(service: str)` - 立即重启 Pod。 - `rollback_service(service: str, target_version: str)` - 回滚到稳定的镜像 Tag。 - `scale_service(service: str, replicas: int)` - 水平 Pod 自动扩缩容。 - `set_rate_limit(service: str, rps: int)` - 应用流量丢弃/控制。 ### 完成操作 (Cost: 0.0) - `declare_root_cause(service: str, reason_code: str)` - 结束前**必须执行**。 - `finish_incident()` - 提交事故进行最终评分。 ## 观察空间 每一步都会返回一个经过 Pydantic 验证的丰富观察结果,包含: - **服务快照**:p99/p95 延迟、错误率 (0.0 - 1.0)、饱和度和副本数量。 - **事故证据**:包含具体故障线索的日志尾部以及最近的部署/特性开关事件。 - **告警流**:实时 SLO 违规告警 (Critical/Warning)。 - **元数据**:Tick 计数、剩余预算和运行分数提示。 ## 设置和使用说明 ### 本地开发 1. **安装依赖**: pip install -r requirements.txt 2. **运行服务器**: python3 -m uvicorn server.app:app --host 0.0.0.0 --port 8000 3. **验证合规性**: openenv validate . ### 硬件要求 - **vCPU**:2 (推荐) - **RAM**:8 GB - **OS**:Linux (容器化) ### Docker 执行 ``` docker build -t sre-incident-env . docker run -p 8000:8000 sre-incident-env ``` ## 基准性能分数 使用 `inference.py` 结合 OpenAI GPT-4o-mini 和确定性回退策略进行评估。 | 场景 | 恢复分数 | 决策分数 | **最终分数** | | :--- | :--- | :--- | :--- | | `s03_wrong_rollback` | 0.85 | 0.65 | **0.75** | | `s02_corrupt_scaleup` | 0.82 | 0.70 | **0.76** | | `s01_restart_cascade` | 0.92 | 0.75 | **0.83** | | **所有任务平均** | **0.86** | **0.70** | **0.78** | ## 提交准则执行 - 根目录下的 `inference.py` 确保严格的合规性。 - 发出必需的 `[START]`、`[STEP]` 和 `[END]` 日志格式。 - 使用标准环境变量:`API_BASE_URL`、`MODEL_NAME` 和 `HF_TOKEN`。
标签:AI智能体, Apex, Docker, OpenEnv, RL环境, SRE, 偏差过滤, 因果诊断, 安全修复, 安全防御评估, 强化学习, 微服务架构, 指标监控, 故障响应, 机器学习, 根因分析, 深度学习, 级联故障, 请求拦截, 运维自动化, 逆向工具