🎹바이브 코딩 마스터
Chapter 05

🔌플랫폼 핵심 개념

MCP, Agent, Plugin, Skills

AI 코딩 도구의 핵심 구성요소들을 MIDI와 VST에 비유하여 설명합니다.

25

플랫폼 핵심 개념 — MCP, Agent, Plugin, Skills

바이브 코딩 도구들을 본격적으로 사용하기 전에, 반드시 이해해야 할 핵심 개념들이 있습니다. 이 장에서는 AI 코딩 플랫폼의 근본 구조를 이루는 여섯 가지 개념을 하나씩 깊이 있게 살펴봅니다.

여러분이 음악을 공부하면서 "화성학", "대위법", "악기론" 같은 기초 이론을 배우듯이, 바이브 코딩에도 플랫폼을 이해하기 위한 기초 개념이 존재합니다. 이것들을 모르고 도구를 사용하면 마치 화성학을 모르고 편곡하는 것과 같습니다 — 어쩌다 괜찮은 결과가 나올 수는 있지만, 문제가 생겼을 때 왜 그런지 이해할 수 없고, 원하는 결과를 의도적으로 만들어낼 수 없습니다.


1. MCP (Model Context Protocol) — AI의 MIDI 컨트롤러

MCP란 무엇인가

MCP는 Model Context Protocol의 약자로, AI 모델이 외부 도구와 데이터에 접근할 수 있게 해주는 표준 프로토콜입니다. 2024년 말 Anthropic이 공개한 이 프로토콜은 빠르게 업계 표준으로 자리잡았습니다.

🎼 MIDI 컨트롤러로 비유하면

여러분의 DAW(Ableton Live)를 생각해보세요. Ableton 자체는 강력한 소프트웨어지만, 외부 MIDI 컨트롤러(예: Akai MPK Mini, Novation Launchpad)를 연결하면 훨씬 더 직관적이고 다양한 방식으로 조작할 수 있습니다.

MCP는 바로 이 MIDI 프로토콜과 같은 역할을 합니다.

  • AI 모델 = DAW (Ableton Live) — 핵심 두뇌
  • MCP = MIDI 프로토콜 — 연결 규약
  • MCP 서버(외부 도구) = MIDI 컨트롤러 — 파일 시스템, 데이터베이스, 웹 브라우저 등

MIDI 프로토콜 덕분에 어떤 제조사의 컨트롤러든 어떤 DAW에든 연결할 수 있듯이, MCP 덕분에 어떤 외부 도구든 어떤 AI 모델에든 연결할 수 있습니다.

MCP의 구성 요소

MCP는 세 가지 핵심 요소로 구성됩니다:

MCP Host (호스트): AI가 실행되는 환경입니다. Claude Code CLI, VS Code의 Copilot 등이 호스트입니다. 마치 DAW 소프트웨어가 설치된 컴퓨터와 같습니다.

MCP Client (클라이언트): 호스트 안에서 MCP 서버와 통신하는 모듈입니다. DAW 안의 MIDI 엔진처럼, 외부 장치와의 신호를 처리합니다.

MCP Server (서버): 실제로 기능을 제공하는 외부 도구입니다. 파일을 읽고 쓰는 filesystem 서버, 데이터베이스를 조회하는 sqlite 서버, 웹 브라우저를 제어하는 playwright 서버 등이 있습니다.

ℹ️ 실제 MCP 서버 예시

이 교재가 실행되는 서버에도 여러 MCP 서버가 연결되어 있습니다:

  • filesystem: 프로젝트 파일 읽기/쓰기
  • memory: 대화 간 지식을 저장하는 지식 그래프
  • playwright: 웹 브라우저 자동 제어
  • sqlite: SQLite 데이터베이스 직접 쿼리
  • fetch: 외부 URL에서 데이터 가져오기

이것들이 모두 MCP라는 표준 규약으로 AI에 연결됩니다.

왜 MCP가 중요한가

