Iamthenoobcoder/openenv-incident-response
GitHub: Iamthenoobcoder/openenv-incident-response
一个基于强化学习的云基础设施事件响应模拟环境,用于训练和评估AI智能体在SRE场景下的故障检测、诊断、修复和客户沟通能力。
Stars: 0 | Forks: 0
title: Incident Response AI
emoji: 🚨
colorFrom: red
colorTo: blue
sdk: docker
pinned: false
tags:
- openenv
- devops
- sre
- reinforcement-learning
- cloud-infrastructure
# 🚨 Incident Response AI — OpenEnv 环境
**🟢 实时模拟:** [在 Hugging Face Spaces 上体验 Agent 仪表盘](https://huggingface.co/spaces/yajd19/openenv-incident)
一个真实的 DevOps/SRE 工程师完整事件响应工作流模拟。
单个智能体扮演全部四个操作角色 —— **检测、调查、
解决和客户沟通** —— 跨越三个云基础设施事件,
处理伴随级联故障和客户工单压力的情况。
## 1. 环境描述与动机
像 Google、Stripe 和 Amazon 等公司的真实 SRE 团队在事件发生时都遵循这一确切的四步
手册。本环境基于相同的工作流来训练和评估智能体:从日志和指标中检测异常,
诊断根本原因,应用精准修复,以及管理客户沟通 —— 所有这些都在时间压力下进行。
其动机是为训练 AI 智能体提供一个安全、可复现且具挑战性的环境,
以处理人类实际面临的复杂、多服务基础设施故障。
**难点所在:**
- **级联惩罚**:在没有进行诊断的情况下重启服务会触发级联故障。
- **客户工单压力**:工单的紧急程度会随时间增加,并影响最终得分。
- **干扰性指标**:某些指标可能看起来异常,但并非根本原因。
## 2. 快速开始与设置
### 环境要求
- Python 3.11+
- `pip install -r requirements.txt`
### 运行环境
```
python server/app.py
```
服务器将在 `http://localhost:3000` 上启动。
### 运行基线
```
python baseline/run_baseline.py
```
### 运行验证器
```
python validator.py
```
## 3. API 参考 (OpenEnv 规范)
| 端点 | 方法 | 描述 |
| :--- | :--- | :--- |
| `/api/reset` | POST | 使用 `task_id` 和 `seed` 重置环境。返回初始观测结果。 |
| `/api/step` | POST | 接收一个 `Action` 并返回 `(observation, reward, done, info)`。 |
| `/api/state` | GET | 返回完整的内部 `SystemState`。 |
| `/api/tasks` | GET | 返回任务列表和 `action_schema`。 |
| `/api/grader` | GET | 返回当前回合的编程评分器得分 (0.0-1.0)。 |
| `/api/baseline` | POST | 触发基线推理脚本并返回得分。 |
## 4. 任务定义与难度
| 任务 ID | 名称 | 难度 | 根本原因 | 解决方案 |
| :--- | :--- | :--- | :--- | :--- |
| `task1_easy` | Payment API 宕机 | 简单 | 数据库 OOM | `edit_config(db_memory_limit=2048mb)` |
| `task2_medium` | 内存泄漏 | 中等 | 连接泄漏 | `edit_config(connection_timeout=30s)` |
| `task3_hard` | 错误部署 | 困难 | JWT Secret 损坏 | `rollback_deployment(version=v1.2.1)` |
## 5. 动作与观测空间
### 动作空间 (15 种类型)
智能体可以执行诊断和修复动作:
- **诊断**:`check_logs`、`check_metrics`、`check_connections`、`check_config`、`check_dependencies`。
- **修复**:`restart_service`、`scale_service`、`edit_config`、`rollback_deployment`、`clear_cache`。
- **沟通**:`reply_customer`、`update_status_page`、`escalate_incident`、`alert_team`。
- **最终**:`mark_resolved`。
### 观测空间
观测结果包括:
- **服务**:所有服务的当前健康状况、CPU、内存、错误率和状态。
- **日志**:基于服务状态生成的近期合成日志。
- **告警**:活动的严重和警告告警。
- **工单**:具有紧急级别的未解决客户支持工单。
- **反馈**:来自上一次执行动作的文本反馈。
## 6. 奖励函数与评分
### 奖励函数
在整个轨迹上提供信号:
- **+0.02** 用于诊断动作(鼓励调查)。
- **+0.10** 用于正确的修复尝试。
- **+0.30** 用于健康状况改善 (delta)。
- **+0.30** 用于最终解决。
- **-0.25** 用于级联故障(未经诊断即重启)。
- **-0.05** 用于冗余动作(防止无限循环)。
### 编程评分器 (0.0 - 1.0)
- **解决情况 (50%)**:系统是否恢复到了 100% 的健康状态?
- **效率 (30%)**:相对于 `max_steps` 采取了多少步?
- **客户满意度 (20%)**:是否所有工单都得到了及时解决?
## 7. 基线得分 (可复现)
| 模型 | 任务 1 | 任务 2 | 任务 3 | 平均 |
| :--- | :--- | :--- | :--- | :--- |
| Gemini 2.0 Flash | 0.65 | 0.50 | 0.25 | 0.47 |
标签:AIOps, AI代理, Docker, IT运维, OpenEnv, Python, Socks5代理, SRE, 云基础设施, 人工智能, 偏差过滤, 多智能体, 安全防御评估, 客服沟通, 开源环境, 异常检测, 强化学习, 故障排查, 故障演练, 无后门, 智能运维, 根因分析, 模块化设计, 模拟环境, 生产环境模拟, 用户模式Hook绕过, 站点可靠性工程, 系统稳定性, 级联故障, 自动化修复, 请求拦截, 逆向工具