agentic-triage-amd / README.md
OGrohit's picture
Updated README with metadata
d4aa497
|
Raw
History Blame Contribute Delete
8.1 kB
metadata
title: AgentTriage AMD Developer Cloud
emoji: πŸ”΄
colorFrom: red
colorTo: blue
sdk: docker
pinned: false

πŸ”΄ AgentTriage β€” Agentic SRE Incident Response on AMD Developer Cloud

Multi-agent log triage system that autonomously diagnoses production incidents using AMD-hosted LLMs and a LangGraph-powered agent pipeline.

Built for the AMD Developer Cloud Hackathon β€” Track 1: AI Agents & Agentic Workflows

πŸ‘‰ Try the Live Demo


πŸ“Œ What Is This?

AgentTriage is a production-grade agentic system where an AI agent pipeline automatically triages software incidents β€” the same work a human Site Reliability Engineer (SRE) does when production goes down.

When something breaks in production (a server crashes, a database causes a cascade failure, or a service silently degrades), engineers need to:

  1. Diagnose the severity (P1/P2/P3)
  2. Identify the root cause (which service/component)
  3. Decide on remediation (restart, kill-query, flush-cache)
  4. Escalate to the right team

AgentTriage automates this entire workflow using a multi-agent pipeline running on AMD Developer Cloud.


🧠 How It Works

The Environment (LogTriageEnv)

A simulated microservice incident environment with a REST API interface (OpenEnv-compatible). The agent interacts via a reset β†’ step loop, reads logs and service states, takes actions, and gets scored.

Three incident scenarios:

Task Difficulty Noise Incident Type
single_crash Easy 20% Payment service NullPointerException
cascading_failure Medium 30% user-db slow query β†’ auth β†’ gateway cascade
silent_degradation Hard 60% Gradual payment-db latency increase (no crash)

The Agent Pipeline

Incoming Logs + Service State
         ↓
   [PLANNER AGENT]
   Reads logs, decides strategy
         ↓
   [EXECUTOR AGENT]
   Takes triage actions step-by-step
   classify_severity β†’ identify_root_cause β†’ remediate β†’ resolve
         ↓
   [SUMMARIZER AGENT]
   Produces structured incident report
         ↓
   Episode Score (0.0 β†’ 1.0)

All agents powered by AMD Developer Cloud (Qwen2.5-72B on MI300X) with Groq fallback for the live demo.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AgentTriage System                  β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  LangGraph   │────▢│   AMD Developer      β”‚  β”‚
β”‚  β”‚  Agent Loop  β”‚     β”‚   Cloud LLM API      β”‚  β”‚
β”‚  β”‚              │◀────│   Qwen2.5-72B        β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”                               β”‚
β”‚  β”‚  LogTriage   β”‚                               β”‚
β”‚  β”‚  Environment β”‚                               β”‚
β”‚  β”‚  (FastAPI)   β”‚                               β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                               β”‚
β”‚         β”‚                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚          Scenario Engine                  β”‚   β”‚
β”‚  β”‚  single_crash | cascading | silent_degradeβ”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚         β”‚                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”                               β”‚
β”‚  β”‚    Grader    β”‚  β†’ Episode Score (0.0–1.0)    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Layer Technology
Agent Framework LangGraph
LLM Backend AMD Developer Cloud β€” Qwen2.5-72B on MI300X
LLM Fallback Groq β€” llama-3.3-70b-versatile
Environment API FastAPI + Uvicorn
Data Validation Pydantic v2
Containerization Docker
Environment Interface OpenEnv-compatible (reset/step)
Language Python 3.11

πŸ“ Project Structure

agentic-triage-amd/
β”‚
β”œβ”€β”€ server/                        # LogTriageEnv (environment core)
β”‚   β”œβ”€β”€ app.py                     # FastAPI endpoints + UI routes
β”‚   β”œβ”€β”€ environment.py             # Core simulator (reset/step/state)
β”‚   β”œβ”€β”€ models.py                  # Pydantic schemas
β”‚   β”œβ”€β”€ log_generator.py           # Log + service state generation
β”‚   β”œβ”€β”€ scenarios/
β”‚   β”‚   β”œβ”€β”€ single_crash.py        # Task 1: Payment service crash
β”‚   β”‚   β”œβ”€β”€ cascading.py           # Task 2: user-db cascade
β”‚   β”‚   └── silent_degrade.py      # Task 3: Gradual latency degradation
β”‚   └── graders/
β”‚       β”œβ”€β”€ base_grader.py
β”‚       β”œβ”€β”€ crash_grader.py
β”‚       β”œβ”€β”€ cascade_grader.py
β”‚       └── silent_degrade_grader.py
β”‚
β”œβ”€β”€ agents/                        # Multi-agent pipeline
β”‚   β”œβ”€β”€ planner.py                 # Reads logs, sets strategy
β”‚   β”œβ”€β”€ executor.py                # Step-by-step triage actions
β”‚   β”œβ”€β”€ summarizer.py              # Generates incident report
β”‚   └── pipeline.py                # LangGraph orchestration
β”‚
β”œβ”€β”€ static/
β”‚   └── index.html                 # Judge-facing web UI
β”‚
β”œβ”€β”€ amd_client.py                  # LLM client (AMD + Groq fallback)
β”œβ”€β”€ run_agent.py                   # CLI entry point
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ requirements.txt
└── .env.example

βš™οΈ Setup & Running

Option 1 β€” Docker (Recommended)

git clone https://github.com/YOUR_USERNAME/agentic-triage-amd.git
cd agentic-triage-amd
cp .env.example .env
# Add your GROQ_API_KEY or AMD_API_KEY to .env
docker build -t agentic-triage-amd .
docker run -p 7860:7860 --env-file .env agentic-triage-amd
# Open http://localhost:7860

Option 2 β€” Local Python

pip install -r requirements.txt
# Terminal 1 β€” environment server
uvicorn server.app:app --host 0.0.0.0 --port 7860
# Terminal 2 β€” run agent on all 3 tasks
python run_agent.py

πŸ”‘ Environment Variables

# Use one of these β€” Groq for free tier, AMD for full power
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=llama-3.3-70b-versatile

# AMD Developer Cloud VM
AMD_API_KEY=your_amd_api_key
AMD_BASE_URL=http://YOUR_VM_IP:8000/v1
AMD_MODEL=qwen

πŸ§ͺ Scoring System

Each task scored 0.0 β†’ 1.0:

Action Points
Correct severity classification +0.30
Correct root cause identification +0.35
Correct remediation command +0.25
Speed bonus (within step threshold) +0.10
Wrong escalation -0.10
Ignoring a P1 incident -0.50
Symptom identified as root cause -0.10

πŸ“Š Results

Task Score
single_crash 0.9
cascading_failure 0.6
silent_degradation 0.3
Average 0.6

πŸ™‹ Team

Name Role
Rohit Patil (Sonic) Environment + Agent Pipeline
[Teammate] Infrastructure + AMD VM Setup

πŸ“„ License

MIT License β€” open source, built for AMD Developer Cloud Hackathon.


Built with AMD MI300X (192GB VRAM) Β· Qwen2.5-72B Β· LangGraph Β· FastAPI Β· Docker