NandyalaSriThanuj/incident-response-env-
GitHub: NandyalaSriThanuj/incident-response-env-
一个基于 OpenEnv 规范的分布式系统故障模拟环境,用于训练和基准测试 AI 智能体在 DevOps 场景下的异常检测、根因分析及自动修复能力。
Stars: 0 | Forks: 0
## title: AI 响应环境
emoji: ⚙️
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
# AI 事件响应与根因分析环境
## 1. 概述
本项目模拟分布式系统中的真实生产环境事件。它使 AI 智能体能够在结构化和交互式环境中检测异常、诊断根本原因并执行纠正操作。
该环境旨在评估智能体在 DevOps 和 Site Reliability Engineers (SREs) 通常处理的任务上的表现。
## 2. 现实应用
该环境对以下场景中使用的事件响应工作流进行建模:
- 云平台 (AWS, Azure, GCP)
- DevOps 和 Site Reliability Engineering (SRE)
- 具有高可用性要求的电商系统
- 要求低延迟和高可靠性的金融系统
它可用于训练和基准测试 AI 智能体,以实现自动化系统监控和恢复。
## 3. 关键功能
- 符合 OpenEnv 规范的环境
- 真实的系统日志和性能指标
- 多步骤事件解决工作流
- 基于奖励的学习系统
- 交互式仪表板 UI
- 具有可重现评分的确定性任务
## 4. 观测空间
提供给智能体的每个观测包含:
- 服务状态(健康 healthy、降级 degraded、宕机 down)
- CPU 使用率 (%)
- 延迟
- 系统警报和日志
这种结构化信息使智能体能够对系统健康状况进行推理并有效诊断问题。
## 5. 动作空间
智能体可以执行以下操作:
- restart_api
- restart_db
- restart_cache
- scale_api
- scale_db
- rollback_api
- do_nothing
## 6. 任务
| 任务 | 难度 | 描述 |
|------|----------|------------|
| single_db_failure | 简单 Easy | 恢复失败的数据库服务 |
| multi_service_degradation | 中等 Medium | 诊断并修复性能降级 |
| cascading_failure_misleading | 困难 Hard | 处理带有误导性信号的级联故障 |
## 7. 回合流程
1. 环境以故障场景初始化
2. 智能体接收系统观测
3. 智能体选择一个动作
4. 环境更新状态并返回奖励
5. 重复该过程,直到:
- 系统完全恢复 (done = true),或
- 达到最大步数
## 8. 奖励设计
奖励函数提供持续反馈:
- +10 → 正确操作
- +3 → 部分改进
- -5 → 错误操作
- +20 → 系统完全恢复
- 基于较少步数的效率奖励
这既鼓励正确性,也鼓励效率。
## 9. 评估与评分
每个任务的得分在 **0.0 到 1.0** 之间,基于:
- 恢复成功率 (60%)
- 效率 (40%)
评分系统是确定性的且可重现的,确保智能体之间的公平比较。
## 10. 基准结果
| 任务 | 得分 |
|------|------|
| single_db_failure | 1.0 |
| multi_service_degradation | 1.0 |
| cascading_failure_misleading | 1.0 |
**平均得分: 1.0**
## 11. OpenEnv 合规性
该环境完全实现了 OpenEnv 规范:
- 类型化的动作、观测和奖励模型
- 标准 API: `reset()`, `step()`, `state()`
- 包含 `openenv.yaml` 元数据
- 与 `openenv validate` 兼容
## 12. 设置说明
### 本地运行
```
pip install -r requirements.txt
uvicorn server:app --reload
```
标签:AI智能体, Docker, NIDS, SRE, 云平台, 人工智能, 低延迟, 偏差过滤, 分布式系统, 后端开发, 响应大小分析, 安全防御评估, 容器化, 异常检测, 强化学习, 性能优化, 故障响应, 数据库故障, 服务恢复, 机器学习评测, 根因分析, 检测绕过, 模拟环境, 用户模式Hook绕过, 站点可靠性工程, 自动化运维, 请求拦截, 运维自动化, 逆向工具, 高可用性