Venkatesh-Karthik/incident-response-openenv
GitHub: Venkatesh-Karthik/incident-response-openenv
一个基于FastAPI的确定性强化学习环境,用于训练和评估AI智能体按照标准流程处理系统事件告警的能力。
Stars: 0 | Forks: 0
# 面向 RL 智能体的确定性 AI 事件响应环境
本项目提供了一个**确定性强化学习 (RL) 环境**,专门用于模拟真实世界的事件响应工作流。它作为一个测试平台,供智能体学习如何以结构化、顺序化的方式处理系统警报、评估其影响并采取纠正措施。
## 概述
在此环境中,RL 智能体充当一线支持工程师的角色。智能体必须通过严格的分级工作流来处理传入的系统警报(例如,CPU 飙升、内存泄漏、磁盘满载事件):
1. **分类**:识别事件的类型。
2. **严重性**:分配适当的优先级。
3. **操作**:执行正确的解决步骤。
该环境强制执行**顺序决策**,这意味着必须按正确的顺序执行操作才能成功。
## 功能特性
* **确定性环境**:保证 RL 智能体结果的可复现性和训练的稳定性。
* **多步骤工作流**:强制执行逻辑推演过程(`分类` → `严重性` → `操作`)。
* **带有惩罚机制的奖励塑形**:动态奖励系统,鼓励提高效率并惩罚不正确或冗余的步骤。
* **序列感知评分**:评分逻辑不仅评估最终结果,还评估达成结果所采取的路径。
* **防作弊逻辑**:防止智能体跳过步骤或暴力破解操作。
* **多警报模拟**:支持多种事件场景(CPU、内存、磁盘、网络)。
* **基于 API 的交互**:完全可通过 FastAPI 访问,易于与任何 RL 框架或基于语言模型的智能体集成。
## 状态设计
该环境提供了一个结构化的状态(观察值),包含:
* `alert_id`:当前事件的唯一标识符。
* `alert_type`:警报的技术类别(例如,`DISK_FULL`)。
* `description`:关于问题的人类可读上下文描述。
* `system`:受影响的目标服务器或服务。
* `severity`:当前评估的严重程度(初始值为 `None`)。
* `status`:当前工作流状态(`open` 或 `resolved`)。
* `history`:当前回合中执行的所有操作的完整日志。
## 操作
智能体使用三种主要操作类型与环境进行交互:
* **`classify`**:对事件进行分类(例如,`performance_issue`)。
* **`set_severity`**:定义紧急程度(例如,`high`)。
* **`take_action`**:执行解决策略(例如,`restart_server`)。
## 奖励系统
该环境使用经过精心平衡的奖励结构来引导智能体的行为:
* **正确分类**:`+0.25`
* **正确严重性**:`+0.25`
* **正确操作**:`+0.30`
* **解决奖励**:`+0.20`
* **惩罚项**:
* 操作值错误:`-0.2` 至 `-0.4`
* 顺序颠倒的操作:`-0.2` 至 `-0.4`
* 重复操作:`-0.1`
* 步骤过多:超出最佳步骤数后,每步 `-0.1`。
## 评分器
集成的评分器提供最终的性能评估:
* **正确性**:验证所有必需的步骤是否已使用正确的值完成。
* **顺序**:检查操作是否遵循规定的依赖链。
* **效率**:对不必要的步骤或重新启动进行惩罚。
* **标准化分数**:生成 `0.0` 到 `1.0` 之间的最终分数。
## API 端点
服务器公开了以下端点:
* `GET /reset`:初始化一个新的事件回合。
* `POST /step`:执行操作并返回新状态、奖励和完成状态。
* `GET /grader`:获取当前回合的最终性能指标。
* `GET /baseline`:提供当前警报的最佳策略。
## 如何运行
### 1. 启动服务器
使用 uvicorn 启动 FastAPI 环境:
```
python -m uvicorn server.main:app --port 8002
```
### 2. 查看 API 文档
交互式文档可通过以下地址访问:
[http://localhost:8002/docs](http://localhost:8002/docs)
### 3. 运行基线智能体
执行提供的基线脚本,查看完美运行的演示:
```
python baseline.py
```
## 为什么这个项目具有价值
* **强制执行决策依赖**:与简单的分类任务不同,该环境要求理解诊断与解决之间的关系。
* **真实工作流**:反映了专业站点可靠性工程 (SRE) 中使用的标准操作程序 (SOP)。
* **确定性评估**:为比较不同的智能体架构提供了清晰的数学基础事实。
* **专为智能体设计**:高密度的状态信息和清晰的反馈循环使其成为传统 RL (Q-Learning, PPO) 和基于 LLM 的自主智能体的理想选择。
标签:AIOps, API交互, AV绕过, CPU异常, FastAPI, Incident Response, LLM Agent, RL, 人工智能, 仿真环境, 内存泄漏, 分类与定级, 告警处理, 多步骤决策, 大语言模型代理, 奖励塑形, 序列决策, 强化学习, 智能运维, 用户模式Hook绕过, 确定性环境, 磁盘告警, 系统稳定性, 网络异常, 自动化响应, 运维自动化, 逆向工具, 防作弊机制