Skip to content

3-Layer 멀티 에이전트 아키텍처 및 A2A 통신 ​

SyncVerse는 복잡한 엔터프라이즈 시스템을 체계적으로 운영하기 위해 3-Layer 계층형 에이전트 아키텍처와 표준 MCP(Model Context Protocol) 기반의 Agent-to-Agent(A2A) 통신망을 채택하고 있습니다.


1. 3-Layer 에이전트 계층 구조 ​

에이전트 간의 책임과 권한을 3개 계층으로 명확히 분리하여, 단일 장애점(SPOF)을 방지하고 보안과 실행 신뢰성을 확보합니다.

계층별 세부 역할 ​

  1. Layer 3: 전사 거버넌스 및 전략 의사결정 (Strategic Layer)

    • 주요 에이전트: SyncInsight Agent
    • 역할: 전사 비즈니스 메트릭, 트래픽 변화, 마케팅 데이터를 분석하여 상위 레벨의 운영 전략 및 액션 플랜을 Layer 2 관제탑으로 전달합니다.
  2. Layer 2: 중앙 관제탑 및 오케스트레이션 (Control Tower Layer - SyncVerse)

    • 주요 에이전트: Intent Router, Swarm Orchestrator, Coding Dispatcher, Self-Healing Supervisor, FinOps Gateway
    • 역할: 자연어 요구사항을 구체적인 시스템 액션 플랜으로 변환하고, 하위 워커 에이전트 간의 의존성 및 순차/병렬 작업을 조율하며, 트랜잭션과 비용을 관리합니다.
  3. Layer 1: 도메인 특화 워커 에이전트 (Domain Worker Layer)

    • 주요 에이전트: SyncBoot, SyncCMS, SyncShop, SyncETA, SyncCrawl, SyncSDK
    • 역할: 각 도메인의 핵심 비즈니스 로직(DB CRUD, 페이지 렌더링, 주문 처리, 무인 QA 테스트, 코드 수정 등)을 직접 수행합니다.

2. A2A 통신 프로토콜 (Model Context Protocol) ​

SyncVerse 내 모든 에이전트 간 통신은 오픈 표준인 MCP(Model Context Protocol) 및 JSON-RPC 2.0을 기반으로 동작합니다.

통신 시퀀스 다이어그램 ​

표준 MCP 요청/응답 페이로드 명세 ​

에이전트 도구 호출 요청 (Request Payload) ​

json
{
  "jsonrpc": "2.0",
  "id": "req-syncverse-98213",
  "method": "tools/call",
  "params": {
    "name": "syncboot_apply_migration",
    "arguments": {
      "targetService": "product-service",
      "ddlScript": "ALTER TABLE tb_product ADD COLUMN badge_type VARCHAR(20) DEFAULT 'NONE';",
      "safeMode": true,
      "timeoutSeconds": 30
    }
  }
}

에이전트 실행 결과 응답 (Response Payload) ​

json
{
  "jsonrpc": "2.0",
  "id": "req-syncverse-98213",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Migration successfully applied. 0 rows affected. DDL lock released."
      }
    ],
    "isError": false,
    "metadata": {
      "executionTimeMs": 142,
      "affectedTables": ["tb_product"]
    }
  }
}

3. 기술 스택 및 런타임 아키텍처 ​

SyncVerse는 엔터프라이즈 환경의 대규모 트래픽과 무중단 운영을 지원하기 위해 다음 기술 스택을 채택합니다.

계층기술 스택도입 목적
Backend CoreJava 21, Spring Boot 3.3엔터프라이즈 런타임, 가상 스레드(Virtual Threads), 트랜잭션 관리
AI FrameworkAgentScope Java (io.agentscope:agentscope-harness)전사 표준 AI 프레임워크, 멀티 에이전트 협업 MsgHub, ReActAgent 자율 Tool 실행
Frontend UIVue 3, TypeScript, Vite, Vue Flow노드-엣지 토폴로지 시각화, 관제 대시보드
State & CacheRedis 7.x (Cluster)에이전트 실시간 상태 공유, 시맨틱 캐싱, 분산 락
DatabasePostgreSQL 15+ / MySQL 8.xRDBMS 데이터 정합성, JSONB 감사 로그 영속화
InfrastructureDocker, Kubernetes, GitHub Actions컨테이너 기반 격리 실행, CI/CD 배포 파이프라인

4. Admin 서버 및 MCP 서버 역할 분리 (0ms 부팅 지연 보장) ​

SyncSeries 산하 모든 서브프로젝트는 관리자 화면을 담당하는 Admin 서버와 에이전트 협업 도구를 제공하는 MCP 서버의 책임을 엄격히 분리하여 운영합니다.

  1. Admin 서버의 SyncVerse 의존성 원천 차단:
    • 각 서비스의 Admin 서버는 화면 렌더링 및 비즈니스 REST API 제공에 집중하며, self-registration.enabled: false 설정을 통해 불필요한 관제탑 등록 시도를 차단합니다.
  2. MCP 서버의 비동기 자기 등록 및 타임아웃:
    • MCP 서버 기동 시 AgentSelfRegistrationClient가 CompletableFuture.runAsync 백그라운드 스레드로 등록을 진행합니다.
    • SimpleClientHttpRequestFactory 기반 3초 연결/읽기 타임아웃을 강제하여 SyncVerse 관제탑이 다운되거나 미구동 상태인 경우에도 메인 프로세스가 멈추지 않고 0ms 지연으로 즉각 기동됩니다.