Agent Architecture (에이전트 아키텍처)

정의

**Agent Architecture (에이전트 아키텍처)**는 자율 에이전트를 구성하는 핵심 컴포넌트와 이들 간의 상호작용 방식입니다.

에이전트의 핵심 컴포넌트

┌─────────────────────────────────────────┐
│          Perception Module              │
│  (센서, 환경 관찰, 데이터 입력)          │
└────────────┬────────────────────────────┘
             ↓
┌─────────────────────────────────────────┐
│         Knowledge Base / Ontology       │
│  (지식 저장소, 규칙, 온톨로지)          │
└────────────┬────────────────────────────┘
             ↓
┌─────────────────────────────────────────┐
│          Reasoning Engine               │
│  (LLM, 추론 엔진, 계획 수립)             │
└────────────┬────────────────────────────┘
             ↓
┌─────────────────────────────────────────┐
│          Action Module                  │
│  (도구 선택, 실행, 명령 전달)            │
└────────────┬────────────────────────────┘
             ↓
┌─────────────────────────────────────────┐
│         Learning / Feedback             │
│  (결과 평가, 지식 갱신, 개선)            │
└─────────────────────────────────────────┘

4가지 주요 아키텍처 패턴

1. 반응형 아키텍처 (Reactive Architecture)

센서 → [규칙 매칭] → 즉시 행동

특징:
  - 가장 간단
  - 빠른 응답
  - 사전정의 규칙만 가능
  - 온톨로지: 엄격한 IF-THEN 규칙

예: 온도 > 38°C → 즉시 냉각 장치 작동

2. 계층형 아키텍처 (Hierarchical Architecture)

┌──────────────┐
│  상위 레이어: 전략 수립 (LLM)
└──────┬───────┘
       ↓
┌──────────────┐
│ 중간 레이어: 계획 생성
└──────┬───────┘
       ↓
┌──────────────┐
│ 하위 레이어: 구체 행동 실행
└──────────────┘

특징:
  - 추상화 수준 다름
  - 상위 결정이 하위를 제약
  - 온톨로지: 계층 구조 (상위 개념 → 하위 개념)

예: 전략(진단) → 계획(어떤 검사) → 행동(검사 실행)

3. 모듈형 아키텍처 (Modular Architecture)

┌─────────────┐     ┌──────────────┐
│  인식 모듈  │     │  추론 모듈    │
└──────┬──────┘     └───────┬──────┘
       └─────┬──────────────┘
             ↓
       ┌─────────────┐
       │  행동 모듈  │
       └─────┬───────┘
             ↓
       ┌─────────────┐
       │ 학습 모듈   │
       └─────────────┘

특징:
  - 각 모듈이 독립적
  - 모듈 교체 용이 (LLM 업그레이드 등)
  - 온톨로지: 모듈 간 인터페이스 정의

예: 추론 모듈을 GPT → Gemini로 교체 가능

4. 분산형 아키텍처 (Distributed Multi-Agent)

에이전트 A      에이전트 B      에이전트 C
(진단 담당)    (치료 담당)    (모니터링)
    ↓             ↓              ↓
  ┌─────────────────────────────┐
  │    통신 / 조정 (Orchestrator) │
  └─────────────────────────────┘

특징:
  - 여러 에이전트 협력
  - 복잡한 시스템 처리
  - 온톨로지: 공유 지식 (모든 에이전트가 같은 온톨로지 사용)

예: 의료 팀 (진단 담당 + 처방 담당 + 약사)

에이전트 아키텍처의 3가지 설계 결정

1. 중앙화 vs. 분산화

중앙화:
  └─ 1개 LLM이 모든 결정
  └─ 간단, 빠름, 병목 가능성
  
분산화:
  └─ 여러 LLM/에이전트 협력
  └─ 복잡, 느림, 확장성 좋음

2. 동기형 vs. 비동기형

동기형:
  └─ 한 단계씩 순차 처리
  └─ 이해하기 쉬움, 느림
  
비동기형:
  └─ 여러 단계 병렬 처리
  └─ 복잡함, 빠름

3. 상태 저장 방식

메모리:
  └─ 현재 상태만 (짧은 기억)
  
파일:
  └─ 영구 저장 (긴 기억)
  
데이터베이스:
  └─ 복잡한 쿼리 (구조화된 기억)
  
벡터 DB:
  └─ 의미론적 검색 (유사 사례 기억)

온톨로지와 아키텍처의 관계

온톨로지가 아키텍처를 결정한다:

간단한 온톨로지
  ↓
  반응형 아키텍처 (IF-THEN 규칙)
  
복잡한 온톨로지
  ↓
  계층형/모듈형 아키텍처 (추론 필요)
  
분산된 온톨로지
  ↓
  분산형 아키텍처 (멀티 에이전트)

좋은 에이전트 아키텍처의 조건

1. 명확성 (Clarity)
   └─ 각 컴포넌트 역할이 명확
   
2. 확장성 (Scalability)
   └─ 새로운 도구/규칙 추가 용이
   
3. 신뢰성 (Reliability)
   └─ 장애 격리, 오류 처리
   
4. 해석 가능성 (Interpretability)
   └─ 에이전트 결정이 왜?
   
5. 안전성 (Safety)
   └─ 제약과 검증 메커니즘

관련 개념


관련 영상: Fundamentals of Building Autonomous LLM Agents (Video 4)