SuhailaFathimaS/incident-response-env

GitHub: SuhailaFathimaS/incident-response-env

这是一个基于Docker和FastAPI的交互式环境,用于测试AI智能体通过分析自然语言日志诊断根本原因并执行正确操作以解决生产环境故障的能力。

Stars: 0 | Forks: 0

## title: incident-response-env emoji: 🚨 colorFrom: red colorTo: yellow sdk: docker pinned: false # 🚨 Incident Response Runbook Environment(事件响应手册环境) ## 概述 该环境模拟现实世界的生产环境事件响应——这正是 Meta、Google 和 Amazon 等公司的值班工程师每天所从事的工作。一个 AI agent 接收包含服务器日志、错误消息和系统指标的自然语言告警。它必须阅读并分析这些信息,以诊断根本原因并执行正确的补救操作序列。 **基于规则的系统或 PID 控制器根本无法解决这个问题**——每个操作都需要阅读并理解自然语言日志输出。 ## 为何需要 LLM 每一条观测都是自然语言。示例告警: ``` CRITICAL: PostgreSQL connection pool EXHAUSTED on db-primary-01. Active connections: 500/500. Query queue depth: 2,847. Application errors spiking: 342 HTTP 500s in last 60s. Lock contention detected on 'orders' table. Slow query: SELECT * FROM orders JOIN products... running for 47s. ``` Agent 必须:理解这是由慢查询导致的连接池问题,决定先终止阻塞查询,然后重启依赖服务。错误的顺序(例如,重启数据库)会使情况恶化。 ## 动作空间 ``` { "action_type": str, # diagnose, restart_service, scale_horizontally, # kill_queries, failover, rollback_deploy, # clear_cache, adjust_config, page_oncall, no_op "target_service": str, # Which service to act on "parameters": dict, # Action-specific parameters "reasoning": str # Agent's explanation (required) } ``` ## 观测空间 ``` { "active_alerts": [ # Unresolved alerts with full log messages {"alert_id": str, "severity": str, "service": str, "message": str} ], "system_status": dict, # Service name -> health percentage "recent_actions": [str], # Last 5 action results "metrics": dict, # Aggregate metrics "timestep": int, "total_steps": int, "task_id": str } ``` ## 任务 | 任务 | 难度 | 场景 | 关键挑战 | |------|-----------|----------|---------------| | task_easy | Easy(简单) | DB connection pool / Memory leak / Cert expiry | 单一根因,日志清晰 | | task_medium | Medium(中等) | Cascading microservice failure / Bad deployment | 多服务链路,根因 != 告警服务 | | task_hard | Hard(困难) | Multi-region DNS outage / Security breach | 信号模糊,多重并发故障 | | task_critical | Critical(关键) | Total infrastructure meltdown during peak | 全部故障,错误操作导致危害,时间压力 | ## 事件场景 8 个手工设计的场景,包含逼真的日志消息: 1. **数据库连接池耗尽** — 慢查询锁,级联超时 2. **API 网关内存泄漏** — OOM 终结,流量重分配 3. **TLS 证书过期** — ACME 续期失败,HTTPS 全部中断 4. **级联微服务故障** — GPU OOM → 熔断器 → 雪崩效应 5. **导致数据损坏的错误部署** — 不可逆迁移,Canary 被忽略 6. **多区域 DNS 故障** — 内部 DNS 故障,跨区域过载 7. **安全漏洞** — 挖矿程序 + 受入侵容器数据外泄 8. **全面崩溃** — LB 脑裂 + DB 过载 + 缓存故障转移失败 + OOM ## 奖励函数 - **动作质量 (45%)** — 在正确服务上按正确顺序执行正确动作 - **解决速度 (25%)** — 更快的解决 = 更高的分数 - **一致性 (15%)** — 各步骤间的稳定表现 - **无危害 (15%)** — 对使情况恶化的动作进行惩罚 ## 评分 ``` score = 0.45 × weighted_reward + 0.25 × speed + 0.15 × consistency + 0.15 × harm_penalty ``` ## 基准分数 | task_easy | 0.860 | | task_medium | 0.852 | | task_hard | 0.827 | | task_critical | 0.745 | | **Mean** | **0.821** | 模型:meta-llama/Llama-3.3-70B-Instruct ## API 端点 | 端点 | 方法 | 描述 | |----------|--------|-------------| | /health | GET | 健康检查 | | /reset | POST | 加载事件场景 | | /step | POST | 执行手册动作 | | /state | GET | 当前事件状态 | | /tasks | GET | 列出可用任务 | ## 安装配置 ``` export API_BASE_URL="https://router.huggingface.co/v1" export HF_TOKEN="your-token" export MODEL_NAME="meta-llama/Llama-3.3-70B-Instruct" export ENV_BASE_URL="https://ssuhaila-incident-response-env.hf.space" python inference.py ``` ## 技术栈 Python 3.11 · FastAPI · Uvicorn · Pydantic v2 · NumPy · OpenAI SDK · Docker ## 作者 - **Madhumita SM** — SASTRA Deemed University - **Anirudh Kumar R** — SASTRA Deemed University - **Suhaila Fathima s** — SASTRA Deemed University
标签:Agent, Docker, LLM, PostgreSQL, SRE, Unmanaged PE, 事故响应, 仿真环境, 偏差过滤, 大模型, 安全防御评估, 库, 应急响应, 故障诊断, 数据库优化, 根因分析, 测试平台, 自动修复, 请求拦截, 运维, 逆向工具