home / skills / psh355q-ui / szdi57465yt / debugging-agent

debugging-agent skill

/backend/ai/skills/system/debugging-agent

npx playbooks add skill psh355q-ui/szdi57465yt --skill debugging-agent

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
8.2 KB
---
name: debugging-agent
description: |
  Self-Improving Agent that monitors all other agent skills, analyzes their logs,
  detects issues, and proposes improvements.
  
  AUTO-TRIGGERS:
  - Every 30 minutes (scheduled)
  - When error rate > 5% (any agent)
  - When 3+ recurring errors in 24h (same error type)
  - When performance degrades > 2x baseline

allowed-tools:
  - view_file
  - grep_search
  - run_command
  
metadata:
  category: system
  version: 1.0
  triggers:
    auto:
      - schedule: "*/30 * * * *"  # Every 30 minutes
      - condition: "error_rate > 0.05"
      - condition: "recurring_errors >= 3"
      - condition: "performance_degradation > 2.0"
    manual:
      - command: "analyze-logs"
      - command: "propose-improvements"
  
  outputs:
    - type: improvement-proposal
      format: markdown
      location: backend/ai/skills/logs/system/debugging-agent/proposals/
    
  dependencies:
    - backend.ai.skills.common.agent_logger
    - backend.ai.skills.common.log_schema
---

# Debugging Agent

**Self-Improving Agent System의 핵심 컴포넌트**

다른 모든 agent의 로그를 분석하여 문제를 발견하고 개선안을 제안합니다.

---

## 📋 Core Workflow

### 1. Log Collection (로그 수집)

```bash
python backend/ai/skills/system/debugging-agent/scripts/log_reader.py \
  --days 1 \
  --categories system,war-room,analysis
```

**수집 대상:**
- `backend/ai/skills/logs/*/*/execution-*.jsonl`
- `backend/ai/skills/logs/*/*/errors-*.jsonl`
- `backend/ai/skills/logs/*/*/performance-*.jsonl`

**Output:**
```json
{
  "agents": ["signal-consolidation", "war-room-debate", ...],
  "total_executions": 50,
  "total_errors": 3,
  "time_range": "2025-12-25 to 2025-12-26"
}
```

---

### 2. Pattern Detection (패턴 감지)

```bash
python backend/ai/skills/system/debugging-agent/scripts/pattern_detector.py \
  --input logs_summary.json \
  --output patterns.json
```

**감지 패턴:**

#### A. Recurring Errors (반복 에러)
- **조건**: 동일한 error type이 24시간 내 3회 이상
- **예시**: `TypeError: missing required positional argument` (3회)
- **우선순위**: HIGH

#### B. Performance Degradation (성능 저하)
- **조건**: duration_ms가 baseline 대비 2배 이상
- **예시**: 평균 1000ms → 최근 2500ms
- **우선순위**: MEDIUM

#### C. High Error Rate (높은 에러율)
- **조건**: error rate > 5%
- **예시**: 50 executions, 4 errors = 8%
- **우선순위**: CRITICAL

#### D. API Rate Limits (API 제한)
- **조건**: "rate limit" 관련 에러 5회 이상
- **우선순위**: HIGH

**Output:**
```json
{
  "patterns": [
    {
      "type": "recurring_error",
      "agent": "war-room-debate",
      "error_type": "TypeError",
      "count": 3,
      "impact": "CRITICAL",
      "first_seen": "2025-12-25T18:30:00",
      "last_seen": "2025-12-26T09:15:00"
    }
  ]
}
```

---

### 3. Context Synthesis (맥락 통합)

관련 agent의 `SKILL.md`를 읽어서 컨텍스트 파악:

```bash
# Read related skills
cat backend/ai/skills/war-room/war-room-debate/SKILL.md
cat backend/api/war_room_router.py
```

**파악 내용:**
- Agent의 역할과 책임
- 입력/출력 형식
- 의존성 (DB, APIs, etc.)
- 최근 변경사항

---

### 4. Improvement Proposal (개선안 생성)

```bash
python backend/ai/skills/system/debugging-agent/scripts/improvement_proposer.py \
  --patterns patterns.json \
  --output proposals/proposal-20251226-100822.md
```

**Proposal 포맷:**

````markdown
# Improvement Proposal: Fix War Room TypeError

**Generated**: 2025-12-26 10:08:22  
**Agent**: war-room-debate  
**Priority**: CRITICAL  
**Confidence**: 87%

---

## 🔍 Issue Summary

**Pattern Detected**: Recurring Error (3 occurrences in 24h)

**Error**:
```
TypeError: missing required positional argument for AIDebateSession
```

**Impact**: 
- War Room debates failing
- No trading signals generated
- User experience degraded

---

## 📊 Root Cause Analysis

