Claude Code의 확장 메커니즘들을 비교 분석해봅시다.

Agents, Custom Command(Workflow라고 부르는 분도 있습니다.) 그리고 이것들을 묶어 주는 Plugin이 있습니다. 이 때, Skill도 추가되었는데요. Plugin과 따로 쓸 수도 있다고 합니다.

1. Agents (Sub-agents)

개념

특정 전문 분야에 특화된 AI 페르소나로, Claude Code가 작업을 위임할 수 있는 전문가들입니다.

구조

---
name: bug-analyst
description: Issue triage and classification expert
tools: []
---

# Agent Definition
You are a specialized bug analyst expert...

특징

  • 위치: ~/.claude/agents/ 또는 프로젝트 내 .claude/agents/
  • 자동 감지: Claude Code가 자동으로 로드
  • 동적 호출:
    • 자동: Claude가 컨텍스트 분석 후 적절한 agent 선택
    • 수동: "Use the bug-analyst agent to..."
  • 병렬 실행: 여러 agent를 동시에 실행 가능
  • 토큰 사용: 각 agent가 독립적인 컨텍스트를 가지므로 토큰 사용량 증가

사용 예시

# 자동 선택
"Analyze this bug and suggest a fix"
→ Claude가 bug-analyst 선택

# 명시적 호출
"Have the backend-architect review this API design"

장점

  • ✅ 전문성 분리 (separation of concerns)
  • ✅ 컨텍스트 격리로 명확한 역할 구분
  • ✅ 재사용성 높음
  • ✅ 팀 간 공유 가능

단점

  • ❌ 높은 토큰 소비
  • ❌ 각 agent마다 컨텍스트 로딩 필요
  • ❌ Agent 간 통신 오버헤드

2. Custom Commands (Workflows)

개념

미리 정의된 작업 시퀀스를 슬래시 명령어로 실행하는 워크플로우 자동화 도구입니다.

구조

---
name: bug-fix-workflow
description: Systematic bug investigation and resolution
---

# Bug Fix Workflow

When this command is invoked with /bug-fix-workflow [description]:

1. **Bug Analysis Phase**
   - Use QA Test Engineer to reproduce the bug
   - Document the reproduction steps

2. **Implementation Phase**
   - Use Implementation Engineer to fix the bug

3. **Validation Phase**
   - Use QA Test Engineer to validate the fix

특징

  • 위치: ~/.claude/commands/ 또는 .claude/commands/
  • 호출 방식: /command-name [arguments]
  • 순차 실행: 정해진 순서대로 agent들을 오케스트레이션
  • 워크플로우 정의: 복잡한 다단계 프로세스 자동화
  • 품질 게이트: 각 단계별 검증 포인트 설정 가능

사용 예시

/bug-fix-workflow "User login fails with 500 error"

/feature-workflow "Create user authentication with JWT"

/code-review-workflow src/components/

장점

  • ✅ 복잡한 워크플로우 자동화
  • ✅ 일관된 프로세스 보장
  • ✅ 여러 agent를 조율하는 오케스트레이션
  • ✅ 재현 가능한 작업 흐름

단점

  • ❌ 유연성 부족 (미리 정의된 순서)
  • ❌ 수정하려면 파일 편집 필요
  • ❌ 조건부 분기 구현이 복잡

3. Claude Code Plugins (최신 추가)

개념

모듈식 패키지 시스템으로, agents + commands + skills를 하나의 논리적 단위로 묶어 관리합니다.

구조

plugin-name/
├── agents/           # 관련 agents
│   ├── agent1.md
│   └── agent2.md
├── commands/         # 관련 commands
│   └── workflow.md
├── skills/           # 지식 패키지
│   ├── skill1.md
│   └── skill2.md
└── plugin.json       # 메타데이터

특징

  • 위치: ~/.claude/plugins/ 또는 프로젝트 내
  • 설치 방식:
  • /plugin install python-development/plugin install kubernetes-operations
  • 점진적 로딩: 필요할 때만 활성화 (progressive disclosure)
  • 스킬 시스템: 자동 활성화되는 전문 지식 패키지
  • 의존성 관리: 플러그인 간 의존성 정의 가능
  • 마켓플레이스: 중앙화된 플러그인 저장소

Skills의 개념

---
name: kubernetes-deployment
type: skill
activates_on: ["kubernetes", "k8s", "deployment"]
---

