Agent Skill, Custom Instruction, MCP는 각각 고유한 목적과 특성을 가진 Claude의 확장 기능입니다
| Claude / Claude Code는 사용자의 편의성과 기능 확장성을 고려하는 확장 기능을 다양하게 포함하고 있습니다. |
|
[ 차례 ]
|
1. 세 가지 기능의 정의와 개념
Claude를 더욱 강력하게 만드는 세 가지 핵심 확장 기능인 Agent Skill, Custom Instruction, MCP(Model Context Protocol)는 각각 다른 목적과 작동 방식을 가지고 있습니다. 이들은 모두 Claude의 능력을 확장하고 개인화한다는 공통점이 있지만, 그 접근 방식과 사용 사례에서 명확한 차이를 보입니다. 각 기능을 제대로 이해하고 적재적소에 활용하면 Claude를 훨씬 더 효과적인 AI 어시스턴트로 만들 수 있습니다.
먼저 세 가지 기능의 핵심 정의부터 살펴보겠습니다.
- Agent Skill은 특정 작업 수행을 위한 전문화된 가이드라인 문서로, Claude가 작업 전에 참조하는 '작업 지침서' 역할을 합니다.
- Custom Instruction은 Claude의 전반적인 행동 방식과 응답 스타일을 조정하는 '성격 설정'이라고 할 수 있습니다.
- MCP는 Claude가 외부 시스템과 실시간으로 연결하여 데이터를 주고받을 수 있게 하는 '통신 프로토콜'입니다.
이 세 가지는 각각 '어떻게 작업할 것인가', '어떻게 대화할 것인가', '어디에서 데이터를 가져올 것인가'라는 서로 다른 질문에 답합니다.
각 기능의 차이점 및 특장점 요약
| 기능 | 목적 | 작동방식 | 특장점 |
| Custom Instruction | AI의 전반적인 성격, 스타일, 제약 조건 설정 | 모든 대화에 상시 적용되는 기본 프롬프트 지침 | 설정이 간편하며, 모든 상호작용에서 일관된 톤앤매너 및 기본 규칙 유지 가능. |
| Agent Skill | 특정 전문 작업 및 반복적인 워크플로 자동화 | 필요 시 AI가 스스로 판단하여 특정 작업 절차(SOP)를 실행 | 작업 일관성 및 재현성이 뛰어나고 (결과물의 불확실성 감소), 토큰 효율적이며, 재사용 및 조합이 용이함. |
| MCP (Model Context Protocol) | Claude를 외부 시스템/데이터에 연결 및 상호작용 | JSON-RPC 기반의 개방형 프로토콜을 통해 외부 API, DB 등을 호출 | AI의 능력 범위를 무한히 확장하여 실시간 데이터 접근, 외부 시스템 제어 등 강력한 에이전트 구축 가능. |

