클로드 코드 아키텍처 분석: 유출된 소스 맵에서

✍️ OpenClawRadar📅 게시일: April 4, 2026🔗 Source
클로드 코드 아키텍처 분석: 유출된 소스 맵에서
Ad

기술 스택과 아키텍처

2026년 3월 31일에 npm에 게시된 Claude Code 패키지에는 전체 TypeScript 소스 코드를 드러내는 .map 파일이 포함되어 있었습니다. 이 코드베이스는 약 1,900개의 파일과 512,000줄 이상의 TypeScript 코드로 구성되어 있습니다.

핵심 기술

  • 런타임: Bun
  • 언어: TypeScript (엄격 모드)
  • 터미널 UI: React + Ink (CLI용 React)
  • CLI 파싱: Commander.js와 추가 타이핑
  • 스키마 검증: Zod v4
  • 코드 검색: GrepTool을 통한 ripgrep
  • 프로토콜: MCP SDK, LSP (vscode-jsonrpc)
  • API: Anthropic SDK
  • 원격 측정: OpenTelemetry + gRPC (지연 로딩, ~400KB + 700KB)
  • 기능 플래그: GrowthBook
  • 인증: OAuth 2.0, JWT, macOS 키체인
  • 상태 관리: Zustand (React 기반 저장소)

디렉토리 구조 하이라이트

src/ 디렉토리에는 다음이 포함됩니다:

  • main.tsx - Commander.js CLI와 React/Ink 렌더링이 포함된 진입점
  • commands.ts - 100개 이상의 명령어가 등록된 명령어 레지스트리
  • tools.ts - 38개 이상의 도구가 등록된 도구 레지스트리
  • Tool.ts - 도구 유형 정의
  • QueryEngine.ts - LLM 쿼리 엔진 (~46K 줄)
  • query.ts - 메인 쿼리 루프 (~1,729 줄)
  • context.ts - 시스템/사용자 컨텍스트 수집
  • cost-tracker.ts - 토큰 비용 추적
  • commands/ - 슬래시 명령어 구현 (100개 이상)
  • tools/ - 도구 구현 (38개 이상)
  • components/ - Ink UI 컴포넌트 (~140개)
  • hooks/ - React Hooks 및 권한 훅
  • services/ - API, MCP, LSP, 컨텍스트 압축, 메모리 추출, 분석을 포함한 외부 서비스 통합
  • constants/ - 시스템 프롬프트 및 상수
  • bridge/ - IDE 통합 브리지
  • coordinator/ - 다중 에이전트 코디네이터
  • plugins/ - 플러그인 시스템
  • skills/ - 스킬 시스템
  • memdir/ - 지속적 메모리 시스템
  • tasks/ - 작업 관리 시스템
  • state/ - 상태 관리
  • remote/ - 원격 세션
  • server/ - 서버 모드
  • vim/ - 완전한 상태 머신이 포함된 Vim 모드
  • voice/ - 음성 입력
  • keybindings/ - 키 바인딩 시스템
  • screens/ - 전체 화면 UI (Doctor, REPL, Resume)
  • schemas/ - Zod 구성 스키마
  • migrations/ - 구성 마이그레이션
  • query/ - 쿼리 파이프라인 하위 모듈
  • outputStyles/ - 출력 스타일
  • buddy/ - 동반 스프라이트 (이스터 에그)
Ad

핵심 데이터 흐름

시스템은 다음과 같은 데이터 흐름 패턴을 따릅니다:

  1. 사용자 입력 (터미널 / IDE / 원격)
  2. main.tsx → Commander.js 파싱
  3. REPL.tsx (메인 상호작용 루프)
  4. QueryEngine.submitMessage() ← 세션 수명 주기
  5. 메시지 준비 단계에는 다음이 포함됩니다:
    • applyToolResultBudget() - 결과 크기 제한
    • snipCompact() - 스니펫 압축
    • microCompact() - 마이크로 압축
    • contextCollapse() - 컨텍스트 축소
    • autoCompact() - 자동 압축

이 분석은 생산 AI 코딩 에이전트가 컨텍스트, 도구, 다중 에이전트 조정을 어떻게 관리하는지에 대한 통찰력을 제공하는 유출된 소스 코드를 기반으로 합니다.

📖 전체 소스 읽기: r/ClaudeAI

Ad

👀 See Also

클로드 코드 루틴: 추론 기능으로 Cron처럼 에이전트 작업 스케줄링하기
Tools

클로드 코드 루틴: 추론 기능으로 Cron처럼 에이전트 작업 스케줄링하기

Claude Code Routines를 사용하면 세션을 열어두지 않고도 일정에 따라 에이전트 작업을 실행할 수 있습니다. 한 Reddit 사용자가 실제 예시를 공유합니다: 야간 커밋 검토, 주간 의존성 확인, 일일 오류 로그 분석 — 원시 스크립트 출력 대신 AI 추론을 활용합니다.

OpenClawRadar
Zerostack 1.0.0: 순수 Rust로 구현된 유닉스 스타일 코딩 에이전트
Tools

Zerostack 1.0.0: 순수 Rust로 구현된 유닉스 스타일 코딩 에이전트

Zerostack은 순수 Rust로 작성된 코딩 에이전트로, 유닉스 철학(작고 조합 가능한 도구들이 stdin/stdout으로 파이프 연결됨)을 모델로 했습니다.

OpenClawRadar
Semble: 클로드 코드용 로컬 MCP 서버, 토큰 98% 절감
Tools

Semble: 클로드 코드용 로컬 MCP 서버, 토큰 98% 절감

Semble는 Claude Code를 위한 오픈소스 MCP 서버로, grep+read 워크플로우를 대체합니다. 임베딩, BM25, 재순위화를 사용하여 리포지토리를 약 250ms에 인덱싱하면서 토큰 사용량을 약 98% 줄입니다.

OpenClawRadar
무료 Claude 세션 최적화 도구: 토큰 예측기, 프롬프트 압축기, 세션 플래너
Tools

무료 Claude 세션 최적화 도구: 토큰 예측기, 프롬프트 압축기, 세션 플래너

한 개발자가 Claude의 사용 한계를 관리하는 데 도움이 되는 무료, 가입 불필요 도구를 세 가지 기능과 함께 구축했습니다: 프롬프트 소비량을 미리 확인할 수 있는 토큰 추정기, 필러 문구를 제거하여 프롬프트를 40-60% 줄이는 프롬프트 압축기, 컨텍스트 재로딩을 최소화하기 위해 작업을 그룹화하는 세션 플래너입니다.

OpenClawRadar