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绕过, 站点可靠性工程, 系统稳定性, 级联故障, 自动化修复, 请求拦截, 逆向工具