prashasti12/AI-debugging-agent
0
1# Task: Multi-Service: Forces two services into a degraded state simultaneously.2# Agent must correctly sequence actions across both services.3# Tighter step budget increases difficulty.4 5from __future__ import annotations6from typing import Dict, Any, Tuple7 8from env.environment import DebugEnv9 10class MultiServiceEnv(DebugEnv):11 """Both API and DB start degraded regardless of sampled root cause."""12 13 def reset(self) -> Dict[str, Any]:14 state = super().reset()15 self.state_data["services"]["api"] = "degraded"16 self.state_data["services"]["db"] = "degraded"17 # Increase starting metric pressure18 self.state_data["metrics"]["latency"] = min(19 self.state_data["metrics"]["latency"] * 1.3, 60020 )21 self.state_data["metrics"]["error_rate"] = min(22 self.state_data["metrics"]["error_rate"] * 1.2, 0.9523 )24 return self._obs()25 26 def step(self, action: str) -> Tuple[Dict[str, Any], float, bool, Dict[str, Any]]:27 obs, reward, done, info = super().step(action)28 29 # Additional latency penalty for multi-service SLA30 if info["latency"] > 300:31 reward -= 10.032 33 return obs, reward, done, info34 35 36def create_env() -> MultiServiceEnv:37 return MultiServiceEnv(max_steps=12)