MCP가 없던 시절에는 각 AI 도구마다 고유한 방식으로 외부 도구를 연결해야 했습니다. 마치 MIDI가 표준화되기 전에 각 신디사이저 제조사마다 다른 연결 방식을 사용하던 것과 같습니다. Roland은 Roland 방식, Yamaha는 Yamaha 방식... 호환이 안 됐죠.

MCP 덕분에 이제 한 번 만든 도구 연결을 여러 AI 플랫폼에서 재사용할 수 있습니다.


2. Agent — 스스로 판단하고 행동하는 AI

Agent란 무엇인가

Agent(에이전트)는 AI가 단순히 질문에 답변하는 것을 넘어, 스스로 계획을 세우고, 도구를 사용하고, 결과를 확인하며, 필요하면 수정하는 자율적 작동 모드입니다.

🎼 지휘자로 비유하면

일반 AI 대화는 피아노 반주자와 같습니다. "여기서 포르테로 쳐주세요"라고 하면 그 부분만 포르테로 연주합니다. 매번 구체적인 지시가 필요하죠.

Agent 모드의 AI는 오케스트라 지휘자와 같습니다. "베토벤 5번 교향곡을 연주해주세요"라고 하면, 지휘자가 스스로:

  1. 악보를 분석하고 (문제 파악)
  2. 각 파트에 지시를 내리고 (도구 사용)
  3. 연주를 들으며 밸런스를 조정하고 (결과 확인)
  4. 필요하면 다시 지시를 내립니다 (반복 수정)

여러분은 "베토벤 5번"이라고만 말하면 됩니다. 나머지는 지휘자(Agent)가 알아서 처리합니다.

Agent의 작동 방식

Agent는 다음과 같은 루프를 반복합니다:

  1. 관찰(Observe): 현재 상황 파악 — 파일 구조 확인, 에러 메시지 읽기
  2. 사고(Think): 무엇을 해야 할지 판단 — "이 에러는 파일 경로 문제니까..."
  3. 행동(Act): 도구 사용 — 파일 수정, 명령어 실행
  4. 평가(Evaluate): 결과 확인 — "에러가 해결됐는가?"
  5. 해결될 때까지 1~4 반복
💡 바이브 코딩에서 Agent가 중요한 이유

바이브 코딩의 핵심은 "AI에게 원하는 것을 말하면 AI가 알아서 만들어준다"는 것입니다. 이것이 가능한 이유가 바로 Agent 모드 덕분입니다.

"MediaPipe로 손 제스처를 인식해서 Ableton의 볼륨을 조절하는 프로그램을 만들어줘"

이렇게 말하면 Agent가 알아서 필요한 라이브러리를 찾고, 코드를 작성하고, 실행해보고, 에러가 나면 수정합니다. 여러분은 결과만 확인하면 됩니다.


3. Sub Agent — 보조 연주자에게 파트를 맡기다

Sub Agent란 무엇인가

Sub Agent(서브 에이전트)는 메인 Agent가 복잡한 작업을 처리할 때, 특정 부분을 별도의 보조 AI에게 위임하는 방식입니다.

🎼 편곡 작업으로 비유하면

대규모 편곡 작업을 할 때, 편곡자 혼자 모든 파트를 쓰는 것은 비효율적입니다.

  • 메인 편곡자(Main Agent): 전체 구조와 방향을 결정
  • 현악 편곡 보조(Sub Agent 1): 바이올린, 비올라, 첼로 파트 담당
  • 관악 편곡 보조(Sub Agent 2): 플루트, 오보에, 클라리넷 파트 담당
  • 리듬 편곡 보조(Sub Agent 3): 드럼, 퍼커션 파트 담당

각 보조 편곡자는 자기 파트에 집중하고, 메인 편곡자가 결과를 취합하여 전체 오케스트레이션을 완성합니다. 이것이 Sub Agent의 작동 방식입니다.

실제 활용 예시

