Part 1: Architecture Reference
1.3 확장 레이어
Claude 플랫폼은 5계층 아키텍처로 구성됩니다. 가장 아래의 모델 레이어부터 최상위 외부 세계까지, 각 레이어가 어떤 역할을 하고 어떻게 연결되는지 살펴봅니다.
5계층 아키텍처 다이어그램
ℹ️ 인터랙티브 다이어그램
각 레이어 위에 마우스를 올리면 해당 레이어의 설명을 확인할 수 있습니다. 하단의 레이어 레전드를 참고하세요.
Claude 플랫폼 5계층 아키텍처
┌────────────────────────────────────────────────────────────────┐ │ Layer 5: External World │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ External Services & Data Sources │ │ │ │ • Slack, GitHub, Google Drive, AWS │ │ │ │ • Databases, APIs, Cloud Services │ │ │ │ • File Systems, Development Tools │ │ │ └─────────────────────────────────────────────────────────┘ │ └────────────────────────────┬───────────────────────────────────┘ │ │ Connected via MCP Protocol │ ┌────────────────────────────▼───────────────────────────────────┐ │ Layer 4: Extension Layer │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ MCP Servers (Model Context Protocol) │ │ │ │ • Standardized protocol for external connections │ │ │ │ • Available in: Desktop ✓, Code ✓, Web ✓ │ │ │ └────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Skills (Domain Knowledge Injection) │ │ │ │ • Auto-loaded based on context │ │ │ │ • Available in: Desktop ✓, Code ✓, Web ✓ │ │ │ └────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Sub-agents (Task Delegation & Parallelization) │ │ │ │ • Independent context and execution │ │ │ │ • Available in: Code ✓ only │ │ │ └────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Plugins (Packaging & Distribution) │ │ │ │ • Bundle Skills + MCP + Agents + Commands │ │ │ │ • Available in: Code ✓ only │ │ │ └────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Hooks (Event-driven Automation) │ │ │ │ • Trigger on lifecycle events │ │ │ │ • Available in: Code ✓ only │ │ │ └────────────────────────────────────────────────────────┘ │ └────────────────────────────┬───────────────────────────────────┘ │ │ Used by Applications │ ┌────────────────────────────▼───────────────────────────────────┐ │ Layer 3: Application Layer │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ claude.ai │ │ Claude │ │ Claude │ │ │ │ (Web) │ │ Desktop │ │ Mobile │ │ │ ├──────────────┤ ├──────────────┤ ├──────────────┤ │ │ │ • Browser │ │ • Native App │ │ • iOS │ │ │ │ • Artifacts │ │ • MCP ✓ │ │ • Android │ │ │ │ • Web Search │ │ • Skills ✓ │ │ • Web Search │ │ │ │ • Docs │ │ • Artifacts │ │ • Docs │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Claude Code │ │ │ ├─────────────────────────────────────────────────────────┤ │ │ │ • CLI / VS Code Extension │ │ │ │ • Direct File System Access │ │ │ │ • Direct Bash Execution │ │ │ │ • Native Git Integration │ │ │ │ • MCP ✓ | Skills ✓ | Sub-agents ✓ | Plugins ✓ | Hooks ✓ │ │ │ │ • Stateful Workspace │ │ │ │ • Headless Mode (Automation) │ │ │ └─────────────────────────────────────────────────────────┘ │ └────────────────────────────┬───────────────────────────────────┘ │ │ All applications wrap │ ┌────────────────────────────▼───────────────────────────────────┐ │ Layer 2: Execution Layer │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Tool Use & Execution Engine │ │ │ │ • Multi-turn coordination │ │ │ │ • Function Calling API │ │ │ │ • Tool parameter generation │ │ │ │ • Result interpretation │ │ │ └──────────────────────────────────────────────────────────┘ │ └────────────────────────────┬───────────────────────────────────┘ │ │ Powered by │ ┌────────────────────────────▼───────────────────────────────────┐ │ Layer 1: Model Layer │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Claude Model │ │ │ │ (Sonnet / Opus / Haiku) │ │ │ │ │ │ │ │ Core Capabilities: │ │ │ │ • Natural Language Understanding │ │ │ │ • Reasoning & Problem Solving │ │ │ │ • Code Generation & Analysis │ │ │ │ • Multi-modal Processing │ │ │ │ • Long Context Window (200K ~ 1M tokens) │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ Provided by: Anthropic API │ └────────────────────────────────────────────────────────────────┘
Layer 5: External World
Layer 4: Extension Layer
Layer 3: Application Layer
Layer 2: Execution Layer
Layer 1: Model Layer
Claude Code 확장 레이어 상세
Claude Code에서 사용할 수 있는 모든 확장 기능의 목적, 개념, 활성화 방식, 컨텍스트 비용을 정리합니다.
| 기능 | 목적 | 개념 | 활성화 방식 | 컨텍스트 비용 |
|---|---|---|---|---|
| CLAUDE.md | 프로젝트별 규칙/지침 정의 | 프로젝트 루트에 위치하는 마크다운 파일. 코딩 규칙, 아키텍처 가이드, 작업 규칙 등을 정의 | 항상 자동 로드 (프로젝트 시작 시) | 파일 크기에 비례 (항상 로드되므로 간결하게 유지 권장) |
| Skills | 도메인별 전문 지식 주입 | .md 파일로 특정 작업에 필요한 지식, 규칙, 패턴을 정의. .claude/skills/ 디렉토리에 위치 | 컨텍스트 기반 자동 로드 (관련 작업 시 자동으로 매칭되어 로드) | 필요할 때만 로드되므로 효율적 |
| MCP | 외부 서비스/데이터 연결 | Model Context Protocol. 외부 도구(Slack, GitHub, DB 등)를 표준화된 프로토콜로 연결 | 설정 파일로 등록 (.claude/settings.json 또는 claude_desktop_config.json) | 도구 목록이 컨텍스트에 추가됨 (도구 수에 비례) |
| Sub-agents / Agent Teams | 작업 분산 및 병렬 처리 | Sub-agents: 1:N 위임 구조. Agent Teams: N:N 협업 구조. 각각 독립 컨텍스트에서 실행 | 코드/명령으로 생성 (Task tool 사용 또는 Agent SDK 호출) | 각 에이전트가 별도 컨텍스트를 사용 (메인 컨텍스트와 독립) |
| Hooks | 이벤트 기반 자동화 | Claude Code 라이프사이클 이벤트(시작, 커밋, 파일 변경 등)에 트리거되는 스크립트 | 설정 파일로 등록 (.claude/settings.json의 hooks 섹션) | 트리거 시에만 실행되므로 컨텍스트 비용 최소 |
| Plugin | Skills + MCP + Agents + Commands를 패키징 | 여러 확장 기능을 하나의 배포 단위로 묶어 설치/공유를 간편하게 만듦 | 설치 명령으로 등록 (/install-plugin 또는 settings.json) | 포함된 구성 요소에 따라 다름 (Skills + MCP 도구 목록 등) |
CLAUDE.md
목적: 프로젝트별 규칙/지침 정의
개념: 프로젝트 루트에 위치하는 마크다운 파일. 코딩 규칙, 아키텍처 가이드, 작업 규칙 등을 정의
활성화 방식: 항상 자동 로드 (프로젝트 시작 시)
컨텍스트 비용: 파일 크기에 비례 (항상 로드되므로 간결하게 유지 권장)
Skills
목적: 도메인별 전문 지식 주입
개념:
.md 파일로 특정 작업에 필요한 지식, 규칙, 패턴을 정의. .claude/skills/ 디렉토리에 위치 활성화 방식: 컨텍스트 기반 자동 로드 (관련 작업 시 자동으로 매칭되어 로드)
컨텍스트 비용: 필요할 때만 로드되므로 효율적
MCP
목적: 외부 서비스/데이터 연결
개념: Model Context Protocol. 외부 도구(Slack, GitHub, DB 등)를 표준화된 프로토콜로 연결
활성화 방식: 설정 파일로 등록 (
.claude/settings.json 또는 claude_desktop_config.json) 컨텍스트 비용: 도구 목록이 컨텍스트에 추가됨 (도구 수에 비례)
Sub-agents / Agent Teams
목적: 작업 분산 및 병렬 처리
개념: Sub-agents: 1:N 위임 구조. Agent Teams: N:N 협업 구조. 각각 독립 컨텍스트에서 실행
활성화 방식: 코드/명령으로 생성 (Task tool 사용 또는 Agent SDK 호출)
컨텍스트 비용: 각 에이전트가 별도 컨텍스트를 사용 (메인 컨텍스트와 독립)
Hooks
목적: 이벤트 기반 자동화
개념: Claude Code 라이프사이클 이벤트(시작, 커밋, 파일 변경 등)에 트리거되는 스크립트
활성화 방식: 설정 파일로 등록 (
.claude/settings.json의 hooks 섹션) 컨텍스트 비용: 트리거 시에만 실행되므로 컨텍스트 비용 최소
Plugin
목적: Skills + MCP + Agents + Commands를 패키징
개념: 여러 확장 기능을 하나의 배포 단위로 묶어 설치/공유를 간편하게 만듦
활성화 방식: 설치 명령으로 등록 (
/install-plugin 또는 settings.json) 컨텍스트 비용: 포함된 구성 요소에 따라 다름 (Skills + MCP 도구 목록 등)
MCP vs Plugin 비교
MCP와 Plugin은 자주 혼동되지만, 목적과 범위가 다릅니다.
| 구분 | MCP | Plugin |
|---|---|---|
| 목적 | 외부 서비스/데이터와 연결하기 위한 표준 프로토콜 | 여러 확장 기능을 하나로 패키징하여 배포/설치 |
| 범위 | 단일 서비스 연결 (예: GitHub MCP, Slack MCP) | Skills + MCP + Agents + Commands를 포함하는 복합 패키지 |
| 설정 | settings.json에 MCP 서버 URL/경로 등록 | /install-plugin 명령 또는 settings.json에 플러그인 경로 등록 |
| 역할 | “외부와 연결하는 도구” | “그 도구를 포함한 더 큰 기능 패키지” |
| 예시 | @anthropic/mcp-github — GitHub API 연결@anthropic/mcp-slack — Slack API 연결 | my-fullstack-plugin — React Skill + DB MCP + 테스트 에이전트 + 빌드 커맨드를 하나로 묶음 |
목적
MCP: 외부 서비스/데이터와 연결하기 위한 표준 프로토콜
Plugin: 여러 확장 기능을 하나로 패키징하여 배포/설치
범위
MCP: 단일 서비스 연결 (예: GitHub MCP, Slack MCP)
Plugin: Skills + MCP + Agents + Commands를 포함하는 복합 패키지
설정
MCP:
settings.json에 MCP 서버 URL/경로 등록 Plugin:
/install-plugin 명령 또는 settings.json에 플러그인 경로 등록 역할
MCP: “외부와 연결하는 도구”
Plugin: “그 도구를 포함한 더 큰 기능 패키지”
예시
MCP:
@anthropic/mcp-github — GitHub API 연결@anthropic/mcp-slack — Slack API 연결 Plugin:
my-fullstack-plugin — React Skill + DB MCP + 테스트 에이전트 + 빌드 커맨드를 하나로 묶음 💡 한 줄 요약
“MCP는 '외부와 연결하는 도구', Plugin은 '그 도구를 포함한 더 큰 기능 패키지'”
MCP는 Plugin 안에 포함될 수 있습니다. Plugin은 MCP 서버 + Skills + Sub-agents + Custom Commands 등을 하나의 설치 가능한 단위로 묶는 상위 개념입니다.