Claude Code Skills vs 서브에이전트: 뭐가 다를까?
들어가며
Claude Code를 쓰다 보면 “Skills”, “서브에이전트”라는 말이 자주 나옵니다. 둘 다 Claude를 더 똑똑하게 만들어주는 것 같은데… 뭐가 다른 걸까요?
이 글에서는 두 개념의 차이를 초보자도 이해할 수 있게 설명해드립니다.
이 글에서 배울 것:
- Skills가 뭔지
- 서브에이전트가 뭔지
- 둘의 핵심 차이점
- 언제 뭘 써야 하는지
Skills란?
한 줄 정의
Skills = 업무 매뉴얼
회사에 새로 입사했다고 생각해보세요. “PDF 양식 작성하는 법”이 적힌 매뉴얼이 있으면 훨씬 빠르게 일할 수 있겠죠?
Skills가 바로 그 매뉴얼입니다.
Skills 폴더 구조
Skills는 폴더 형태로 되어 있습니다:
/mnt/skills/public/pdf/
├── SKILL.md ← 가이드 문서 (Claude가 읽음)
├── REFERENCE.md ← 참조 문서
└── scripts/ ← 미리 작성된 스크립트들
├── extract_form_field_info.py
└── fill_fillable_fields.py
Skills의 핵심 원리: 외부 실행 + 결과만 수집
Skills의 가장 중요한 특징은 컨텍스트 절약입니다.
일반적인 방식을 먼저 볼게요:
[일반 방식]
사용자: "이 PDF 폼 채워줘"
↓
Claude: PDF 처리 코드를 직접 작성 (100줄)
↓
코드 100줄이 컨텍스트에 저장됨 (토큰 소비!)
↓
실행 결과도 컨텍스트에 추가됨
Skills 방식은 다릅니다:
[Skills 방식]
사용자: "이 PDF 폼 채워줘"
↓
Claude: 이미 있는 스크립트를 "호출"만 함
↓
python scripts/fill_fillable_fields.py input.pdf output.pdf
↓
스크립트 100줄은 컨텍스트에 안 들어감!
결과만 컨텍스트에 저장됨
비유로 이해하기
| 방식 | 비유 |
|---|---|
| 일반 | 요리사가 매번 레시피를 처음부터 쓰면서 요리 |
| Skills | 요리사가 레시피북을 참고해서 바로 요리 |
Skills를 쓰면 Claude가 매번 코드를 새로 작성하지 않아도 됩니다. 미리 검증된 스크립트를 가져다 쓰는 거죠.
서브에이전트란?
한 줄 정의
서브에이전트 = 전문 담당 직원
회사에 마케팅팀, 개발팀, 디자인팀이 있듯이, 서브에이전트는 특정 업무를 전담하는 AI 직원입니다.
서브에이전트 파일 구조
서브에이전트는 .md 파일로 만듭니다:
~/.claude/agents/
├── blog-researcher.md ← 리서치 전문
├── blog-writer.md ← 글쓰기 전문
├── code-reviewer.md ← 코드 리뷰 전문
└── blog-editor.md ← 검수 전문
서브에이전트의 핵심 원리: 컨텍스트 격리
서브에이전트의 가장 중요한 특징은 독립된 컨텍스트입니다.
작동 흐름:
- 사용자: “블로그 글 써줘”
- 메인 Claude →
@blog-researcher에게 리서치 지시 - 서브에이전트가 별도 공간에서 작업 수행
- 리서치 수행…
- 검색 결과 분석…
- (이 과정은 메인에게 안 보임)
- 요약된 결과만 메인 Claude에게 전달
서브에이전트가 작업하는 과정은 메인 Claude의 컨텍스트에 들어가지 않습니다. 결과 요약만 전달되죠.
비유로 이해하기
| 방식 | 비유 |
|---|---|
| 혼자 다 하기 | 사장님이 리서치, 글쓰기, 편집 다 직접 함 |
| 서브에이전트 | 리서치팀이 조사 → 결과 보고서만 사장님께 전달 |
핵심 차이점 비교
한눈에 보는 비교표
| 구분 | Skills | 서브에이전트 |
|---|---|---|
| 비유 | 업무 매뉴얼 | 전문 직원 |
| 역할 | 지식/가이드 제공 | 작업 실행 |
| 저장 위치 | /mnt/skills/ |
~/.claude/agents/ |
| 파일 형태 | 폴더 (여러 파일) | 단일 .md 파일 |
| 사용 환경 | Claude.ai + Claude Code | Claude Code 전용 |
| 호출 방식 | 자동 감지 | @에이전트명 |
| 컨텍스트 절약 | 스크립트 외부 실행 | 별도 컨텍스트에서 실행 |
핵심 차이 3가지
1. 역할이 다르다
Skills → "이렇게 하면 돼" (방법 알려줌)
서브에이전트 → "내가 해줄게" (직접 실행)
2. 사용 환경이 다르다
Skills → Claude.ai 웹에서도 사용 가능
서브에이전트 → Claude Code(터미널)에서만 사용
3. 컨텍스트 절약 방식이 다르다
Skills → 스크립트 코드를 컨텍스트에 안 넣음
서브에이전트 → 작업 과정을 메인 컨텍스트에 안 넣음
언제 뭘 써야 할까?
Skills를 쓰는 경우
- PDF, DOCX, PPTX 같은 파일 생성/처리
- 반복되는 작업의 표준화된 방법이 필요할 때
- Claude.ai 웹에서도 쓰고 싶을 때
예시:
"이 PDF 폼 채워줘" → pdf 스킬 자동 적용
"파워포인트 만들어줘" → pptx 스킬 자동 적용
서브에이전트를 쓰는 경우
- 여러 단계로 나눠서 작업할 때
- 전문 역할이 필요할 때 (리서치, 글쓰기, 검수 등)
- 복잡한 작업을 분업하고 싶을 때
예시:
"블로그 글 써줘"
→ @blog-researcher 리서치
→ @blog-writer 초안 작성
→ @blog-editor 검수
함께 쓰는 경우
Skills와 서브에이전트는 함께 쓸 수 있습니다:
@blog-writer 서브에이전트가
blog-writer 스킬의 가이드를 참조해서
글을 작성함
마무리
오늘 배운 것
| 개념 | 핵심 |
|---|---|
| Skills | 업무 매뉴얼, 외부 실행 + 결과만 수집 |
| 서브에이전트 | 전문 직원, 독립 컨텍스트에서 작업 |
기억할 공식
Skills = 매뉴얼 (어떻게 하는지)
서브에이전트 = 직원 (누가 하는지)
다음 글 예고
다음 글에서는 MCP(Model Context Protocol)를 다룹니다. Skills, 서브에이전트와 MCP는 뭐가 다를까요? 그리고 세 가지를 언제 어떻게 조합해서 쓰는지 실전 가이드를 알려드릴게요.