예를 들어, "웹사이트를 만들어줘"라고 요청하면:

  • Main Agent: 전체 프로젝트 구조 설계
  • Sub Agent A: HTML 구조 작성 (병렬 실행)
  • Sub Agent B: CSS 스타일링 (병렬 실행)
  • Sub Agent C: JavaScript 상호작용 (병렬 실행)
  • Main Agent: 각 결과를 통합하고 최종 확인

이렇게 하면 순차적으로 처리하는 것보다 훨씬 빠르게 작업이 완료됩니다.

ℹ️ Sub Agent 지원 현황

현재 Claude Code는 내부적으로 Sub Agent(Task 도구)를 활발히 사용합니다. Codex CLI는 아직 Sub Agent를 명시적으로 지원하지 않으며, Gemini CLI도 유사한 기능을 개발 중입니다.


4. Plugin — VST 플러그인처럼 기능을 확장하다

Plugin이란 무엇인가

Plugin(플러그인)은 AI 코딩 도구의 기능을 확장하는 추가 모듈입니다. 기본 도구에 없는 기능을 설치해서 추가할 수 있습니다.

🎼 VST 플러그인으로 비유하면

Ableton Live에 기본으로 탑재된 이펙터와 악기만으로도 음악을 만들 수 있지만, Serum(신디사이저), FabFilter Pro-Q(EQ), Valhalla Reverb(리버브) 같은 서드파티 VST 플러그인을 설치하면 훨씬 다양하고 전문적인 사운드를 만들 수 있죠.

AI 코딩 도구의 Plugin도 마찬가지입니다:

  • 기본 기능 = Ableton의 내장 악기/이펙터
  • Plugin = 서드파티 VST 플러그인
  • Plugin 마켓/레지스트리 = Splice나 Plugin Boutique 같은 스토어

Plugin vs MCP — 무엇이 다른가

이 두 개념은 비슷해 보이지만 중요한 차이가 있습니다.

MCP 서버: AI가 실행 중에 외부 도구를 호출하는 통신 규약입니다. 마치 MIDI 컨트롤러가 실시간으로 DAW에 신호를 보내는 것과 같습니다.

Plugin: AI 도구 자체의 기능을 확장하는 설치형 모듈입니다. 마치 VST 플러그인을 DAW에 설치해두는 것과 같습니다.

💡 간단한 구분법
  • MCP = "외부 장비와의 연결 방식" (MIDI 프로토콜)
  • Plugin = "소프트웨어에 추가 설치하는 기능" (VST 플러그인)

MCP는 프로토콜(규약)이고, Plugin은 소프트웨어(모듈)입니다. 실제로는 많은 Plugin이 내부적으로 MCP를 사용하기도 합니다.


5. Skills — 미리 정의된 작업 매크로

Skills란 무엇인가

Skills(스킬)은 자주 사용하는 복잡한 작업을 하나의 명령어로 실행할 수 있도록 미리 정의해둔 작업 매크로입니다.

🎼 DAW 프리셋으로 비유하면

Ableton에서 보컬 녹음을 할 때마다 매번 이런 과정을 반복하시나요?

  1. 오디오 트랙 생성
  2. 입력을 마이크로 설정
  3. EQ에서 80Hz 이하 컷
  4. 컴프레서 추가 (ratio 3:1)
  5. 리버브 센드 설정

이 과정을 **"보컬 녹음 프리셋"**으로 저장해두면, 다음부터는 프리셋 하나만 불러오면 모든 설정이 자동으로 적용됩니다.

Skills가 바로 이런 프리셋입니다.

예를 들어, /blog-draft라는 Skill을 만들어두면, "블로그 초안을 작성하는 데 필요한 모든 단계"가 하나의 명령으로 실행됩니다.

Skills의 실제 구조

Claude Code에서 Skills는 마크다운 파일로 정의됩니다. 프로젝트의 .claude/commands/ 폴더에 저장하면 슬래시 명령어로 사용할 수 있습니다.

.claude/commands/mediapipe-setup.mdmarkdown

이렇게 저장해두면, 앞으로 /mediapipe-setup이라고만 입력하면 위의 모든 단계가 자동으로 실행됩니다.

