Claude Code는 터미널에서 자연어 명령으로 코드베이스를 이해하고 파일 편집·명령 실행·git 워크플로를 자동 처리하는 AI 코딩 에이전트다. "이 버그 고쳐줘"라고 말하면, AI가 코드를 읽고 → 수정하고 → 테스트하고 → 커밋까지 해주는 도구다.
Copilot이 "다음 줄을 자동완성해주는 자동완성기"라면, Claude Code는 "프로젝트 전체 구조를 파악한 뒤 '이 기능 추가해줘'에 파일 수정부터 테스트 실행, git 커밋까지 직접 처리"하는 에이전트다.
핵심은 에이전트 루프다. AI가 도구(파일 읽기, bash 실행, 편집)를 선택하고 → 실행하고 → 결과를 다시 AI에게 먹이는 순환이 반복된다. 이 루프가 사람의 개입 없이 복잡한 작업을 완수한다.
GitHub Copilot은 자동완성 위주로 전체 기능 구현은 불가. Cursor는 IDE에 종속되어 CI/CD 파이프라인에 직접 통합 불가. ChatGPT는 코드베이스를 모른다.
50개+ 도구를 사용해 코드베이스 전체를 탐색하고, 파일 편집 → 테스트 실행 → 버그 수정 → 커밋을 자연어 명령 한 번으로 완수. 터미널 네이티브라 GitHub Actions·스크립트·자동화 파이프라인에 직접 통합된다.
| 비교 대상 | Claude Code 장점 |
|---|---|
| GitHub Copilot | Copilot은 자동완성 위주. Claude Code는 "전체 기능 구현 → 테스트 → 커밋"까지 에이전트 방식 |
| Cursor | Cursor는 IDE 종속. Claude Code는 터미널 네이티브로 CI/CD·자동화 파이프라인에 직접 통합 |
| OpenAI Codex | Codex CLI도 터미널 기반이지만, Claude Code의 Hooks·플러그인·멀티에이전트 시스템이 더 성숙 |
| Windsurf / Cline | 오픈소스 대안들 대비 Anthropic 직접 유지보수로 안정성·보안·업데이트 속도 우위 |
| 기술 | 역할 | 상세 |
|---|---|---|
| TypeScript | 핵심 에이전트 루프 | 50+ 도구를 관리하는 에이전트 엔진 |
| Node.js 18+ | 런타임 | npm 패키지로 배포 (@anthropic-ai/claude-code) |
| Claude API | AI 추론 | Anthropic API를 통해 Claude 모델과 통신 |
| JSONL | 세션 저장 | ~/.claude/projects/<project>/<uuid>.jsonl로 대화 기록 |
| MCP | 외부 도구 연동 | OAuth 2.0 + RFC 9728 기반 표준 프로토콜 |
| 기술 | 역할 | 상세 |
|---|---|---|
| 터미널 TUI | 기본 인터페이스 | 게임 엔진 기법 — Int32Array 문자 풀링, 비트마스크 스타일 인코딩 |
| VS Code Extension | IDE 통합 | 인라인 Diff 뷰, @-멘션, 플랜 리뷰 |
| JetBrains Plugin | IDE 통합 | IntelliJ, PyCharm, WebStorm 등 지원 |
| Electron (Desktop) | 데스크톱 앱 | macOS, Windows 지원. 비주얼 Diff, 멀티 세션 |
| Web (claude.ai/code) | 브라우저 버전 | 로컬 설치 없이 클라우드에서 실행 |
| 기술 | 역할 | 상세 |
|---|---|---|
| DevContainer | 개발 환경 | .devcontainer/ 설정으로 재현 가능한 환경 |
| GitHub Actions | CI/CD | 12개 워크플로 — PR 리뷰, 이슈 분류 자동화 |
| iptables / ipset | 네트워크 보안 | 컨테이너 내 방화벽 규칙 |
| Sandbox | 실행 격리 | Bash 명령 실행 시 샌드박스 환경 |
메인 에이전트가 Task Tool로 서브에이전트를 spawn하고, 각 서브에이전트는 독립된 git worktree에서 작업해 메인 디렉토리를 오염시키지 않는다.
CSS 캐스케이드처럼 5단계 설정이 상속된다. Enterprise(Managed) 설정이 최우선이라 회사가 "rm -rf 금지"를 설정하면 개인이 풀 수 없다. Local(.claude/settings.local.json)이 Project(.claude/settings.json)보다 높고, User(~/.claude/settings.json)가 최하위다.
| Hook | 언제 | 용도 |
|---|---|---|
| SessionStart | 세션 시작 시 | 환경 변수 설정, 컨텍스트 로드 |
| PreToolUse | 도구 실행 전 | 위험한 명령 차단, 입력 수정 |
| PostToolUse | 도구 실행 후 | 결과 검증, 로깅 |
| Stop | 응답 완료 시 | 자동 포맷팅, 검증 |
| TaskCreated | 서브에이전트 생성 | 명명 규칙 강제, 테스트 요구 |
Bash 명령 실행 전 23개 보안 검사를 통과해야 한다 — Zsh 등호 확장 공격 방어, 제로폭 유니코드 인젝션 감지, IFS 널바이트 인젝션 차단, 네이티브 클라이언트 암호화 해시 검증.
플러그인 구조 표준: commands/(슬래시 커맨드) + agents/(전문 에이전트) + skills/(자동 트리거 스킬) + hooks/(라이프사이클 훅) + .mcp.json(MCP 서버 설정).
배울 것: AI 에이전트의 핵심 설계 — ReAct 루프, 도구 디스패치, 권한 관리. 도구 시스템: 50+ 도구가 어떻게 등록되고, AI가 어떤 도구를 선택하는지. 권한 3단계: allow(자동허용) → ask(물어보기) → deny(차단) 패턴.
배울 것: 31개 라이프사이클 이벤트를 통한 워크플로 자동화. Hook 핸들러 4가지 타입: command(셸 스크립트), http(HTTP 엔드포인트), prompt(AI 검증 요청), agent(서브에이전트 실행).
배울 것: commands + agents + skills + hooks를 패키징한 확장 단위 설계 방법. 13개 공식 플러그인이 이 패턴의 실전 예시다.
배울 것: AI 도구와 외부 서비스를 연결하는 표준 프로토콜. OAuth 2.0 + RFC 9728 기반 인증. 도구 설명 2KB 제한으로 컨텍스트 블로트 방지하는 설계 원칙.
배울 것: AI에게 프로젝트 컨텍스트를 효과적으로 전달하는 방법. 글로벌(~/.claude/CLAUDE.md) → 프로젝트 루트(./CLAUDE.md) → 디렉토리별(./src/CLAUDE.md) → 규칙 파일(.claude/rules/*.md) 4단계 계층.
Claude Code의 TUI는 게임 엔진 기법을 사용한다: Int32Array 문자 풀링, 비트마스크 스타일 인코딩, 변경된 셀만 다시 그리는 패치 최적화, stringWidth 호출 ~50배 감소하는 라인폭 캐시.
| 항목 | 최소 | 권장 |
|---|---|---|
| OS | macOS 10.15+, Ubuntu 20.04+, Windows 10+ (WSL2) | 최신 버전 |
| Node.js | 18+ | 20 LTS |
| RAM | 4GB | 8GB+ |
| 네트워크 | 인터넷 연결 필수 (API 통신) | 안정적인 연결 |
| Git | 2.x+ | 최신 버전 |
| 계정 | Claude 구독 또는 Anthropic Console API 키 | Max 플랜 (무제한) |
| 설치 방법 | 장점 | 단점 |
|---|---|---|
| curl install.sh | 자동 업데이트, 공식 권장 | 셸 스크립트 실행 |
| Homebrew | macOS 표준 | 수동 업데이트 필요 |
| WinGet | Windows 네이티브 | 수동 업데이트 필요 |
| npm (deprecated) | Node.js 환경에 익숙한 경우 | 더 이상 권장하지 않음 |
자신의 프로젝트에 맞는 CLAUDE.md 파일을 작성하고, AI가 이 규칙을 따르는지 확인한다.
# 1. 설치
curl -fsSL https://claude.ai/install.sh | bash
# 2. 프로젝트에서 시작
cd my-project && claude
# 3. 다양한 명령 시도
> "이 프로젝트 구조 설명해줘"
> "이 함수에 테스트 작성해줘"
> "이 버그 고쳐줘"
> /compact # 컨텍스트 압축
> /commit # 변경사항 커밋
PreToolUse 훅으로 위험한 명령(rm -rf, drop table, git push --force)을 자동 차단하는 보안 스크립트를 만든다.
코드 품질 자동 체크 플러그인을 만든다. plugin.json + commands/ + agents/ + hooks/ 구조를 직접 경험한다.
Python FastMCP로 자신의 DB를 Claude Code에 연결하는 MCP 서버를 만든다.
# my_mcp_server.py
from fastmcp import FastMCP
mcp = FastMCP("내 데이터 서버")
@mcp.tool()
def query_tasks(status: str = "open") -> list:
"""현재 작업 목록을 조회합니다"""
return [{"id": 1, "title": "버그 수정", "status": status}]
if __name__ == "__main__":
mcp.run()
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | Claude Code 설치 & 기본 명령 | 프로젝트에서 기본 작업 수행 |
| 화 | CLAUDE.md 작성법 | 자기 프로젝트용 CLAUDE.md 작성 |
| 수 | 슬래시 커맨드 이해 | /commit, /compact, /memory 사용 |
| 목 | @-멘션 & 파이프 | git diff | claude -p "리뷰해줘" |
| 금 | 자동 메모리 시스템 | 메모리가 어떻게 축적되는지 관찰 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | Hook 시스템 개념 | SessionStart 훅으로 환경 설정 |
| 화 | PreToolUse 훅 | 보안 체크 스크립트 작성 |
| 수 | 커스텀 커맨드 | 자주 쓰는 워크플로를 커맨드로 |
| 목 | 설정 계층 이해 | User/Project/Local 설정 실험 |
| 금 | 권한 시스템 | 팀별 권한 규칙 설계 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | 공식 플러그인 탐구 | code-review, feature-dev 플러그인 사용 |
| 화 | 플러그인 구조 분석 | plugin.json, commands, agents 이해 |
| 수 | 나만의 플러그인 뼈대 | plugin-dev 플러그인으로 스캐폴딩 |
| 목 | 멀티에이전트 패턴 | Task Tool로 서브에이전트 활용 |
| 금 | git worktree 격리 | --worktree 플래그 이해 및 실습 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | MCP 프로토콜 개념 | MCP 공식 문서 읽기 |
| 화 | FastMCP 서버 구축 | Python으로 간단한 MCP 서버 |
| 수 | GitHub Actions 통합 | PR 자동 리뷰 워크플로 설정 |
| 목 | Agent SDK | 커스텀 에이전트 빌드 |
| 금 | 종합 프로젝트 | 플러그인 + MCP + Hook 결합 워크플로 |
| 키워드 | 설명 |
|---|---|
| 에이전트 루프 | AI가 "생각→행동→관찰"을 반복하는 핵심 실행 패턴. Claude Code의 메인 루프 |
| ReAct 패턴 | Reasoning + Acting. AI가 도구를 사용하며 추론하는 프레임워크 |
| 도구 디스패치 | AI의 도구 선택을 받아 적절한 핸들러로 라우팅하는 시스템 |
| CLAUDE.md | 프로젝트 지침서. AI가 세션 시작 시 읽고 따르는 규칙 파일 |
| 자동 메모리 | AI가 작업 중 배운 것을 자동 저장하는 시스템 (빌드 명령, 버그 패턴 등) |
| Hook | Claude Code 라이프사이클의 특정 시점에 자동 실행되는 사용자 정의 코드 |
| PreToolUse | 도구 실행 전 발동하는 훅. 명령 차단·수정·허용 결정 가능 |
| MCP | Model Context Protocol. AI와 외부 서비스를 연결하는 표준 프로토콜 |
| 플러그인 | commands + agents + skills + hooks를 패키징한 확장 단위 |
| 슬래시 커맨드 | /commit, /compact 등 Claude Code 내에서 사용하는 단축 명령 |
| 스킬 (Skill) | 특정 조건에서 자동 트리거되는 지침. SKILL.md 파일로 정의 |
| 서브에이전트 | Task Tool로 생성되는 하위 에이전트. 독립적으로 작업 수행 |
| git worktree | 동일 레포의 별도 작업 디렉토리. 서브에이전트 격리에 사용 |
| 프롬프트 캐싱 | API 호출 비용 절감을 위해 반복 프롬프트를 캐시하는 기법 |
| Sticky Latch | 모드 전환 시 캐시 무효화를 방지하는 Claude Code의 최적화 기법 |
| 컨텍스트 컴팩션 | 대화가 길어질 때 자동으로 요약하여 토큰을 절약하는 기능 |
| Agent SDK | Claude Code의 도구와 기능을 활용해 커스텀 에이전트를 빌드하는 SDK |
| 권한 분류기 | allow/ask/deny 3단계로 도구 사용 권한을 판단하는 시스템 |