AtulJoshi1206/IncidentOps-Agentic-SRE

GitHub: AtulJoshi1206/IncidentOps-Agentic-SRE

一个基于 OpenEnv 规范的生产级 SRE 事故响应基准测试平台,用于评估大语言模型在 SaaS 环境中进行故障排查、根因诊断及修复补救的能力。

Stars: 0 | Forks: 0

title: IncidentOps Environment Server emoji: 🎮 colorFrom: yellow colorTo: indigo sdk: docker app_port: 7860 tags: - openenv - sre - benchmark # IncidentOps — SRE Agent 基准测试 (OpenEnv) IncidentOps 是一个专为 OpenEnv 设计的环境,旨在评估 Agent 是否能像真实的值班 Site Reliability Engineer (SRE) 那样运作。 它模拟微服务环境中的生产事故,并测试 Agent 在现实约束下 **观察、诊断、修复和解决** 问题的能力。 ## 🧠 本测试基准涵盖的内容 与玩具环境不同,IncidentOps 评估: * **行动前先诊断** * **从嘈杂的日志中提取信号** * **正确的根本原因识别** * **最小化、安全的补救措施** * **端到端的事故解决** Agent 必须遵循真实的工作流程: ``` Observe → Diagnose → Fix → Verify → Resolve ``` ## ⚙️ 环境概览 该系统模拟了一个生产级 SaaS 技术栈,包含: * Services: `auth`, `api`, `payments`, `search`, `notifications`, `db` * 持久化状态(由 SQLite 支持) * 多步骤事故演变 * 具有隐蔽故障原因的确定性场景 ## 🛠 可用工具 Agent 使用 `ToolCallAction` 进行交互: * `get_alerts()` * `search_logs(service, query)` * `get_metrics(service)` * `inspect_config(service)` * `get_recent_deploys(service)` * `rollback_deploy(service)` * `patch_config(service, key, value)` * `restart_service(service)` * `run_healthcheck(service)` * `resolve_incident(incident_id, root_cause, resolution)` ## 📋 示例轨迹 ``` [START] task=single-service-down env=incidentops_env model=mistral [STEP] step=1 action=get_alerts({}) reward=0.03 done=false error=null [STEP] step=2 action=search_logs({"service":"auth","query":"401"}) reward=0.11 done=false error=null [STEP] step=3 action=inspect_config({"service":"auth"}) reward=0.09 done=false error=null [STEP] step=4 action=patch_config({"service":"auth","key":"jwt_secret_version","value":"v2"}) reward=0.20 done=false error=null [STEP] step=5 action=resolve_incident({...}) reward=0.90 done=true error=null [END] success=true steps=5 rewards=0.03,0.11,0.09,0.20,0.90 ``` ## 🧪 场景覆盖范围 IncidentOps 包含多种真实世界的故障模式: | Task | Type | | --------------------- | ---------------------------- | | `single-service-down` | Config failure | | `bad-deploy-recovery` | Regression after deploy | | `cascading-failure` | System-level bottleneck | | `config-drift-with-false-logs` | Silent misconfiguration | | `false-alarm` | Self-recovered incident | | `resource-leak` | Memory leak via feature flag | ## 🎯 评分系统(灵感来自 RFC-004) ### 结果 (80%) * 正确的解决方案 * 正确的根本原因 ### 过程 (20%) * 高效的步骤 * 行动前进行适当的诊断 ### 奖励信号 | Behavior | Reward | | ---------------------------------- | ---------- | | Diagnostic step (logs/metrics) | +0.05 | | Correct targeted fix | +0.28 | | Blind action (restart/patch early) | -0.30 | | Successful resolution (terminal) | up to +0.95| ## 🚀 快速开始 ### 运行服务器 ``` uvicorn server.app:app --host 0.0.0.0 --port 7860 ``` ### 运行推理 ``` export HF_TOKEN="hf_xxx" export MODEL_NAME="mistralai/Mistral-7B-Instruct-v0.2" export ENV_SERVER_URL="http://localhost:7860" python3 inference.py ``` ## 🔌 API 端点 | Endpoint | Description | | --------- | ----------------- | | `/reset` | Start new episode | | `/step` | Execute action | | `/state` | Current state | | `/health` | Server health | ## 📦 架构 ``` server/ app.py → OpenEnv server tools.py → tool implementations rubrics.py → reward logic scenarios/ → task definitions inference.py → agent runner ``` ## ⚠️ 设计原则 * 确定性评估(环境状态中无随机性) * 非平凡评分(多层次奖励梯度) * 真实的故障模式 * 严格的动作-奖励因果关系 ## 🧬 为什么与众不同 * 不是玩具基准——反映真实的事故响应 * 奖励推理,而非暴力破解 * 惩罚错误的心理模型 * 易于评估,难以最优解决 ## 🏁 总结 IncidentOps 衡量 Agent 是否能够: ``` think like an engineer, not just act like a tool ``` ## 参考文献 * OpenEnv Specification (RFC 004) * SRE Incident Response Practices * Meta Hackathon Evaluation Guidelines
标签:Agent, BurpSuite集成, Docker, LLM Benchmark, OpenEnv, SaaS, SRE, 仿真环境, 偏差过滤, 大模型评估, 安全防御评估, 指标监控, 故障诊断, 根因分析, 生产级, 站点可靠性工程, 自动化运维, 请求拦截, 运维, 逆向工具, 部署回滚