# Kubernetes Deployment Skill
This skill provides specialized knowledge about...
  • 특정 키워드나 컨텍스트에서 자동 활성화
  • Agent에게 전문 지식을 "주입"
  • 토큰 효율적 (필요할 때만 로드)

사용 예시

# 플러그인 설치
/plugin install python-development

# 자동 활성화
"Create a FastAPI microservice"
→ python-development 플러그인의 agents, skills 활성화
→ 관련 commands 사용 가능

# 플러그인 전용 명령어
/python-development:python-scaffold fastapi-microservice

장점

  • 모듈화: 관련 기능을 논리적으로 그룹화
  • 토큰 효율성: 필요한 것만 로드 (최소 토큰 사용)
  • 버전 관리: 플러그인 단위로 업데이트
  • 의존성 해결: 자동으로 필요한 플러그인 설치
  • 컴포저빌리티: 여러 플러그인 조합 가능
  • 배포 용이성: 팀 전체에 표준화된 도구 배포

단점

  • ❌ 최신 기능 (일부 도구만 지원)
  • ❌ 설정 복잡도 증가
  • ❌ 플러그인 간 충돌 가능성

비교표

특성 Agents Commands Plugins
추상화 수준 낮음 (개별 전문가) 중간 (워크플로우) 높음 (모듈 패키지)
재사용성 ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐⭐
토큰 효율성 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐
유연성 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐
설정 난이도 쉬움 중간 복잡
활성화 방식 자동/수동 수동 (/cmd) 자동/설치
배포 편의성 파일 복사 파일 복사 패키지 관리
버전 관리
의존성 관리

실제 사용 시나리오

Scenario 1: 단순 전문가 자문

"Review this code for security issues"

최적: Agent (security-auditor)

  • 단일 전문가의 의견만 필요
  • 빠르고 직접적

Scenario 2: 복잡한 다단계 프로세스

/feature-workflow "User authentication system"

최적: Command (workflow)

  • 여러 단계를 거쳐야 함
  • 품질 게이트 필요
  • 일관된 프로세스 보장

Scenario 3: 특정 기술 스택 작업

/plugin install python-development
"Create a FastAPI app with SQLAlchemy"

최적: Plugin

  • 관련된 모든 도구 한번에 활성화
  • 자동으로 적절한 skills 로드
  • 토큰 효율적

아키텍처 관점

Layer 구조

┌─────────────────────────────────────┐
│         Plugins (최상위)             │
│  - python-development                │
│  - kubernetes-operations             │
└────────────┬────────────────────────┘
             │ contains
    ┌────────┴─────────┐
    │                  │
┌───▼──────────┐  ┌───▼──────────┐
│   Agents     │  │  Commands    │
│  (전문가)     │  │ (워크플로우)  │
└──────────────┘  └──────────────┘
         │              │
         └──────┬───────┘
                │ uses
         ┌──────▼──────┐
         │   Skills    │
         │ (지식 패키지) │
         └─────────────┘

권장 사항

언제 Agent를 사용할까?

  • ✅ 단일 전문가의 의견이 필요할 때
  • ✅ 유연한 대화형 상호작용이 필요할 때
  • ✅ 빠른 프로토타이핑

언제 Command를 사용할까?

  • ✅ 반복적인 다단계 프로세스
  • ✅ 팀 전체가 따라야 하는 표준 워크플로우
  • ✅ 품질 게이트가 필요한 프로세스

언제 Plugin을 사용할까?

  • ✅ 관련 기능을 패키지로 배포
  • ✅ 토큰 효율성이 중요할 때
  • ✅ 버전 관리와 의존성 해결이 필요할 때
  • ✅ 대규모 팀에서 표준화된 도구 배포

진화 경로

2024 초반: Agents만 존재
    ↓
2024 중반: Commands 추가 (워크플로우 오케스트레이션)
    ↓
2024 후반/2025: Plugins 도입 (모듈화 + 토큰 효율성)

Plugins는 Agents와 Commands의 장점을 결합하면서 토큰 효율성과 배포 편의성을 크게 개선한 최신 접근 방식입니다.

첨부하신 bug-analyst.mdAgent 형식이므로, Plugin 시스템으로 마이그레이션하면 다음과 같은 구조가 될 것입니다:

