lucas@lucas_flatwhite
"Claude Code의 비밀은 모델이 아니었다"
> 유출된 소스 코드로 밝혀진 6가지 내부 최적화
Claude Code의 TypeScript 소스 코드가 유출됨.......
그 안에는 꽤나 놀라운 내용들이 담겨 있었네요..
많은 사람들이 Claude Code가 웹 채팅보다 코딩을 더 잘한다는 걸 체감하는데, 그 이유가 단순히 모델이 달라서일 거라고 생각하거든요.
그런데 아니에요. 진짜 이유는 모델 주변을 감싸고 있는 소프트웨어 하네스, 즉 정교하게 설계된 컨텍스트 관리 시스템이에요.
흥미로운 점은.. 이 하네스만 잘 갖춰지면 DeepSeek나 다른 모델을 넣어도 비슷한 수준의 코딩 성능이 나올 거라는 거예요.
그럼 소스 코드가 보여준 것은 무엇인가........
↓
1. 시작부터 살아있는 리포지토리 맥락을 로드해요
Claude Code는 대화를 시작하는 순간, 단순한 빈 채팅창이 아니에요.
현재 git 브랜치, main 브랜치, 최근 커밋 히스토리, 그리고 CLAUDE.md를 자동으로 불러와요.
모델이 첫 메시지를 받기도 전에 이미 "이 프로젝트가 어떤 상태인지"를 파악하고 있는 셈이죠.
웹 채팅에서 파일을 하나씩 업로드하며 설명하던 것과는 완전히 다른 출발점이에요.
↓
2. 프롬프트 캐시를 공격적으로 재사용해요
소스에는 정적 콘텐츠와 동적 콘텐츠를 구분하는 경계 마커가 있어요.
자주 바뀌지 않는 부분(시스템 지침, CLAUDE.md 등)은 전역 캐시로 묶어두고, 매번 새로 처리하지 않아요.
비싼 연산이 필요한 부분만 골라서 재처리하는 방식이에요.
이 덕분에 응답이 빨라지고, API 비용도 줄고, 같은 컨텍스트를 반복해서 "소화"하는 낭비가 없어져요.
↓
3. 파일 탐색 도구가 전혀 달라요
채팅 UI에서는 코드가 그냥 "텍스트 덩어리"로 인식돼요.
Claude Code는 달라요. grep이나 rg를 bash로 실행하는 게 아니라, 전용 Grep 도구를 써요. 권한 처리와 결과 수집이 최적화되어 있거든요.
파일을 찾을 때도 마찬가지예요. 전용 Glob 도구가 있고, 여기에 더해 LSP(Language Server Protocol) 도구도 있어요.
LSP가 뭔지 아시나요? 코드 에디터에서 "이 함수를 어디서 호출하나요?" 같은 걸 보여주는 기능이에요.
Claude Code는 코드를 정적인 텍스트가 아니라 살아있는 구조로 이해하는 거예요.
↓
4. 컨텍스트 팽창을 촘촘하게 막아요
긴 대화를 하다 보면 컨텍스트가 부풀어 오르는 게 AI 에이전트의 가장 큰 문제 중 하나예요.
Claude Code에는 이를 막는 장치들이 여러 겹으로 있어요:
- 파일 읽기 중복 제거: 이미 읽은 파일이 바뀌지 않았다면 다시 처리하지 않아요.
- 디스크 오프로드: 도구 결과가 너무 길면 디스크에 저장하고, 컨텍스트에는 미리보기 + 파일 참조만 남겨요.
- 자동 압축: 컨텍스트가 한계에 가까워지면 자동으로 요약/압축이 실행돼요.
채팅 UI에서 긴 대화 후 모델이 앞 내용을 "잊어버리는" 느낌이 드셨다면, 이 처리 없이 그냥 컨텍스트에 다 쌓아뒀기 때문이에요.
↓
5. 세션 메모리를 구조화된 마크다운으로 관리해요
Claude Code는 현재 작업 세션을 위한 구조화된 마크다운 파일을 내부적으로 유지해요.
포함되는 섹션들을 보면 꽤 흥미로워요:
- 세션 제목 / 현재 상태
- 작업 명세 / 관련 파일 및 함수
- 워크플로우 / 오류 및 수정 내용
- 코드베이스 및 시스템 문서
- 학습 내용 / 핵심 결과 / 작업 로그
우리가 복잡한 작업을 할 때 옆에 메모장 펼쳐두고 하는 것과 똑같은 방식이에요.
모델이 "머릿속"에서 모든 걸 기억하는 게 아니라, 실제로 노트를 쓰면서 일하는 거죠.
↓
6. 서브에이전트로 작업을 병렬화해요
Claude Code가 복잡한 작업을 빠르게 처리하는 이유 중 하나가 여기에 있어요.
포크된 서브에이전트들은 부모 에이전트의 캐시를 그대로 물려받으면서도, 각자 독립적인 가변 상태를 가져요.
요약 작업, 메모리 추출, 백그라운드 분석 같은 걸 메인 루프를 방해하지 않고 사이드에서 처리할 수 있는 거예요.
단순히 "탭을 여러 개 여는 것"이 아니라, 맥락을 공유하는 팀이 동시에 일하는 구조예요.
💭
결국 Claude Code가 웹 채팅보다 잘하는 건, 더 똑똑한 모델 때문이 아니에요.
같은 모델을 쓰더라도 이런 하네스가 있냐 없냐에 따라 결과물이 달라져요.
살아있는 리포지토리 컨텍스트, 캐시 재사용, 전문 도구들, 컨텍스트 관리, 구조화된 메모리, 병렬 서브에이전트.
그런데 Anthropic 어쩔............