Claude Code Unpacked: 소스코드 기반 시각적 분석 가이드
Claude Code Unpacked : A visual guide
TL;DR Highlight
유출된 Claude Code 소스코드를 분석해서 에이전트 루프, 50개 이상의 툴, 미공개 기능들을 시각적으로 정리한 비공식 가이드. Claude Code가 내부적으로 어떻게 동작하는지 이해하고 싶은 개발자에게 좋은 참고자료다.
Who Should Read
Claude Code를 실무에서 쓰고 있거나 자체 코딩 에이전트를 만들려는 개발자. 특히 에이전트 아키텍처 설계나 툴 시스템 구조를 참고하고 싶은 사람.
Core Mechanics
- 이 사이트는 유출된 Claude Code 소스코드(약 50만 줄)를 분석해서, 메시지를 입력했을 때 내부에서 일어나는 과정을 Input → Message → History → System → API → Tokens → Tools → Loop → Render → Hooks → Await 순서로 시각화한 것이다.
- Claude Code의 툴 시스템은 총 50개 이상이며, 파일 조작(FileRead, FileEdit, FileWrite 등 6개), 코드 실행(Bash, PowerShell, REPL 3개), 검색/웹(WebSearch, WebFetch 등 4개), 에이전트/태스크(Agent, TaskCreate, TaskList 등 11개), MCP(mcpList, McpResourceRead 등 4개), 시스템(TodoWrite, AskUserQuestion 등 11개), 실험적 툴(Sleep, StructuredOutput 등 8개)로 분류된다.
- 슬래시 커맨드도 총 70개 이상으로, Setup & Config(/init, /login, /config 등 12개), Daily Workflow(/compact, /memory, /plan 등 24개), Code Review & Git(/review, /commit, /diff 등 13개), Debugging(/status, /cost, /heapdump 등 23개), Advanced & Experimental(/advisor, /voice, /desktop 등 23개)로 나뉜다.
- 소스코드에는 아직 공개되지 않은 미공개 기능들이 숨겨져 있다. 'Kairos'는 세션 간 메모리를 통합하고 백그라운드에서 자율적으로 동작하는 영속적 모드이고, 'Coordinator Mode'는 메인 에이전트가 작업을 분해해서 독립된 git worktree에 병렬 워커를 생성하는 멀티에이전트 오케스트레이션 기능이다.
- 다른 미공개 기능으로 'Bridge'는 폰이나 브라우저에서 Claude Code를 원격 제어하는 기능, 'Daemon Mode'는 tmux를 이용해 백그라운드에서 세션을 실행하는 --bg 옵션, 'Auto-Dream'은 세션 사이에 AI가 자동으로 학습 내용을 정리하는 기능, 'Buddy'는 계정 ID 기반으로 종과 희귀도가 정해지는 터미널 가상 펫이다.
- 소스코드는 utils(564파일), components(389파일), commands(189파일), tools(184파일), services(130파일), hooks(104파일), ink(96파일) 등으로 구성되어 있고, 전체 디렉토리 구조를 클릭해서 탐색할 수 있는 아키텍처 익스플로러도 제공한다.
- 이 사이트 자체는 Claude Code 유출 직후 제작자가 단 몇 시간 만에 만들었으며, 유출된 소스코드를 분석해서 자신만의 에이전트 하네스(agent harness)를 만들 때 참고하려는 목적으로 시작됐다. 비공식 자료이므로 일부 내용은 오래되었거나 틀릴 수 있다.
Evidence
- 50만 줄 코드베이스의 규모에 대해 '단순한 TUI가 어떻게 이렇게 커지냐'는 의문이 많았다. 한 댓글러는 '이 코드의 90%는 에이전트가 드리프트하거나 조용히 뭔가를 망치는 걸 막기 위한 방어적 프로그래밍일 것'이라고 분석했다. 즉, frustration regex, context sanitizer, 툴 재시도 루프, 상태 롤백 등 LLM을 결정론적으로 동작하게 만들려는 코드가 대부분이라는 것이다.
- 'vibe coding으로 만들어서 기술 부채를 신경 안 쓴 거 아니냐'는 의견도 있었다. 출시된 지 약 1년밖에 안 됐는데 50만 줄은 너무 과하다는 반응이었고, LLM이 코드를 생성할 때 불필요하게 부풀리는 경향이 있다는 지적도 나왔다.
- 실제 사용자가 Claude Code로 멀티에이전트 시스템을 구축하면서 토큰 비용 문제를 겪었다는 경험을 공유했다. Pro 플랜 주간 예산의 75%를 예상보다 훨씬 빠르게 소진했고, 이후 복잡한 신규 구현은 Claude Code로, 기존 코드 반복 작업은 웹 인터페이스에서 Sonnet에 파일을 직접 붙여넣는 방식으로 전략을 바꿨다고 한다.
- '이 정도는 소스코드 없이도 알 수 있는 내용 아니냐', 'Anthropic의 진짜 가치는 모델 자체이고 프론트엔드 루프는 누구나 만들 수 있다'는 냉소적인 댓글도 있었다. 반면 미공개 기능들(특히 세션 간 크로스 레퍼런싱, 클로드 코드 spirit animal)에 열광하는 반응도 있어서 온도차가 컸다.
- 이 사이트와 비슷한 분석 사이트를 비슷한 시점에 독립적으로 만든 다른 개발자도 있었다(brandonrc.github.io/journey-through-claude-code). 유출 소스코드를 기반으로 단 하루 이틀 만에 여러 시각화 사이트가 생겨난 것에 대해 '2020년이었으면 상상도 못 했을 일'이라는 감탄 댓글도 달렸다.
How to Apply
- 자체 코딩 에이전트나 LLM 기반 자동화 파이프라인을 설계할 때, Claude Code의 툴 분류 체계(파일/실행/검색/에이전트/MCP/시스템/실험적)를 참고해서 툴 카탈로그를 설계하면 어떤 범주의 기능이 필요한지 빠르게 파악할 수 있다.
- Claude Code 사용 비용이 예상보다 많이 나온다면, 내부 에이전트 루프가 어떻게 동작하는지 이해하고 작업 유형을 분류하는 것이 좋다. 복잡한 신규 구현은 Claude Code, 단순 반복 작업이나 파일 일부 수정은 웹 인터페이스 + Sonnet 조합으로 나누면 비용을 줄일 수 있다.
- Coordinator Mode, Kairos, Auto-Dream 같은 미공개 기능들이 향후 릴리즈될 가능성이 높으므로, 지금 멀티에이전트 시스템이나 장기 실행 에이전트를 설계한다면 이 기능들의 구조(병렬 worktree 분기, 세션 간 메모리 통합 등)를 미리 참고해두면 아키텍처 방향을 잡는 데 도움이 된다.
- 유출된 Claude Code 소스코드 전체는 codeberg.org/wklm/claude-code에서 직접 볼 수 있고, 이 시각화 사이트는 어느 파일이 어떤 역할을 하는지 빠르게 찾는 지도로 활용할 수 있다. 특정 툴이나 커맨드의 실제 구현이 궁금할 때 소스 파일 위치를 바로 파악할 수 있다.
Terminology
에이전트 루프 (Agent Loop)LLM이 사용자 요청을 받아 툴을 호출하고 결과를 확인하고 다시 판단하는 과정을 반복하는 구조. 사람이 작업하는 방식을 흉내내서 복잡한 작업을 단계별로 처리한다.
에이전트 하네스 (Agent Harness)LLM 모델을 실제 작업에 연결해주는 프레임워크나 래퍼 코드. 모델 API 호출, 툴 실행, 상태 관리 등을 처리한다.
MCP (Model Context Protocol)LLM이 외부 도구나 데이터 소스와 표준화된 방식으로 통신하기 위한 Anthropic의 프로토콜. USB 표준처럼 어떤 툴이든 동일한 방식으로 연결할 수 있게 해준다.
Worktree같은 Git 저장소를 여러 디렉토리에서 동시에 체크아웃해서 작업할 수 있는 Git 기능. Claude Code에서는 병렬 에이전트가 서로 충돌 없이 독립적으로 작업하기 위해 사용된다.
드리프트 (Drift)에이전트가 원래 목표에서 벗어나 예상치 못한 방향으로 동작하는 현상. LLM의 확률적 특성 때문에 발생하며, 방지하려면 복잡한 상태 관리 코드가 필요하다.
Vibe CodingLLM을 이용해서 코드 품질이나 구조보다 빠른 기능 구현에 집중하는 개발 방식. 기술 부채가 쌓이기 쉽고 코드가 불필요하게 커질 수 있다는 단점이 있다.