home / skills / psh355q-ui / szdi57465yt / debugging-agent
/backend/ai/skills/system/debugging-agent
npx playbooks add skill psh355q-ui/szdi57465yt --skill debugging-agentReview the files below or copy the command above to add this skill to your agents.
---
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