나는 8GB VRAM으로 4,882개의 Self‑Healing AI 에이전트를 구축했다 — 여기 아키텍처
Source: Dev.to
번역할 텍스트가 제공되지 않았습니다. 번역이 필요한 본문을 알려주시면 한국어로 번역해 드리겠습니다.
대부분의 AI 에이전트는 고장 난다. 오류가 발생하면 멈추고, 인간을 기다린다. 내 에이전트는 그렇지 않다.
나는 4,882개의 자율 AI 에이전트 시스템을 구축했다. 이 에이전트들은 실패를 감지하고, 복구하며, 계속해서 작동한다 — 모두 8 GB VRAM을 가진 단일 머신에서 실행된다. 클라우드도, API 호출도, 감독도 없다.
블라인드 평가에서, 내 토론 에이전트는 96.5 % 승률(208번 중 201번 승리)과 4.68/5.0 평균 심사 점수를 기록했다. 나는 또한 $100K MedGemma Impact Challenge on Kaggle에 참여하고 있다.
다음은 내가 정확히 어떻게 구축했는지에 대한 내용이다.
문제: AI 에이전트는 취약합니다
대부분의 LLM 기반 에이전트는 다음과 같은 간단한 흐름을 따릅니다:
receive task → call model → return result
무언가 잘못될 때 — 환각, 타임아웃, OOM 오류 — 에이전트는 충돌하거나 쓰레기를 출력합니다.
표준적인 해결책? 모든 코드를 try‑catch 로 감싸고 운에 맡기는 것입니다. 이는 임시방편일 뿐, 설계가 아닙니다.
저는 자신의 실패를 감지하고, 근본 원인을 진단하며, 자동으로 복구할 수 있는 에이전트가 필요했습니다 — 대규모로, 일반 소비자용 하드웨어에서도 동작하도록.
아키텍처: 자체 치유 루프
모든 에이전트는 연속적인 자체 치유 루프 안에서 실행됩니다:
┌─────────────┐
│ EXECUTE │ ← Agent performs its task
└──────┬──────┘
│
┌──────▼──────┐
│ MONITOR │ ← Health scoring in real‑time
└──────┬──────┘
│
┌──────▼──────┐
│ RECOVER │ ← Cascading recovery strategies
└──────┬──────┘
│
└──────→ Back to EXECUTE
이는 단순한 재시도 루프가 아니라; 각 단계가 자체적인 로직을 가진 독립적인 서브시스템입니다.
1. 에이전트 상태 머신
각 에이전트는 명시적인 상태를 유지합니다:
from enum import Enum
class AgentState(Enum):
IDLE = "idle"
RUNNING = "running"
DEGRADED = "degraded" # Functional but impaired
RECOVERING = "recovering" # Actively self‑repairing
FAILED = "failed" # Requires external intervention
핵심 인사이트: DEGRADED ≠ FAILED. 낮은 품질의 출력을 생성하는 에이전트도 여전히 유용합니다—다만 가벼운 작업량이나 회복 사이클이 필요할 뿐입니다. 이 단일 구분 덕분에 **73 %**의 오탐지 실패를 제거할 수 있었습니다.
2. 건강 점수
각 에이전트는 매 실행 사이클 후 복합 건강 점수를 계산합니다:
def compute_health(agent_output, context):
scores = {
"coherence": check_coherence(agent_output),
"completeness": check_completeness(agent_output, context),
"latency": check_latency(context.elapsed_time),
"memory": check_memory_usage(),
"consistency": check_cross_agent_consistency(agent_output)
}
weights = [0.25, 0.20, 0.15, 0.25, 0.15]
return sum(s * w for s, w in zip(scores.values(), weights))
if health_score < THRESHOLD:
# Choose recovery strategy based on severity
strategy = select_strategy(health_score)
if strategy:
return execute_strategy(strategy, agent)
return agent.transition(AgentState.FAILED)
대부분의 회복은 첫 두 단계에서 해결되며, **2.3 %**의 에이전트만이 FAILED 상태에 도달합니다.
8 GB VRAM에서 4,882개의 에이전트 실행
8 GB에 4,882개의 모델을 모두 로드할 수는 없습니다. 요령은 동적 에이전트 풀링—한 번에 약 12개의 에이전트만 GPU에 상주합니다:
from queue import PriorityQueue
class AgentPool:
def __init__(self, max_concurrent=12, vram_budget_mb=7168):
self.active = PriorityQueue() # Priority = urgency
self.dormant = {} # Serialized to CPU/disk
self.vram_budget = vram_budget_mb
def activate(self, agent_id, priority):
while self.current_vram() > self.vram_budget * 0.85:
_, evicted = self.active.get()
self.dormant[evicted.id] = evicted.serialize()
evicted.release_gpu()
agent = self.dormant.pop(agent_id).deserialize()
self.active.put((priority, agent))
return agent
4‑bit 양자화와 유사한 컨텍스트 윈도우를 가진 에이전트 간 KV‑캐시 공유를 결합하면 평균 활성화 지연 시간은 약 850 ms입니다.
토론 시스템: 96.5 % 승률
자기‑치유 아키텍처는 에이전트들이 상반된 입장을 논쟁하고, 심판 에이전트가 점수를 매기는 다중‑에이전트 토론 시스템을 구동합니다.
| 지표 | 점수 |
|---|---|
| 승률 | 96.5 % (201/208) |
| 평균 심판 점수 | 4.68/5.0 |
| 전체 품질 | 93.6 % |
| 접근성 | 5.0/5.0 |
| 비유 품질 | 5.0/5.0 |
| 실행 가능성 | 4.6/5.0 |
| 안전 점수 | 4.6/5.0 |
| 의료 정확도 | 4.4/5.0 |
| 완전성 | 4.5/5.0 |
이 수치는 독립적인 LLM 심판이 구조화된 루브릭을 사용해 블라인드 평가한 결과이며, 자체 보고가 아닙니다.
지금 만들고 있는 것: MedGemma 건강 교육
이 아키텍처를 CellRepair Health Educator를 통해 건강 교육에 적용하고 있습니다 — 의료 주제를 쉬운 언어로 설명하는 MedGemma 기반 AI입니다.
- 🎯 실시간 데모: Hugging Face Space
- 💻 GitHub: 20개 이상의 오픈소스 저장소 –
- 📺 YouTube 데모: YouTube Video
🏆 **Kaggle: MedGemma Impact Challenge**
https://www.kaggle.com/competitions/medgemma-impact-challenge
🌐 **cellrepair.ai** – https://cellrepair.ai/
> **Currently competing in the $100K MedGemma Impact Challenge**
> **Deadline:** February 25, 2026
핵심 요점
- DEGRADED ≠ FAILED – 대부분의 “실패”는 조기에 감지하면 복구 가능하다.
- Cascading recovery beats retry loops – 먼저 저비용 해결책을 시도하고, 필요할 때만 확대한다.
- You don’t need a GPU cluster – 스마트 풀링 + 양자화를 활용하면 소비자용 하드웨어에서도 수천 개의 에이전트를 실행할 수 있다.
- Health scoring is everything – 에이전트 상태를 측정하지 못하면 해결할 수 없다.
AI 에이전트를 구축하면서 겪은 가장 큰 신뢰성 문제는 무엇인가요? 댓글을 남겨 주세요 — 모든 댓글을 읽고 답변합니다.
팔로우하기
- GitHub: https://github.com/PowerForYou74
- X/Twitter: https://twitter.com/cellrepairai
- LinkedIn: https://www.linkedin.com/in/cellrepair-systems
- Kaggle: https://www.kaggle.com/cellrepairai