AI 플러그인이 많을수록 좋다는 착각: 컨텍스트 낭비와 최소 구성의 원칙
세션을 시작하고, HANDOFF.md 파일 하나를 읽었습니다.
그것이 전부였습니다. 코드를 짠 것도, 긴 문서를 처리한 것도 아닙니다. 그런데 Claude Code 인터페이스에 이런 숫자가 떠 있었습니다.
50K / 200K tokens used (25%)
아무것도 안 했는데 컨텍스트 창의 4분의 1이 이미 사라져 있었습니다.
세션을 시작하자마자 50K 토큰이 사라졌다
처음엔 단순히 “원래 그런 건가” 하고 넘어갈 뻔했습니다. 200K 컨텍스트 창이면 충분히 크니까요.
하지만 멈추고 생각해봤습니다. 어디서 50K 토큰이 소비된 것인지 확인해보기로 했습니다.
Claude Code는 세션 시작 시 프로젝트 설정 파일을 자동으로 로드합니다. 저의 경우 전역 설정 파일인 ~/.claude/CLAUDE.md가 있었고, 그 안에는 이런 내용이 있었습니다.
@COMMANDS.md
@FLAGS.md
@PRINCIPLES.md
@RULES.md
@MCP.md
@PERSONAS.md
@ORCHESTRATOR.md
@MODES.md
8개의 파일을 @ 기호로 import하는 단 8줄이었습니다. 그런데 이 파일들의 실제 크기를 확인해보니:
| 파일 | 크기 |
|---|---|
| ORCHESTRATOR.md | 22.3 KB |
| PERSONAS.md | 20.2 KB |
| MODES.md | 13.5 KB |
| MCP.md | 11.3 KB |
| PRINCIPLES.md | 9.3 KB |
| FLAGS.md | 8.7 KB |
| COMMANDS.md | 5.6 KB |
| RULES.md | 2.4 KB |
| 합계 | ~93 KB |
93KB의 텍스트. 토큰으로 환산하면 약 35,000~40,000 토큰입니다. 나머지 10K는 Claude Code 하네스가 주입하는 시스템 메시지, MCP 도구 목록, 에이전트 목록 등이었습니다.
파일 하나를 읽기도 전에, 이미 그만큼의 공간이 채워져 있었던 것입니다.
SuperClaude는 무엇이고, 왜 만들어졌나
이 8개 파일의 정체는 **SuperClaude**라는 오픈소스 프레임워크입니다. Claude Code에 올려타는 오케스트레이션 레이어로, 쉽게 말하면 “Claude를 더 강력한 개발 도구로 만들어주는 플러그인 시스템”입니다.
구체적으로는 이런 기능을 제공합니다.
- 11개 전문 페르소나:
--persona-architect,--persona-security,--persona-frontend등. 작업 맥락에 따라 AI의 사고 방식을 전환합니다. - Wave 실행 시스템: 복잡도 0.7 이상 + 20개 이상 파일 + 2개 이상 작업 유형이 감지되면 다단계 오케스트레이션을 자동 활성화합니다.
- MCP 서버 라우팅: Context7(문서 검색), Sequential(복잡한 분석), Magic(UI 생성), Playwright(테스트 자동화)를 자동으로 선택해 연결합니다.
실제로 코드 개발 작업에는 강력한 도구입니다. 대규모 리팩터링, 보안 감사, 배포 파이프라인 설계 같은 작업에서 SuperClaude는 AI의 능력을 몇 배로 증폭시킬 수 있습니다.
문제는 제가 이것을 **전역 설정(global config)**에 넣어두었다는 것입니다. 전역 설정은 모든 프로젝트, 모든 세션에 예외 없이 로드됩니다.
도구가 짐이 되는 순간
저는 이 날 위키 관리 작업을 하러 세션을 열었습니다. 할 일은 단순했습니다. HANDOFF.md를 읽고, 소스 몇 개를 인제스트하고, 위키 페이지를 업데이트하는 것.
그 작업에 Wave 오케스트레이션이 필요했을까요? 아니요.
보안 위협 모델러 페르소나가 필요했을까요? 아니요.
MCP 서버 자동 라우팅 알고리즘 설명 22KB가 필요했을까요? 당연히 아닙니다.
위키 작업에 실제로 필요한 설정은 이게 전부입니다.
obsidian:defuddle— URL에서 깔끔한 마크다운 추출obsidian:obsidian-markdown— Obsidian 문법에 맞는 노트 작성- 파일 읽기/쓰기 도구
이것들의 합산 크기는 몇 KB에 불과합니다. 그런데 저는 35K 토큰짜리 개발 전문 프레임워크를 매 세션마다 들고 위키 편집을 하러 들어가고 있었던 것입니다.
비유하자면 이렇습니다. 카페에서 글을 쓰러 가는데, 용접 장비 풀세트와 공작 기계를 들고 가는 것입니다. 장비 자체는 훌륭합니다. 다만 지금 이 자리에서는 노트북과 커피 한 잔이면 충분합니다.
AI 플러그인과 스킬 프레임워크 생태계에는 이런 함정이 있습니다. “기능이 많을수록 더 강력하다”는 생각이 자연스럽게 “모든 기능을 항상 켜두자”는 설정으로 이어집니다. 그리고 그 결과는 컨텍스트 낭비입니다.
해결: 3줄 수정으로 35K 토큰을 돌려받다
수정 방법은 간단했습니다.
전역 ~/.claude/CLAUDE.md에서 @import 줄들을 모두 지우고, 대신 주석으로 사용법만 남겼습니다.
# Global Claude Instructions
# SuperClaude framework files are in ~/.claude/ but loaded per-project only.
# To enable SuperClaude in a project, add to that project's CLAUDE.md:
#
# @~/.claude/COMMANDS.md
# @~/.claude/FLAGS.md
# ... (나머지 파일들)
SuperClaude 파일들은 그대로 디스크에 있습니다. 삭제하지 않았습니다. 단지 자동 로드를 끊었을 뿐입니다.
이제 SuperClaude가 필요한 코드 개발 프로젝트의 CLAUDE.md에만 해당 @import 줄을 추가하면 됩니다. 필요한 곳에, 필요할 때만 켜는 구조입니다.
결과: 다음 세션부터 위키 프로젝트는 AGENTS.md 하나만 로드합니다. 약 2KB. 이전의 93KB에서 96% 감소입니다.
교훈: 최소 구성의 원칙 (Minimum Viable Context)
소프트웨어 보안에는 최소 권한 원칙(Principle of Least Privilege) 이라는 개념이 있습니다. 시스템의 각 구성 요소는 자신의 임무를 수행하는 데 필요한 최소한의 권한만 가져야 한다는 원칙입니다.
AI 에이전트 설정에도 같은 원칙이 적용된다고 생각합니다. 최소 구성의 원칙(Minimum Viable Context) — 각 워크플로에는 그 작업을 수행하는 데 필요한 최소한의 컨텍스트만 로드해야 합니다.
“어차피 컨텍스트 창이 200K나 되는데 괜찮지 않나요?“라는 생각이 들 수도 있습니다. 하지만 낭비된 토큰은 단순히 숫자의 문제가 아닙니다.
세션 초반에 소비된 컨텍스트는 세션 후반부에 사용할 수 없습니다. 위키 관리처럼 긴 세션이 필요한 작업을 생각해보면, 세션 시작부터 25%가 차 있다는 것은 실제 작업 가능한 공간이 그만큼 줄어든다는 의미입니다. 복잡한 인제스트 작업, 여러 파일에 걸친 업데이트, 긴 원문 처리, 이런 작업들이 세션 말미에 컨텍스트 부족으로 잘려나갈 수 있습니다.
더 근본적으로는, 관련 없는 정보가 컨텍스트에 가득 차 있으면 AI가 그 내용을 처리하면서 실제 작업에 쓸 공간이 줄어듭니다. 위키 작업을 하는데 배포 자동화와 보안 감사 지침이 컨텍스트에 가득 차 있다면, 그것이 응답의 품질에 영향을 주지 않는다고 보장할 수 없습니다.
마치며
SuperClaude는 훌륭한 프레임워크이며, 이 글의 주제는 도구 자체가 아니라 설정 방식에 관한 것입니다. “한 번 설정하면 어디서나 동작한다”는 편리함이, “필요하지 않은 곳에서도 항상 동작한다”는 낭비로 이어진 것입니다.
Claude Code 생태계에는 이제 수많은 플러그인, 스킬, MCP 서버, 프레임워크가 존재합니다. 이것들을 발견하고 설치하는 것은 쉽습니다. 하지만 어떤 워크플로에 무엇이 필요한지를 구분하고, 필요한 것만 켜두는 규율이 필요합니다.
혹시 여러분의 Claude Code 전역 설정은 지금 몇 KB를 자동으로 로드하고 있나요?