**Evidence**:
1. Error occurs in `war_room_router.py:L622`
2. `AIDebateSession.__init__()` called with missing argument
3. Recent code change added new required field

**Root Cause**: 
Schema mismatch between `AIDebateSession` model and router code.

---

## 💡 Proposed Solution

### Option 1: Add Missing Argument (Recommended)

**File**: `backend/api/war_room_router.py`

```python
# Line 622 - Add missing argument
session = AIDebateSession(
    ticker=ticker,
    consensus_action=pm_decision["consensus_action"],
    # ... existing fields ...
    dividend_risk_vote=next((v["action"] for v in votes if v["agent"] == "dividend_risk"), None),  # ← ADD THIS
    created_at=datetime.now()
)
```

**Confidence**: 90% (high evidence)

### Option 2: Make Field Optional

Alternatively, update the model to make the field optional.

**Confidence**: 70% (lower impact but safer)

---

## 🎯 Expected Impact

- ✅ Eliminates TypeError
- ✅ War Room debates resume
- ✅ Trading signals restored
- ⚠️ Requires testing with all agents

---

## 🧪 Verification Plan

1. Apply fix to `war_room_router.py`
2. Run War Room debate: `POST /api/war-room/debate {"ticker": "AAPL"}`
3. Verify no TypeError
4. Check logs for successful execution

---

## 📝 Risk Assessment

**Risk Level**: LOW

**Potential Issues**:
- May need to update other agent votes similarly
- Database migration if schema changed

**Rollback Plan**:
- Revert commit if issues arise
- Monitor error logs for 24h

---

**Confidence Breakdown**:
- Error Reproducibility: 100% (3/3 occurrences)
- Historical Success: 80% (similar fixes worked)
- Impact Clarity: 90% (clear user impact)
- Root Cause Evidence: 85% (stack trace clear)
- Solution Simplicity: 85% (1-line fix)

**Overall Confidence**: 87%
````

---

## 🎯 Confidence Scoring (5 Metrics)

Proposal confidence는 5가지 메트릭의 가중 평균:

1. **Error Reproducibility** (30%)
   - 100% if error occurs every time
   - 0% if random/sporadic

2. **Historical Success** (25%)
   - Similar fixes worked before?
   - Based on past proposals

3. **Impact Clarity** (20%)
   - Clear user/system impact?
   - Measurable consequences?

4. **Root Cause Evidence** (15%)
   - Stack trace available?
   - Clear error message?

5. **Solution Simplicity** (10%)
   - Simple 1-line fix vs complex refactor
   - Lower risk = higher confidence

**Formula**:
```python
confidence = (
    reproducibility * 0.30 +
    historical_success * 0.25 +
    impact_clarity * 0.20 +
    root_cause_evidence * 0.15 +
    solution_simplicity * 0.10
)
```

---

## 🔄 Usage Examples

### Manual Trigger

```bash
# Analyze recent logs
python backend/ai/skills/system/debugging-agent/scripts/log_reader.py --days 1

# Detect patterns
python backend/ai/skills/system/debugging-agent/scripts/pattern_detector.py

# Generate proposals
python backend/ai/skills/system/debugging-agent/scripts/improvement_proposer.py
```

### Scheduled Execution (via orchestrator)

```python
# scripts/run_debugging_agent.py
import schedule

def run_debugging_agent():
    subprocess.run(["python", "backend/ai/skills/system/debugging-agent/scripts/log_reader.py"])
    subprocess.run(["python", "backend/ai/skills/system/debugging-agent/scripts/pattern_detector.py"])
    subprocess.run(["python", "backend/ai/skills/system/debugging-agent/scripts/improvement_proposer.py"])

schedule.every(30).minutes.do(run_debugging_agent)
```

---

## 📁 Output Structure

```
backend/ai/skills/logs/system/debugging-agent/
├── execution-2025-12-26.jsonl    # Debugging agent's own logs
├── errors-2025-12-26.jsonl
└── proposals/
    ├── proposal-20251226-100822.md  # Improvement proposal
    ├── proposal-20251226-103045.md
    └── accepted/
        └── proposal-20251226-100822.md  # User accepted
```

---

## ⚠️ Important Notes

1. **Read-Only Access**: Debugging Agent는 로그만 읽고 코드는 수정하지 않음
2. **User Approval Required**: 모든 제안은 사용자 승인 필요
3. **Audit Trail**: 모든 제안과 결과는 proposals/ 디렉토리에 보관
4. **Safety First**: Confidence < 70%인 제안은 경고 표시

---

## 🚀 Next Steps

After Phase 2 complete:
- **Phase 3**: Skill Orchestrator (scheduling, notifications)
- **(Optional) Phase 4**: CI/CD Integration (auto-apply patches)

---

**Created**: 2025-12-26  
**Version**: 1.0  
**Status**: In Development