2. Agent Skill: 작업별 전문 가이드라인
Agent Skill은 Claude가 특정 유형의 작업을 수행할 때 참조하는 상세한 가이드라인 문서입니다. 이는 마크다운 형식의 SKILL.md 파일로 작성되며, 작업의 모범 사례, 단계별 절차, 예시, 주의사항 등을 포함합니다. Claude는 관련 작업을 시작하기 전에 자동으로 또는 명시적으로 이 파일을 읽어 작업 방식을 학습하게 됩니다. 예를 들어 파워포인트를 만들 때는 PPTX Skill을, 엑셀 작업을 할 때는 XLSX Skill을 참조하는 식입니다.
Agent Skill의 핵심 특징은 작업 중심성(Task-Oriented)과 상황별 활성화(Contextual Activation)입니다. 특정 작업이나 파일 형식과 연관되어 있으며, 해당 작업이 요청될 때만 활성화됩니다. 일반적인 Claude ai desktop / Web을 사용하는 경우 저장 위치는 Claude컨테이너 저장소인 /mnt/skills/ 디렉토리이며, Public Skills(기본 제공)와 User Skills(사용자 정의)로 구분됩니다.
# Agent Skill 디렉토리 구조
/mnt/skills/
├── public/ # 기본 제공 스킬
│ ├── docx/
│ │ └── SKILL.md # 워드 문서 작업 가이드
│ ├── pptx/
│ │ └── SKILL.md # 프레젠테이션 작업 가이드
│ ├── xlsx/
│ │ └── SKILL.md # 스프레드시트 작업 가이드
│ └── pdf/
│ └── SKILL.md # PDF 작업 가이드
└── user/ # 사용자 정의 스킬
├── company_report/
│ └── SKILL.md # 회사 보고서 양식
└── data_analysis/
└── SKILL.md # 데이터 분석 절차
Claude Code를 사용하는 경우, Agent Skills의 저장소는 약간의 차이가 있습니다.
# 개인 Skills
- 개인 워크플로우 및 기본 설정
- 개발 중인 실험적 Skills
- 개인 생산성 도구
mkdir -p ~/.claude/skills/my-skill-name
# Project Skills
- 팀 워크플로우 및 규칙
- 프로젝트별 전문 지식
- 공유 유틸리티 및 스크립트
mkdir -p .claude/skills/my-skill-name
# Claude Code Project folder
# .claude/skills/my-skill
my-skill/
├── SKILL.md (required)
├── reference.md (optional documentation)
├── examples.md (optional examples)
├── scripts/
│ └── helper.py (optional utility)
└── templates/
└── template.txt (optional template)
Agent Skill의 작동 방식은 다음과 같습니다:
# Agent Skill 활성화 프로세스
# 1. 사용자 요청
사용자_입력 = "월간 매출 보고서를 파워포인트로 만들어주세요"
# 2. Claude의 작업 흐름
작업_분석 = {
"작업_유형": "프레젠테이션 생성",
"관련_스킬": ["pptx", "company_report"],
"활성화_순서": [
"1. /mnt/skills/public/pptx/SKILL.md 읽기",
"2. /mnt/skills/user/company_report/SKILL.md 읽기",
"3. 두 스킬의 가이드라인 통합",
"4. 작업 수행"
]
}
# 3. Skill 파일 내용 예시
"""
# PPTX Skill
## 슬라이드 레이아웃 원칙
- 제목 슬라이드: 중앙 정렬, 24pt
- 내용 슬라이드: 제목 18pt, 본문 14pt
- 텍스트는 슬라이드당 6줄 이내
- 이미지와 텍스트 비율 6:4 권장
## 색상 가이드
- 배경: 흰색 또는 밝은 회색
- 제목: 진한 파란색 (#1E5AA8)
- 강조: 주황색 (#FFA500)
"""
Agent Skill의 주요 장점은 작업별 전문성과 재사용성입니다. 한 번 잘 만들어진 스킬은 계속해서 일관된 품질을 보장하며, 팀 내에서 공유하여 표준화된 작업 방식을 구축할 수 있습니다. 단점으로는 초기 작성에 시간이 필요하고, 컴퓨터 사용 기능이 활성화되어 있어야만 작동한다는 제약이 있습니다.
3. Custom Instruction : 대화 스타일과 행동 설정
Custom Instruction은 Claude의 전반적인 응답 방식, 어조, 행동 패턴을 조정하는 기능입니다. 이는 사용자의 선호도나 필요에 맞게 Claude의 '성격'을 설정하는 것으로, 모든 대화에 걸쳐 지속적으로 적용됩니다. Agent Skill이 특정 작업에만 활성화되는 것과 달리, Custom Instruction은 세션 전체에 영향을 미치며 Claude가 사용자와 상호작용하는 기본 방식을 정의합니다.
Custom Instruction은 일반적으로 두 가지 주요 섹션으로 구성됩니다.
- 첫 번째는 "Claude가 알아야 할 것" 섹션으로, 사용자의 배경, 역할, 선호도, 작업 환경 등의 컨텍스트 정보를 포함합니다.
- 두 번째는 "Claude가 응답하는 방식" 섹션으로, 원하는 어조, 상세도 수준, 형식, 커뮤니케이션 스타일 등을 지정합니다.
# Custom Instruction 예시
## Claude가 알아야 할 것 (About You)
### 기본 정보
- 역할: 소프트웨어 엔지니어 (5년 경력)
- 전문 분야: Python 백엔드 개발, AWS 인프라
- 주요 업무: API 설계, 데이터베이스 최적화, 시스템 아키텍처
### 작업 환경
- 회사: 핀테크 스타트업 (팀 규모 30명)
- 개발 스택: Python 3.11, FastAPI, PostgreSQL, Redis
- 배포 환경: AWS ECS, GitHub Actions CI/CD
### 선호도
- 코드 스타일: PEP 8 준수, 타입 힌팅 필수
- 문서화: 상세한 docstring, 예시 코드 포함 선호
- 학습 방식: 개념 설명 후 실전 예제 제공
## Claude가 응답하는 방식 (How Claude Should Respond)
### 커뮤니케이션 스타일
- 어조: 전문적이면서 친근함
- 상세도: 중급 개발자 수준으로 설명 (기초는 간략히)
- 형식: 코드 예시는 반드시 포함, 주석 상세히
### 응답 구조
1. 핵심 답변을 먼저 제시 (TL;DR 방식)
2. 상세 설명 및 근거
3. 실행 가능한 코드 예시
4. 추가 고려사항 또는 대안
### 코드 관련 규칙
- 모든 함수에 타입 힌트 추가
- Docstring은 Google 스타일 사용
- 보안 관련 사항은 명시적으로 강조
- 성능 최적화 팁 포함
### 제약사항
- 긴 설명보다는 간결한 코드와 주석 선호
- 이론보다 실용적인 접근 우선
- 영어 기술 용어는 그대로 사용 (번역 X)
Custom Instruction의 활성화 방식은 Agent Skill과 크게 다릅니다:
# Custom Instruction 적용 과정
# Agent Skill의 경우 (조건부 활성화)
if "프레젠테이션" in 사용자_요청:
load_skill("pptx")
# Custom Instruction의 경우 (항상 활성화)
# 모든 요청에 대해 자동으로 적용됨
for 요청 in 모든_사용자_요청:
apply_custom_instruction()
generate_response()
# 예시: Custom Instruction이 적용된 응답
사용자_요청 = "데이터베이스 쿼리를 최적화하는 방법을 알려줘"
# Custom Instruction 없는 응답:
"""
데이터베이스 쿼리 최적화 방법은 여러 가지가 있습니다.
인덱스 추가, 쿼리 재작성, 캐싱 등을 고려할 수 있습니다...
"""
# Custom Instruction 적용된 응답:
"""
**TL;DR**: 인덱스 추가, N+1 쿼리 해결, 연결 풀 설정이 핵심입니다.
## 1. 인덱스 최적화
```python
from sqlalchemy import Index
class User(Base):
__tablename__ = 'users'
email = Column(String, nullable=False)
created_at = Column(DateTime, nullable=False)
__table_args__ = (
Index('idx_user_email', 'email'), # 이메일 검색 최적화
Index('idx_created_at', 'created_at'), # 시간 범위 쿼리 최적화
)
## 2. N+1 쿼리 문제 해결
[상세한 코드 예시와 설명 계속...]
Custom Instruction의 저장 및 관리 방식은 다음을 참조 합니다.
Custom Instruction의 저장 및 관리 방식:
```bash
# Custom Instruction은 Claude 웹 인터페이스의 설정에 저장됨
# 파일 시스템 위치 (개념적 표현):
~/.claude/settings/
└── custom_instructions.json
# 설정 방법
1. Claude 웹 인터페이스 접속
2. Settings > Profile 메뉴
3. "Custom Instructions" 섹션에 작성
4. 저장하면 모든 대화에 자동 적용
# 프로젝트별 Custom Instruction
# Claude Projects를 사용하면 프로젝트마다 다른 Custom Instruction 설정 가능
Projects/
├── 개인_프로젝트/
│ └── Custom Instructions: "캐주얼한 어조, 간단한 설명"
├── 회사_프로젝트/
│ └── Custom Instructions: "전문적 어조, 상세한 문서화"
└── 학습_프로젝트/
└── Custom Instructions: "교육적 설명, 단계별 가이드"
Custom Instruction의 주요 장점은 지속성과 전역 적용입니다. 한 번 설정하면 매번 반복해서 지시할 필요 없이 모든 대화에서 일관된 스타일을 유지할 수 있습니다. 단점으로는 너무 구체적으로 설정하면 유연성이 떨어질 수 있고, 다양한 작업 유형에 동일한 설정이 항상 최적은 아닐 수 있다는 점입니다.
4. MCP (Model Context Protocol) : 외부 시스템 연동
- 참고 글 : MCP를 통해 Claude Code를 도구로 연결
MCP(Model Context Protocol)는 Claude가 외부 데이터 소스나 시스템과 실시간으로 통신할 수 있게 하는 표준화된 프로토콜입니다. 이는 Agent Skill이나 Custom Instruction과는 완전히 다른 차원의 기능으로, Claude의 지식 범위를 실시간 데이터로 확장하고 외부 도구를 활용할 수 있게 합니다. MCP를 통해 Claude는 데이터베이스 조회, API 호출, 파일 시스템 접근, 클라우드 서비스 연동 등을 수행할 수 있습니다.
MCP의 핵심 개념은 서버-클라이언트 아키텍처입니다. MCP 서버는 특정 데이터 소스나 도구에 대한 접근을 제공하고, Claude(클라이언트)는 표준화된 방식으로 이 서버들과 통신합니다. 각 MCP 서버는 리소스(데이터), 프롬프트(템플릿), 도구(함수) 중 하나 이상을 제공할 수 있으며, Claude는 필요에 따라 이들을 활용합니다.
# MCP 아키텍처 구조
"""
┌──────────────────┐
│ Claude AI │ (클라이언트)
│ (사용자) │
└────────┬─────────┘
│
│ MCP Protocol
│
┌────┴──────┐
│ MCP │
│ 서버들 │
└────┬─────┘
│
┌────┴────────────────────────────────────┐
│ │
┌───┴───────┐ ┌───────────┐ ┌─────────┴────┐
│Database │ │File │ │Cloud │
│Server │ │System │ │Services │
│ │ │Server │ │Server │
└───────────┘ └───────────┘ └──────────────┘
"""
# MCP 서버 예시 1: 데이터베이스 연동
class DatabaseMCPServer:
"""
PostgreSQL 데이터베이스에 대한 MCP 서버
"""
def __init__(self, connection_string):
self.conn = psycopg2.connect(connection_string)
# MCP 리소스: 읽기 전용 데이터 제공
def list_resources(self):
return [
{"uri": "db://customers/all", "name": "전체 고객 목록"},
{"uri": "db://orders/recent", "name": "최근 주문 내역"},
{"uri": "db://products/inventory", "name": "재고 현황"}
]
def read_resource(self, uri):
if uri == "db://customers/all":
cursor = self.conn.cursor()
cursor.execute("SELECT * FROM customers LIMIT 100")
return cursor.fetchall()
# MCP 도구: 실행 가능한 함수 제공
def list_tools(self):
return [
{
"name": "query_database",
"description": "SQL 쿼리 실행",
"parameters": {
"query": "실행할 SQL 쿼리문"
}
}
]
def call_tool(self, name, parameters):
if name == "query_database":
cursor = self.conn.cursor()
cursor.execute(parameters["query"])
return cursor.fetchall()
# MCP 서버 예시 2: GitHub 연동
class GitHubMCPServer:
"""
GitHub API에 대한 MCP 서버
"""
def __init__(self, access_token):
self.token = access_token
self.api = "https://api.github.com"
# MCP 리소스
def list_resources(self):
return [
{"uri": "github://repos/my-org", "name": "조직 저장소 목록"},
{"uri": "github://issues/open", "name": "오픈 이슈"},
{"uri": "github://prs/pending", "name": "대기 중인 PR"}
]
# MCP 도구
def list_tools(self):
return [
{
"name": "create_issue",
"description": "새로운 GitHub 이슈 생성",
"parameters": {
"repo": "저장소 이름",
"title": "이슈 제목",
"body": "이슈 내용"
}
},
{
"name": "search_code",
"description": "코드 검색",
"parameters": {
"query": "검색 쿼리"
}
}
]
def call_tool(self, name, parameters):
if name == "create_issue":
response = requests.post(
f"{self.api}/repos/{parameters['repo']}/issues",
headers={"Authorization": f"token {self.token}"},
json={
"title": parameters["title"],
"body": parameters["body"]
}
)
return response.json()
MCP 서버 설정 방법 :
// claude_desktop_config.json
// (Claude Desktop 앱의 MCP 설정 파일)
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost/mydb"
]
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Documents"
]
},
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github",
"--token",
"ghp_your_token_here"
]
},
"google-drive": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gdrive"
]
}
}
}
실제 사용 예시:
# MCP를 활용한 실제 작업 시나리오
# 시나리오 1: 데이터베이스 조회 및 분석
사용자_요청 = """
이번 분기 매출이 100만원 이상인 고객 목록을 조회하고,
이들의 구매 패턴을 분석해서 보고서로 만들어줘
"""
Claude_작업_흐름 = """
1. MCP Database 서버를 통해 쿼리 실행
query_database("SELECT * FROM customers
WHERE quarterly_sales > 1000000")
2. 결과 데이터 분석 (Claude의 내장 분석 능력 사용)
- 구매 빈도 계산
- 선호 제품 파악
- 시간대별 패턴 분석
3. XLSX Skill을 사용하여 결과를 엑셀로 정리
4. DOCX Skill을 사용하여 분석 보고서 작성
"""
# 시나리오 2: GitHub 이슈 자동 생성
사용자_요청 = """
프로젝트의 모든 TODO 주석을 찾아서
각각에 대한 GitHub 이슈를 만들어줘
"""
Claude_작업_흐름 = """
1. MCP Filesystem 서버를 통해 프로젝트 파일 스캔
search_files(pattern="*.py", content="# TODO")
2. TODO 주석 파싱 및 분류
- 우선순위 판단
- 관련 파일 및 라인 번호 추출
3. MCP GitHub 서버를 통해 이슈 생성
for each todo:
create_issue(
repo="myproject",
title=f"TODO: {todo.description}",
body=f"File: {todo.file}\nLine: {todo.line}\n{todo.context}"
)
"""
# 시나리오 3: 클라우드 데이터 분석
사용자_요청 = """
Google Drive의 지난 3개월 매출 데이터를 가져와서
AWS S3에 백업하고, 트렌드 분석 리포트를 만들어줘
"""
Claude_작업_흐름 = """
1. MCP Google Drive 서버로 파일 가져오기
files = list_drive_files(query="sales_*.xlsx modified > 90 days ago")
2. 각 파일 다운로드 및 데이터 추출
for file in files:
data = read_drive_file(file.id)
sales_data.append(parse_excel(data))
3. 데이터 분석 (Claude의 데이터 분석 능력)
- 월별 매출 트렌드
- 성장률 계산
- 예측 모델링
4. MCP AWS S3 서버로 백업
upload_to_s3(
bucket="sales-backup",
key=f"sales_{today}.xlsx",
data=consolidated_data
)
5. PPTX Skill로 시각적 리포트 생성
"""
MCP의 주요 장점은 실시간 데이터 접근과 무한한 확장성입니다. Claude의 정적 지식을 넘어 최신 데이터와 외부 시스템을 활용할 수 있으며, 새로운 MCP 서버를 추가하여 기능을 계속 확장할 수 있습니다. 단점으로는 설정이 복잡하고, 각 MCP 서버를 별도로 설치 및 관리해야 하며, 보안 설정에 신경 써야 한다는 점이 있습니다.
5. 세 가지 기능의 상호 작용과 통합 활용
Agent Skill, Custom Instruction, MCP는 독립적으로 사용될 수도 있지만, 함께 조합하면 시너지 효과를 발휘합니다. 각 기능은 서로 다른 계층에서 작동하며, 이들을 효과적으로 통합하면 Claude를 완전히 맞춤화된 전문 AI 어시스턴트로 만들 수 있습니다. 다음은 세 가지 기능이 어떻게 상호작용하는지 보여주는 실제 시나리오입니다.
# 통합 활용 시나리오: 자동화된 주간 보고서 시스템
# 1단계: Custom Instruction (기본 행동 설정)
custom_instruction = """
## Claude가 알아야 할 것
- 역할: 데이터 분석가
- 회사: 이커머스 플랫폼
- 보고 대상: 경영진 (비기술적 배경)
## 응답 방식
- 어조: 전문적이고 간결함
- 데이터는 항상 시각화 포함
- 인사이트는 액션 아이템과 함께 제시
- 비즈니스 영향도 중심으로 설명
"""
# 2단계: Agent Skill (보고서 작성 가이드)
weekly_report_skill = """
# Weekly Business Report Skill
## 보고서 구조
1. 주요 지표 요약 (Executive Summary)
2. 매출 분석 (차트 포함)
3. 고객 행동 분석
4. 이슈 및 기회
5. 다음 주 액션 플랜
## 데이터 시각화 규칙
- 트렌드: 꺾은선 그래프
- 구성비: 파이 차트
- 비교: 막대 그래프
- 색상: 회사 브랜드 컬러 사용
## 작성 원칙
- 경영진 관점에서 작성
- 기술적 용어 최소화
- 각 섹션에 핵심 인사이트 강조
- 추천 액션은 구체적으로 제시
"""
# 3단계: MCP (데이터 소스 연결)
mcp_configuration = {
"postgresql": "매출 데이터베이스",
"google_analytics": "웹사이트 트래픽",
"slack": "팀 커뮤니케이션 로그",
"github": "개발 진행 상황"
}
# 실제 작업 흐름
def generate_weekly_report():
"""
세 가지 기능을 통합하여 주간 보고서 자동 생성
"""
# Step 1: MCP로 실시간 데이터 수집
print("데이터 수집 중...")
# MCP Database 서버
sales_data = mcp_query("""
SELECT
date,
SUM(amount) as daily_revenue,
COUNT(DISTINCT customer_id) as customer_count
FROM orders
WHERE date >= CURRENT_DATE - INTERVAL '7 days'
GROUP BY date
""")
# MCP Google Analytics 서버
traffic_data = mcp_google_analytics.get_metrics(
start_date="7daysAgo",
end_date="today",
metrics=["sessions", "pageviews", "conversionRate"]
)
# MCP GitHub 서버
dev_progress = mcp_github.search_issues(
query="is:closed closed:>7days repo:mycompany/platform"
)
# Step 2: Custom Instruction이 데이터 분석 방식에 영향
# "비즈니스 영향도 중심", "경영진 대상" 설정이 자동 적용됨
analysis = analyze_data_for_executives(
sales=sales_data,
traffic=traffic_data,
development=dev_progress
)
# Step 3: Agent Skill을 참조하여 보고서 작성
# Weekly Report Skill의 구조와 규칙을 따름
report = create_report_following_skill(
skill_path="/mnt/skills/user/weekly_report/SKILL.md",
data=analysis
)
return report
# 사용자 관점에서의 간단한 요청
사용자_요청 = "이번 주 비즈니스 보고서 만들어줘"
# Claude의 내부 처리 (사용자는 볼 수 없음)
"""
1. Custom Instruction 확인
→ "데이터 분석가 역할, 경영진 대상" 컨텍스트 로드
2. 키워드 "보고서" 감지
→ Agent Skill: weekly_report_skill 활성화
→ 보고서 구조와 작성 원칙 학습
3. 데이터 필요 판단
→ MCP 서버들에 연결
→ PostgreSQL: 매출 데이터 조회
→ Google Analytics: 트래픽 데이터 조회
→ GitHub: 개발 진척도 조회
4. 통합 작업 수행
→ Custom Instruction: 어조와 설명 방식 적용
→ Agent Skill: 보고서 구조와 시각화 규칙 적용
→ MCP 데이터: 실시간 정보로 콘텐츠 채우기
5. 최종 결과물 생성
→ /mnt/user-data/outputs/weekly_report_2025W04.pptx
"""
통합 활용의 또 다른 예시:
# 시나리오: 고객 지원 자동화 시스템
# Custom Instruction: 고객 지원 담당자 페르소나
"""
## Claude가 알아야 할 것
- 역할: 고객 지원 전문가
- 제품: SaaS 프로젝트 관리 도구
- 톤: 친절하고 도움이 되며, 공감 능력 있음
## 응답 방식
- 먼저 문제를 공감하고 이해했음을 표현
- 단계별 해결책 제시
- 추가 도움이 필요한지 확인
- 관련 문서 링크 제공
"""
# Agent Skill: 고객 지원 프로세스
"""
# Customer Support Skill
## 문제 해결 프로세스
1. 문제 파악 (5W1H)
2. 관련 정보 조회 (데이터베이스, 문서)
3. 해결책 제시 (우선순위 순)
4. 후속 조치 설정
## 에스컬레이션 규칙
- 계정 관련: 즉시 보안팀
- 결제 문제: 재무팀
- 버그 리포트: 개발팀 티켓 생성
"""
# MCP 설정: 고객 지원 도구 연동
mcp_servers = {
"customer_db": "고객 정보 데이터베이스",
"ticket_system": "지원 티켓 시스템",
"knowledge_base": "제품 문서",
"slack": "내부 커뮤니케이션"
}
# 실제 고객 문의 처리
고객_문의 = "로그인이 안 되는데 어떻게 해야 하나요?"
# Claude의 통합 처리
"""
1. [Custom Instruction] 공감하는 톤으로 응답 시작
"불편을 드려 죄송합니다. 로그인 문제를 해결하도록 도와드리겠습니다."
2. [Agent Skill] 문제 해결 프로세스 시작
- 5W1H 질문으로 상황 파악
3. [MCP Customer DB] 고객 정보 조회
customer = mcp_query("SELECT * FROM customers WHERE email = ?")
4. [MCP Knowledge Base] 관련 문서 검색
articles = mcp_search_kb("login troubleshooting")
5. [Agent Skill] 해결책 우선순위 적용
- 비밀번호 재설정 링크 제공
- 브라우저 캐시 삭제 안내
- 계정 상태 확인
6. [MCP Ticket System] 미해결 시 티켓 자동 생성
ticket = mcp_create_ticket({
"customer_id": customer.id,
"issue": "login_failure",
"priority": "high"
})
7. [Custom Instruction] 후속 질문으로 마무리
"이 방법들로 해결되셨나요? 추가로 도움이 필요하시면 말씀해주세요."
"""
실제 코드 예시:
# 통합 시스템 구현 예시
class IntegratedClaudeSystem:
"""
Agent Skill, Custom Instruction, MCP를 통합한 시스템
"""
def __init__(self):
# Custom Instruction 로드
self.persona = self.load_custom_instruction()
# Agent Skills 로드
self.skills = self.load_all_skills()
# MCP 서버 연결
self.mcp_clients = self.connect_mcp_servers()
def process_request(self, user_request):
"""
사용자 요청을 통합 처리
"""
# 1. Custom Instruction 적용
context = self.apply_persona(user_request)
# 2. 관련 Agent Skill 식별
relevant_skills = self.identify_skills(user_request)
# 3. 필요한 MCP 서버 확인
required_data = self.check_data_requirements(
user_request,
relevant_skills
)
# 4. MCP를 통한 데이터 수집
external_data = {}
for data_source in required_data:
external_data[data_source] = self.mcp_clients[data_source].fetch()
# 5. Skills 가이드라인에 따라 작업 수행
result = self.execute_with_skills(
request=user_request,
skills=relevant_skills,
data=external_data,
context=context
)
# 6. Custom Instruction의 응답 스타일 적용
formatted_response = self.format_response(result, self.persona)
return formatted_response
def identify_skills(self, request):
"""
요청 내용 분석하여 관련 스킬 식별
"""
keywords_to_skills = {
"보고서": ["report_writing", "data_viz"],
"프레젠테이션": ["pptx", "presentation_design"],
"데이터 분석": ["data_analysis", "xlsx"],
"코드": ["coding_style", "code_review"]
}
identified = []
for keyword, skills in keywords_to_skills.items():
if keyword in request:
identified.extend(skills)
return identified
def check_data_requirements(self, request, skills):
"""
Skills 정의에 따라 필요한 데이터 소스 확인
"""
required = set()
for skill_name in skills:
skill = self.skills[skill_name]
# Skill 파일에 명시된 데이터 소스 파싱
if "data_sources" in skill:
required.update(skill["data_sources"])
# 요청 내용에서 명시적 데이터 소스 추출
if "데이터베이스" in request:
required.add("postgresql")
if "구글 드라이브" in request or "문서" in request:
required.add("google_drive")
return list(required)
# 사용 예시
system = IntegratedClaudeSystem()
# 복잡한 요청 처리
result = system.process_request("""
데이터베이스에서 이번 달 매출 데이터를 가져와서
Google Drive의 작년 같은 기간 데이터와 비교 분석하고,
경영진 회의용 프레젠테이션을 만들어줘
""")
# 시스템 내부에서는:
# 1. Custom Instruction: "경영진 대상, 전문적 어조" 적용
# 2. Agent Skills: "data_analysis", "pptx", "report_writing" 활성화
# 3. MCP: "postgresql", "google_drive" 서버 사용
# → 세 가지가 유기적으로 협력하여 최종 결과물 생성
6. 기능별 비교 종합표
다음 표는 Agent Skill, Custom Instruction, MCP의 주요 특징을 한눈에 비교할 수 있도록 정리한 것입니다.
| 비교항목 | Agent Skill | Custom Instruction | MCP |
| 주요 목적 | 특정 작업의 실행 방법 정의 | Claude의 전반적 행동 및 응답 스타일 설정 | 외부 데이터 소스 및 시스템과의 실시간 연동 |
| 작동 범위 | 작업별 (특정 작업 수행 시만) | 전역 (모든 대화) | 요청 시 (필요할 때) |
| 저장 위치 | /mnt/skills/ 디렉토리 | Claude 설정 (웹 UI) | Claude Desktop 설정 파일 |
| 파일 형식 | 마크다운 (.md) | 텍스트 (UI 입력) | JSON 설정 + 서버 프로그램 |
| 활성화 방식 | 조건부 (키워드/작업 유형) | 항상 활성화 | 명시적 호출 또는 자동 판단 |
| 주요 내용 | 작업 절차, 예시, 규칙, 주의사항 | 사용자 정보, 선호도, 응답 스타일 | 데이터 소스 연결 정보, API 엔드포인트 |
| 수정 빈도 | 중간 (작업 표준 변경 시) | 낮음 (초기 설정 후 안정) | 낮음 (시스템 연동 후 안정) |
| 기술적 난이도 | 낮음-중간 (마크다운 작성) | 매우 낮음 (텍스트 입력) | 높음 (서버 설정, 프로그래밍) |
| 재사용성 | 매우 높음 (같은 작업 반복) | 중간 (프로젝트별 다를 수 있음) | 높음 (한번 설정하면 지속 사용) |
상세 비교표
| 비교항목 | Agent Skill | Custom Instruction | MCP |
| 장점 | • 작업별 전문성 제공 • 팀 내 표준화 용이 • 버전 관리 가능 • 예시 코드 포함 가능 |
• 설정이 매우 간단 • 모든 대화에 일관성 • 별도 파일 불필요 • 즉시 적용 |
• 실시간 데이터 접근 • 외부 시스템 연동 • 무한한 확장 가능 • 표준 프로토콜 |
| 단점 | • 초기 작성 시간 필요 • 컴퓨터 사용 기능 필수 • 파일 관리 필요 |
• 전역 적용으로 유연성 제한 • 작업별 세부 조정 어려움 • 버전 관리 없음 |
• 설정이 복잡 • 보안 고려사항 많음 • 서버 유지보수 필요 • 기술 지식 요구 |
| 적용 시점 | 작업 시작 전 (자동) | 대화 시작부터 (항상) | 데이터 필요 시 (요청 시) |
| 영향 범위 | 해당 작업만 | 모든 응답 | 데이터 관련 작업 |
| 우선순위 | User Skill > Public Skill | 항상 최우선 적용 | 요청 시 실행 |
| 팀 공유 | 매우 쉬움 (파일 공유) | 어려움 (개인 설정) | 중간 (설정 파일 공유) |
| 비용 | 무료 | 무료 | 무료 (서버 비용은 별도) |
사용 사례별 비교
| 사용 사례 | Agent Skill | Custom Instruction | MCP | 추천조합 |
| 정기 보고서 작성 | ★★★★★ 작업 표준화 |
★★★ 어조 설정 |
★★★★ 데이터 수집 |
Skill + MCP |
| 코딩 지원 | ★★★★ 코드 스타일 |
★★★★★ 설명 수준 조정 |
★★★ GitHub 연동 |
Instruction + MCP |
| 일반 대화 | ★ 불필요 |
★★★★★ 성격 설정 |
★ 불필요 |
Instruction만 |
| 문서 편집 | ★★★★★ 서식 규칙 |
★★ 기본 어조 |
★ 불필요 |
Skill 중심 |
| 데이터 분석 | ★★★★ 분석 프레임워크 |
★★★ 설명 방식 |
★★★★★ 데이터 접근 |
3가지 모두 |
| 고객 지원 | ★★★★ 대응 절차 |
★★★★★ 친절한 톤 |
★★★★ 고객 DB 조회 |
3가지 모두 |
| 학습/교육 | ★★★ 교육 구조 |
★★★★★ 설명 수준 |
★★ 참고 자료 |
Instruction 중심 |
기술적 요구사항 비교
| 요구사항 | Agent Skill | Custom Instruction | MCP |
| 설치 필요 | 아니오 (기본 제공) | 아니오 | 예 (서버 설치) |
| 프로그래밍 지식 | 선택적 (마크다운만) | 불필요 | 필수 (JavaScript/Python) |
| 컴퓨터 사용 기능 | 필수 | 불필요 | 필수 |
| 네트워크 필요 | 아니오 | 아니오 | 예 (외부 연결) |
| 보안 설정 | 낮음 | 낮음 | 높음 (API 키 등) |
| 유지보수 | 낮음 (문서 업데이트) | 매우 낮음 | 중간-높음 (서버 관리) |
비용 효율성 비교
| 측면 | Agent Skill | Custom Instruction | MCP |
| 초기 투자 | 중간 (작성 시간) | 매우 낮음 | 높음 (개발 시간) |
| 운영 비용 | 없음 | 없음 | 서버/API 비용 가능 |
| 시간 절약 | 높음 (반복 작업) | 중간 (대화 효율) | 매우 높음 (자동화) |
| ROI | 높음 | 중간 | 매우 높음 (대규모 시) |
7. 실전 사용 가이드 : 어떤 기능을 언제 사용할까?
세 가지 기능의 차이를 이해했다면, 이제 실제 상황에서 어떤 기능을 선택해야 할지 판단하는 기준을 살펴보겠습니다. 각 기능은 서로 다른 문제를 해결하도록 설계되었으므로, 상황에 맞는 올바른 선택이 중요합니다.
의사결정 플로우차트
graph TD
A[작업 요구사항 분석] --> B{Claude의 응답 방식을<br/>바꾸고 싶은가?}
B -->|예| C[Custom Instruction 사용]
B -->|아니오| D{특정 작업의<br/>실행 방법을<br/>표준화하고 싶은가?}
D -->|예| E[Agent Skill 사용]
D -->|아니오| F{외부 데이터나<br/>시스템이<br/>필요한가?}
F -->|예| G[MCP 사용]
F -->|아니오| H[기본 Claude로 충분]
C --> I{작업별로 다른<br/>방식이 필요한가?}
I -->|예| J[Custom Instruction +<br/>Agent Skill]
I -->|아니오| K[Custom Instruction만]
E --> L{실시간 데이터가<br/>필요한가?}
L -->|예| M[Agent Skill + MCP]
L -->|아니오| N[Agent Skill만]
G --> O{작업 절차도<br/>표준화 필요한가?}
O -->|예| P[MCP + Agent Skill<br/>+ Custom Instruction]
O -->|아니오| Q[MCP만]
상황별 선택 가이드
# 상황별 기능 선택 매트릭스
선택_가이드 = {
"상황1: 개인 사용, 일반 대화 중심": {
"추천": "Custom Instruction",
"이유": "간단한 설정으로 모든 대화의 품질 향상",
"예시": "친절한 톤, 상세한 설명 선호"
},
"상황2: 반복되는 문서 작업": {
"추천": "Agent Skill",
"이유": "작업 표준화로 일관된 결과물 보장",
"예시": "매주 작성하는 회의록, 월간 보고서"
},
"상황3: 팀 협업, 공통 작업 방식": {
"추천": "Agent Skill (팀 공유)",
"이유": "파일로 관리되어 버전 관리 및 공유 용이",
"예시": "회사 문서 양식, 코드 리뷰 체크리스트"
},
"상황4: 실시간 데이터 필요": {
"추천": "MCP",
"이유": "최신 정보 접근 및 외부 시스템 연동",
"예시": "데이터베이스 조회, API 호출"
},
"상황5: 복잡한 자동화 워크플로우": {
"추천": "3가지 모두 조합",
"이유": "각 계층에서 최적화",
"예시": "자동 보고서 생성 시스템"
},
"상황6: 특정 역할 전문화": {
"추천": "Custom Instruction + Agent Skill",
"이유": "역할 정의 + 작업 방법 표준화",
"예시": "데이터 분석가, 기술 문서 작성자"
},
"상황7: 외부 도구 통합": {
"추천": "MCP + Agent Skill",
"이유": "데이터 연동 + 처리 방법 정의",
"예시": "GitHub 이슈 관리, CRM 데이터 분석"
},
"상황8: 빠른 프로토타이핑": {
"추천": "Custom Instruction",
"이유": "설정 빠르고, 파일 관리 불필요",
"예시": "새로운 프로젝트 시작 단계"
}
}
실전 예시 : 스타트업의 기술 문서화 시스템
# 사례: 스타트업의 API 문서 자동 생성 시스템
# 1단계: Custom Instruction 설정 (팀 전체 통일)
custom_instruction_팀 = """
## Claude가 알아야 할 것
- 회사: B2B SaaS 스타트업
- 독자: 개발자 파트너사 (중급 이상)
- 제품: REST API 플랫폼
## 응답 방식
- 기술 문서는 명확하고 간결하게
- 모든 API 예시는 curl, Python, JavaScript 3가지 제공
- 에러 케이스도 반드시 문서화
- 보안 관련 사항은 별도 섹션으로 강조
"""
# 2단계: Agent Skill 작성 (API 문서 표준)
api_documentation_skill = """
# API Documentation Skill
## 문서 구조
1. 엔드포인트 개요
2. 요청 형식 (Parameters)
3. 응답 형식 (Response)
4. 코드 예시 (curl, Python, JavaScript)
5. 에러 코드 및 처리
6. 사용 제한 (Rate Limits)
7. 보안 고려사항
## 작성 규칙
- 모든 파라미터는 표로 정리
| 이름 | 타입 | 필수 | 설명 | 기본값 |
- 예시는 실제 작동하는 코드
- 응답 JSON은 들여쓰기 적용
- 에러는 HTTP 상태 코드와 함께 설명
## 코드 예시 템플릿
```curl
curl -X GET "https://api.example.com/v1/users" \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-H "Content-Type: application/json"
import requests
response = requests.get(
"https://api.example.com/v1/users",
headers={"Authorization": f"Bearer {API_KEY}"}
)
"""
# 3단계: MCP 설정 (실제 API 연동)
mcp_configuration = { "openapi_server": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-openapi", "--spec", "/path/to/openapi.yaml" ] }, "github": { # 문서를 GitHub에 자동 커밋 }, "postgresql": { # API 사용 통계 조회 } }
## 실제 사용 흐름
사용자_요청 = """ /users 엔드포인트의 GET 메서드 문서를 작성하고, 실제 API 스펙을 확인해서 정확한 파라미터와 응답 형식을 포함시켜줘 """
claude_작업_과정 = """
[Custom Instruction 적용] → 기술 문서 어조, 3개 언어 예시 포함 자동 적용
[Agent Skill 참조] → API Documentation Skill 읽기 → 문서 구조와 템플릿 학습
[MCP OpenAPI 서버 조회] → 실제 /users GET 엔드포인트 스펙 가져오기 → 파라미터, 응답 스키마 확인
[통합 문서 생성] → Skill의 구조를 따르되 → MCP에서 가져온 실제 데이터로 채우고 → Custom Instruction의 스타일로 작성
[검증 및 배포] → 생성된 문서를 /mnt/user-data/outputs에 저장 → (선택) MCP GitHub 서버로 자동 커밋 """
결과: 일관되고 정확한 API 문서 자동 생성
"""
마치며 : 똑똑한 선택과 조합의 기술
Agent Skill, Custom Instruction, MCP는 각각 고유한 목적과 강점을 가진 독립적인 기능이지만, 함께 사용할 때 진정한 시너지를 발휘합니다. Custom Instruction으로 Claude의 기본 성격을 설정하고, Agent Skill로 작업별 전문성을 부여하며, MCP로 실시간 데이터와 외부 시스템을 연결하면 완전히 맞춤화된 AI 어시스턴트를 구축할 수 있습니다. 중요한 것은 각 기능의 특성을 정확히 이해하고, 자신의 작업 환경과 필요에 맞게 선택적으로 적용하는 것입니다.
처음에는 가장 간단한 Custom Instruction부터 시작하여 Claude와의 대화 품질을 개선하고, 반복 작업이 생기면 Agent Skill을 추가하며, 외부 데이터 연동이 필요해지면 MCP를 도입하는 점진적 접근이 효과적입니다. 완벽한 설정을 만들려고 처음부터 모든 것을 구축하기보다는, 실제 사용하면서 필요에 따라 하나씩 추가하고 개선해나가는 것이 현실적입니다. 이 세 가지 기능을 잘 활용하면 Claude는 단순한 AI 챗봇을 넘어 여러분의 업무 방식을 완벽히 이해하고 지원하는 진정한 AI 파트너가 될 것입니다.
'AI 활용' 카테고리의 다른 글
| Synology NAS Container Manager에 n8n설치하기 (0) | 2025.12.16 |
|---|---|
| AI 시대의 업무 자동화 플랫폼 | n8n 가이드 (1) | 2025.12.15 |
| [제조 AI] 8) RAG 시스템 구축 기초 - 제조업 기술문서 활용 (10) | 2025.10.01 |
| Google AI Studio 나노바나나를 활용한 건축 디자인 (11) | 2025.09.27 |
| [제조 AI] 7-2) 임베디드 AI 구축 사례 - 정밀 가공 실시간 품질 모니터링 (14) | 2025.09.18 |