💡 여러분만의 Skills 만들기

TouchDesigner + MediaPipe 작업을 자주 한다면, 이런 Skills를 미리 만들어두세요:

  • /td-osc-bridge — TouchDesigner OSC 통신 설정
  • /hand-gesture — 손 제스처 인식 기본 코드 생성
  • /ableton-midi — Ableton MIDI 연결 설정

한 번 만들어두면 매번 같은 설명을 AI에게 반복할 필요가 없습니다.


6. Hooks — 특정 이벤트에 자동 반응

Hooks란 무엇인가

Hooks(훅)은 특정 이벤트가 발생했을 때 자동으로 실행되는 동작을 정의하는 메커니즘입니다.

🎼 MIDI 트리거로 비유하면

Ableton에서 MIDI 트리거를 설정해본 적이 있나요?

예를 들어:

  • 드럼 패드를 누르면 → 특정 샘플이 재생됨
  • 페이더를 움직이면 → 볼륨이 변경됨
  • 풋 페달을 밟으면 → 루프 녹음이 시작됨

이처럼 "어떤 동작이 발생하면 → 자동으로 다른 동작이 실행되는" 것이 트리거입니다.

Hooks도 정확히 같은 원리입니다:

  • 파일이 저장되면 → 자동으로 코드 포맷팅 실행
  • 커밋 전에 → 자동으로 테스트 실행
  • AI가 응답하기 전에 → 자동으로 프로젝트 규칙 확인

Hooks의 종류

Claude Code에서는 다양한 시점에 Hook을 걸 수 있습니다:

PreToolCall: AI가 도구를 사용하기 직전에 실행됩니다. 마치 녹음 버튼을 누르기 직전에 자동으로 메트로놈이 켜지는 것과 같습니다.

PostToolCall: AI가 도구를 사용한 직후에 실행됩니다. 녹음이 끝나면 자동으로 노멀라이즈가 적용되는 것과 같습니다.

Notification: AI가 사용자에게 알림을 보낼 때 실행됩니다. 마스터링이 완료되면 자동으로 이메일 알림이 가는 것과 같습니다.

settings.jsonjson

플랫폼별 개념 지원 비교

지금까지 배운 여섯 가지 개념이 각 플랫폼에서 어떻게 지원되는지 비교해봅시다.

🔥 핵심 정리

이 여섯 가지 개념은 서로 독립적이 아니라 유기적으로 연결됩니다:

  1. Agent가 작업을 계획하고
  2. MCP를 통해 외부 도구에 접근하며
  3. 복잡한 작업은 Sub Agent에게 위임하고
  4. Plugin으로 확장된 기능을 활용하며
  5. 자주 쓰는 패턴은 Skills로 저장하고
  6. 반복적인 동작은 Hooks로 자동화합니다

마치 오케스트라에서 지휘자(Agent), 악보(Skills), 악기(MCP/Plugin), 각 파트 수석(Sub Agent), 큐 사인(Hooks)이 모여 하나의 음악을 만드는 것과 같습니다.


실습: 개념 확인하기

지금까지 배운 개념을 정리하며, 다음 질문에 스스로 답해보세요:

  1. TouchDesigner에서 MediaPipe 데이터를 받으려면 어떤 MCP 서버가 필요할까?
  2. "손을 흔들면 리버브가 켜지는 프로그램을 만들어줘"라고 AI에게 말하면, Agent는 어떤 순서로 작업할까?
  3. 매번 "OSC 포트를 9000번으로 설정해줘"라고 반복하지 않으려면 어떤 개념을 활용해야 할까?

이 질문들에 대한 답을 생각해보면, 여섯 가지 개념이 실제 작업에서 어떻게 활용되는지 감을 잡을 수 있을 것입니다.

다음 장에서는 CLI 도구의 안전장치와 권한 설정에 대해 알아봅니다. AI에게 얼마나 많은 자유를 줄 것인지, 그리고 그에 따른 위험은 무엇인지 배웁니다.