INTRODUCTION
바이브 코딩이란?
코드를 직접 쓰지 않고, 자연어 대화로 소프트웨어를 만드는 방식
"There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
— Andrej Karpathy, Feb 2025
비교: 기존 방식 vs 바이브 코딩
왜 AI 연구원에게 중요한가?
실험 도구 자동화
데모/시각화 직접 제작
반복 작업 스크립트화
도구 비교
| 도구 | 유형 | 특징 |
|---|---|---|
| Cursor | IDE (VS Code fork) | GUI 기반, 코드 에디터 내장 |
| Windsurf | IDE | AI Flow 기반 자동 완성 |
| Claude Code | CLI (터미널) | 에이전틱, 도구 호출, 확장성 |
| GitHub Copilot | IDE 플러그인 | 자동완성 중심 |
WHAT IS CLAUDE CODE
Claude Code 소개
터미널에서 돌아가는 AI 코딩 에이전트
You
자연어 프롬프트
Claude Code
에이전트 엔진
Tools
파일/Git/터미널/웹
에이전트 동작 루프
사용자 요청
의도 파악
Read/Edit/Bash
파일 수정
결과 확인
목표를 달성할 때까지 자율적으로 반복합니다
모델 선택
Sonnet 4
빠르고 효율적 — 일반 코딩 작업
Opus 4
깊은 추론 — 복잡한 아키텍처 설계
사용 플랫폼
CLI
claude 명령어로 실행
VS Code
Extension 설치
JetBrains
Plugin 설치
Web
claude.ai/code
IDE 도구 (Cursor, Copilot): 에디터 안에서 코드 자동완성/수정
Claude Code: 에이전트가 직접 파일 읽기/쓰기/실행, 멀티스텝 작업을 자율적으로 수행
GETTING STARTED
시작하기
5분이면 시작할 수 있습니다
인증 방법
API Key
ANTHROPIC_API_KEY 환경변수 — 사용량 기반 과금
Claude Max 구독
브라우저 인증 — 월정액 ($100/mo)
Permission 모드
| 모드 | 자동 승인 | 추천 상황 |
|---|---|---|
| default | 읽기만 | 처음 시작할 때 |
| acceptEdits | 읽기 + 편집 | 코드 작업할 때 |
| plan | 읽기만 (계획) | 큰 작업 전 탐색 |
| auto | 전부 | 긴 자율 작업 |
Slash Commands
CUSTOMIZE
CLAUDE.md
매 세션마다 자동 로드되는 프로젝트 설명서
안쪽이 바깥을 override — Project가 가장 우선
서브에이전트가 참조하는 전용 지침 파일
.claude/agents/ 폴더에 커스텀 에이전트 정의 가능
메인 CLAUDE.md와 별도로, 에이전트별 행동 규칙 설정
CUSTOMIZE
Memory
세션이 끝나도 사라지지 않는 지속적 기억
Memory란?
CLAUDE.md가 사용자가 작성하는 규칙이라면, Memory는 Claude가 스스로 쌓아가는 기억입니다. 대화 중 파악한 사용자 역할, 선호도, 프로젝트 맥락을 파일로 저장하여 다음 세션에서도 기억합니다.
동작 방식
대화 중 학습
사용자 정보, 피드백
프로젝트 맥락 파악
파일로 저장
memory/ 폴더에
마크다운 파일 생성
다음 세션에 활용
MEMORY.md 인덱스로
관련 기억 자동 참조
4가지 메모리 유형
역할, 기술 수준, 선호하는 협업 방식
"나는 데이터 사이언티스트야"
교정, 확인된 접근법, 행동 지침
"테스트에서 DB 목킹 하지 마"
진행 중인 작업, 마감일, 의사결정 배경
"4/10부터 코드 프리즈"
외부 시스템 위치, 대시보드, 문서 링크
"버그는 Linear INGEST 프로젝트에"
저장 구조
Memory가 동작하는 모습
CLAUDE.md vs Memory
| CLAUDE.md | Memory | |
|---|---|---|
| 작성자 | 사용자가 직접 | Claude가 자동으로 |
| 공유 범위 | git으로 팀 공유 | 로컬 개인 메모 |
| 내용 | 프로젝트 규칙, 빌드 명령 | 사용자 선호, 피드백, 맥락 |
| 관리 | 수동 편집 | 대화 중 자동 축적 |
핵심 인사이트
CLAUDE.md가 프로젝트의 규칙이라면, Memory는 사용자와의 관계입니다. 함께 일할수록 Claude는 당신의 스타일에 맞게 적응합니다.
CUSTOMIZE
Skills
재사용 가능한 커스텀 /명령어
Skills의 두 가지 형태
① Commands (간단)
② Skills (고급)
SKILL.md 예시
실행 예시
Commands vs Skills 비교
| Commands | Skills | |
|---|---|---|
| 위치 | .claude/commands/*.md | .claude/skills/*/SKILL.md |
| 구조 | 마크다운 파일 1개 | 폴더 (SKILL.md + 보조 파일) |
| 설정 | frontmatter 선택 | frontmatter 필수 (name, description 등) |
| 적합 | 간단한 프롬프트 템플릿 | 복잡한 워크플로우, 참조 파일 필요 시 |
마켓플레이스에서 다른 사용자가 만든 스킬을 검색하고 설치 가능
예: /commit-smart, /review-pr, /debug 등 바로 사용 가능한 워크플로우
EXTEND
MCP
AI가 외부 서비스를 연결하는 표준 프로토콜
Claude Code
에이전트
MCP Server
프로토콜 변환
외부 서비스
GitHub, DB, Slack...
Code
MCP 서버를 통해 다양한 외부 서비스에 연결
인기 MCP 서버
Playwright
브라우저 자동화/테스트
PostgreSQL
DB 조회/마이그레이션
Slack
메시지 전송/채널 관리
Web Search
웹 검색 결과 활용
• 논문 데이터베이스 조회 — PubMed, arXiv 검색 자동화
• 실험 결과 시각화 — matplotlib/plotly 그래프 자동 생성
• 서버 데이터 직접 접근 — SSH를 통한 원격 서버 조작
AUTOMATE
Hooks
이벤트 발생 시 자동 실행되는 명령
PreToolUse
차단 가능도구 실행
PostToolUse
후처리세션 라이프사이클에서 Hook 발동 시점
SessionStart
환경 로드, 컨텍스트 주입
사용자 프롬프트 입력
PreToolUse
도구 실행 전 검증 · 차단 가능
도구 실행 (Read, Edit, Bash...)
PostToolUse
자동 포맷팅, 린트, 로깅
Claude 응답 생성
Notification
입력 대기 시 데스크톱 알림
| Hook | 시점 | 활용 예시 |
|---|---|---|
| PreToolUse | 도구 실행 전 | 위험한 명령 차단 |
| PostToolUse | 도구 실행 후 | 자동 포맷팅, 린트 |
| Notification | 입력 대기 시 | 데스크톱 알림 |
| SessionStart | 세션 시작 시 | 환경 변수 로드 |
설정 위치: ~/.claude/settings.json 또는 .claude/settings.json
실제 사용 예시 (현재 설정에서 발췌)
Hook: PreToolUse → Bash 명령 감지 → dangerous-command-blocker.py 실행
rm -rf /, .git, .claude, .env 등 위험 경로를 패턴 매칭으로 자동 차단 (exit 2 = 차단)
Hook: PreToolUse → git commit 감지 → secret-scanner.py 실행
AWS, OpenAI, Stripe, GitHub 등 40개+ API 키 패턴을 정규식으로 스캔, 발견 시 커밋 차단
ORCHESTRATE
Agent & Multi-Agent
Claude가 하위 에이전트를 만들어 병렬 작업
커스텀 에이전트 만들기
폴더 구조
AGENT.md 예시
자동 위임: Claude가 요청 내용과 에이전트의 description을 매칭하여 자동으로 적합한 에이전트에게 작업을 위임합니다
main branch
Worktree A
Agent 1: 프론트엔드
Worktree B
Agent 2: 백엔드
결과 병합
| 항목 | Subagent | Agent Teams |
|---|---|---|
| 컨텍스트 | 자체 윈도우, 요약 반환 | 완전 독립 세션 |
| 통신 | 호출자에게만 보고 | 에이전트 간 직접 메시지 |
| 조율 | 메인 에이전트가 관리 | 공유 태스크 리스트 |
| 적합 | 집중된 단일 작업 | 복잡한 다각도 작업 |
Agent Teams
Experimental• 환경변수 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 로 활성화
• 여러 Claude 인스턴스가 팀으로 협업
• tmux/iTerm2에서 분할 패널로 동시 관찰 가능
• claude -p "프롬프트": 비대화형 실행 (스크립트, CI 파이프라인용)
• Claude Agent SDK: 커스텀 에이전트 애플리케이션 구축
• 출력 포맷: --output-format text|json|stream-json
EXTEND
Plugins
Skills, Hooks, MCP, Agent를 패키지로 묶어 설치하고 공유
Plugin = 확장 패키지
Skills, Hooks, Agent, MCP 서버를 하나로 묶은 재사용 가능한 패키지. 마켓플레이스를 통해 설치하고 팀 간 공유할 수 있습니다.
| 구성 요소 | 범위 | 공유 방식 |
|---|---|---|
| Plugin | 여러 기능을 하나로 묶음 | 마켓플레이스로 배포 |
| Skill | 단일 커스텀 명령어 | .claude/commands/ (프로젝트별) |
| MCP | 외부 서비스 연결 | settings.json 설정 |
| Hook | 이벤트 자동화 | settings.json 설정 |
설치 방법
$ /plugin marketplace add source
# 플러그인 설치
$ /plugin install name@marketplace
# 플러그인 관리 UI
$ /plugin
공식 마켓플레이스 주요 플러그인
Code Intelligence
Python, TypeScript, Go 등 LSP 기반 코드 분석
GitHub / GitLab
PR, 이슈, CI/CD 통합
Figma / Slack / Sentry
디자인, 커뮤니케이션, 모니터링 연동
커뮤니티 플러그인
superpowers, octopus 등 워크플로우 확장
"enabledPlugins": {
"code-intel@official": true,
"github@official": true
}
}
PUTTING IT ALL TOGETHER
하네스 엔지니어링
코드를 쓰는 것이 아니라, AI가 코드를 잘 쓰도록 환경을 설계하는 것
하네스(Harness)란?
Claude Code를 둘러싼 모든 설정의 총체입니다. CLAUDE.md, Skills, MCP, Hooks, Agents, Plugins — 이것들을 조합하여 AI가 내 프로젝트에 맞게 동작하도록 설계하는 것이 하네스 엔지니어링입니다.
하네스 구성 요소
패러다임의 전환
과거
"내가 코드를
직접 쓰는 것"
문법, 프레임워크
디버깅 스킬
현재
"AI에게 잘
지시하는 것"
프롬프트 엔지니어링
컨텍스트 설계
다음
"AI가 잘 작동하는
환경을 설계하는 것"
하네스 엔지니어링
자동화, 도구, 안전장치
프롬프트 엔지니어링은 "이번 대화에서 어떻게 지시할까"에 집중합니다. 하네스 엔지니어링은 한 단계 더 나아가, 매번 좋은 프롬프트를 치지 않아도 AI가 알아서 잘 동작하도록 환경 자체를 설계합니다.
좋은 하네스의 3원칙
반복 제거
매번 같은 지시를 반복하지 않도록
CLAUDE.md와 Skills로 고정
안전장치
위험한 명령 차단, 시크릿 유출 방지
Hooks로 자동화된 가드레일
팀 공유
프로젝트 .claude/ 폴더를 git에 커밋
팀 전체가 같은 하네스 사용
실제 하네스 구성 예시
하네스가 동작하는 모습
핵심 인사이트
하네스 엔지니어링의 목표는 "claude 하나만 치면 모든 것이 준비되는 환경"을 만드는 것입니다.
한 번 잘 설계해두면, AI는 매번 프로젝트 규칙을 알고, 안전장치 안에서 작동하며, 필요한 도구에 접근하고, 반복 작업을 자동으로 처리합니다.
WRAP UP
마무리
어디서부터 시작할까?
첫 걸음: 내 프로젝트에서 Claude 실행하기
공식 문서
docs.anthropic.com/claude-code
Claude Code Tips
커뮤니티 팁 모음
질문이 있으신가요?