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, 仿真环境, 偏差过滤, 大模型评估, 安全防御评估, 指标监控, 故障诊断, 根因分析, 生产级, 站点可靠性工程, 自动化运维, 请求拦截, 运维, 逆向工具, 部署回滚