somudatta06/on-call-env

GitHub: somudatta06/on-call-env

一个基于强化学习的生产事故响应模拟环境,用于训练AI智能体扮演值班工程师完成从告警分析到修复验证的完整故障处理流程。

Stars: 0 | Forks: 0

## 标题:on-call-env emoji: 🚨 colorFrom: red colorTo: blue sdk: docker pinned: false # on-call-env **生产事故响应强化学习环境** 智能体扮演一名值班软件工程师,响应真实的生产事故。它必须: 1. 阅读类似 PagerDuty 的告警、日志和指标以了解事故情况 2. 调查源代码以识别缺陷 3. 通过 `write_file` 应用热修复 4. 使用 `run_tests` 验证修复 5. 确认系统健康状态已恢复 ## 任务 | 任务 | 严重程度 | 缺陷数 | 文件数 | 测试数 | |------|----------|--------|--------|--------| | `fix_memory_leak` | P3 简单 | 1 | 1 | 5 | | `fix_api_gateway` | P2 中等 | 2 | 2 | 11 | | `fix_payment_service` | P1 困难 | 3 | 3 | 20 | ## 操作 | 操作 | 描述 | |------|------| | `list_services` | 显示所有服务的实时健康状态和测试进度 | | `read_logs` | 获取服务的预生成生产日志 | | `read_metrics` | 获取实时指标(内存、错误率、延迟) | | `read_file` | 读取工作区中的源文件内容 | | `write_file` | 写入修复后的源文件(完整内容,非 diff) | | `run_tests` | 运行 pytest 并查看通过/失败明细 | | `check_health` | 总结从测试状态推导出的系统健康状况 | ## 快速入门 ``` # 安装依赖项 uv sync # 启动服务器 uv run server # 运行基准推理代理 API_BASE_URL="https://router.huggingface.co/v1" \ MODEL_NAME="Qwen/Qwen2.5-72B-Instruct" \ HF_TOKEN="your_token_here" \ python inference.py ``` ## 奖励设计 - **密集进度**:`(tests_passing_delta) / tests_total` — 始终提供信息 - **探索奖励**:首次读取每个源文件时 `+0.03` — 奖励调查行为 - **步数惩罚**:每步 `-0.008` — 鼓励效率 - **终局奖励**:所有测试通过时 `+1.0`,并根据速度获得效率乘数 ## 环境 API ``` from on_call_env import OnCallEnv, OnCallAction async with OnCallEnv(base_url="http://localhost:8000") as env: result = await env.reset(task_id="fix_memory_leak") print(result.observation.alert) result = await env.step(OnCallAction(action_type="read_file", filename="cache_manager.py")) print(result.observation.last_action_result) ```
标签:AI代理, Apex, Bug修复, DNS 反向解析, DNS解析, Docker, HTTP工具, PagerDuty, pytest, Python, RL, 事件管理, 事故响应, 安全规则引擎, 安全防御评估, 开源框架, 开源项目, 强化学习, 持续集成, 指标监控, 数据管道, 无后门, 机器学习, 模拟环境, 测试驱动开发, 热修复, 生产环境, 网络安全审计, 自动化运维, 训练环境, 请求拦截, 调试, 软件工程, 逆向工具