Ch1. 시스템 아키텍처
Control Plane과 Data Plane을 분리해 안정성과 변경속도를 동시에 확보하는 방법
LLM 시스템에서 반복적으로 발생하는 실패는 운영 정책과 실행 로직이 뒤섞이는 경우입니다.
아키텍처를 분리하면 장애 반경을 줄이고, 변경 속도와 안정성을 함께 확보할 수 있습니다.
권장 구조
분리 원칙
| 항목 | Control Plane | Data Plane |
|---|---|---|
| 책임 | 정책/버전/평가 기준 | 요청 처리/응답 생성 |
| 변경 주기 | 주간/월간 | 실시간/일간 |
| 장애 영향 | 의사결정 지연 | 사용자 영향 직접 발생 |
2026년 에이전트 통신 프로토콜
멀티에이전트 시스템에서는 도구 연결과 에이전트 간 통신을 분리합니다.
| 프로토콜 | 역할 | 스펙 버전 | 비고 |
|---|---|---|---|
| MCP (Model Context Protocol) | 에이전트 ↔ 도구 | 2025-11-25 | Anthropic 주도, 월 9,700만+ SDK 다운로드 |
| A2A (Agent-to-Agent) | 에이전트 ↔ 에이전트 | v0.3.0 Draft | Linux Foundation 산하, 150+ 조직 참여 |
| ACP (Agent Communication Protocol) | 에이전트 ↔ 에이전트 | IBM 주도 | REST/HTTP 기반, 비동기/동기 메시징 |
수렴 패턴
2026년 업계는 MCP(도구 통합) + A2A(에이전트 간 통신) 조합으로 수렴하고 있습니다. 주요 프레임워크(LangGraph, CrewAI, OpenAI Agents SDK, Google ADK)가 모두 MCP를 네이티브로 지원합니다.
설계 체크포인트
- 정책 미조회 시 안전 기본값(deny 또는 제한 응답)을 적용합니다.
- 모델 라우팅 실패 시 하위 모델로 폴백합니다.
- 툴 호출은 트랜잭션 경계와 idempotency key를 강제합니다.
- MCP 서버 장애 시 graceful degradation: 도구 없이 응답 가능한 폴백 경로를 확보합니다.