bug-analysis-plugin/
├── agents/
│   ├── bug-analyst.md
│   ├── error-detective.md
│   ├── code-diagnostician.md
│   └── fix-architect.md
├── commands/
│   └── bug-fix-workflow.md
├── skills/
│   ├── python-debugging.md
│   └── react-debugging.md
└── plugin.json

이렇게 구조화하면 /plugin install bug-analysis로 한번에 모든 버그 분석 도구를 활성화할 수 있습니다! 아참, Plugin은 Maketplace로 만들어야 됩니다. 다른 plugin 참고하세요.

Claude Code에서 Plugin을 발표했는데, Agent + Workflow(Custome Command)에 Skill (RAG의 Knowledge를 추가하는 것으로 이해하고 있다.)을 지원하는 것이다. 여기서는 동일한 PRD를 기지고 유사한 기능을 수행해보았다. workflow는 [1]의 "/feature-workflow"를 사용하였고, 이를 plugin으로 구현한 [2]의 "/product-design-toolkit:feature-workflow"를 사용하였다.


테스트 케이스

프로젝트: Task Management Dashboard
규모: 40시간 (2주)
복잡도: 중간 (표준 CRUD 애플리케이션)
팀 크기: 1명


핵심 결과

토큰 사용량 비교 (40시간 프로젝트)

단계 Plugin Manual 차이
Planning 50K 20K +150%
Implementation 900K 120K +650%
총합 960K 140K +586%

핵심 발견

  1. Plugin은 Manual 대비 6.9배 토큰 사용
  2. 토큰 낭비의 62%는 중복 컨텍스트 로딩
    • Plugin: PRD 60회 로드 (900K tokens)
    • Manual: PRD 1회 로드 (15K tokens)
  3. Break-even point: 150-200시간 프로젝트

프로젝트 규모별 권장

규모 권장 방식 이유
< 100시간 Manual Plugin 6배 비효율
100-200시간 Hybrid 60% 토큰 절감
200시간+ Plugin 일관성/품질 필요

Plugin은 어디에 써야 할까? : Plugin이 강점을 보이는 시나리오

1. 엔터프라이즈 프로젝트 (1000시간+)

팀: 12명+
규모: 50+ 마이크로서비스
복잡도: 매우 높음

Manual: 3,500K tokens (컨텍스트 관리 불가)
Plugin: 2,700K tokens (23% 절감) ✅

가치:
- 팀 간 일관된 패턴 강제
- 자동화된 품질 게이트
- 컨텍스트 서비스별 분산

2. 반복 작업 자동화 (API 100개 생성)

Manual: 302K tokens
Plugin: 65K tokens (78% 절감) ✅

이유:
- 템플릿 기반 자동 생성
- 초기 설정 후 재사용
- 일관된 코드 품질

3. 레거시 마이그레이션 (100,000 LoC)

Manual: 불가능 (컨텍스트 한계 초과)
Plugin: 가능 ✅

가치:
- Code Explorer: 구조 분석
- Impact Analyzer: 변경 영향도 자동 평가
- Migration Planner: 단계별 계획
- 컨텍스트 분산으로 대규모 처리

Break-even Point

프로젝트 규모 권장 방식 이유
< 100시간 Manual Plugin 6배 비효율
100-200시간 Hybrid 60% 토큰 절감
200시간+ Plugin 일관성/품질 우선

Hybrid 구조:

Planning (Plugin): 50K
Implementation (Manual): 80K  
Critical Review (Plugin): 30K
Final QA (Plugin): 20K
──────────────────────────
총 180K tokens (예산 90% 사용)

핵심 결론

  1. Anthropic 주장에 따르면...
    • 전제: 대규모/복잡한 프로젝트
    • 우리 실험: 중소규모 프로젝트
    • → 결론이 다를 수밖에 없음
  2. 규모가 모든 것을 결정
    • 작은 프로젝트: Manual 압도적 효율
    • 큰 프로젝트: Plugin 필수 도구
  3. 대부분의 실무는 Hybrid가 최적
    • Planning 구조화 (Plugin)
    • Implementation 속도 (Manual)
    • QA 품질 보증 (Plugin)

참고 문서

[1] claude-coade-agents-workflow: https://github.com/omersaraf/claude-code-agents-workflow

[2] claude-dev-agent-toolkit: https://github.com/blcktgr73/claude-dev-agent-toolkit

+ Recent posts