LeanX

컨텍스트 엔지니어링 고급 — 오프로드·다이어그램·MCP 다이어트

품질은 컨텍스트 관리에서 갈리며, 대용량 데이터는 스크립트로 오프로드해 요약만 받고, 아키텍처는 Mermaid 다이어그램으로 압축 저장하고, 안 쓰는 MCP는 비활성화해 클로드의 책상에 지금 필요한 것만 올려 두는 것이 핵심입니다.

클로드 코드의 결과 품질은 결국 '컨텍스트(책상)를 얼마나 깨끗하게 관리하느냐'에서 갈립니다. 같은 모델, 같은 프롬프트라도 책상이 잡동사니로 가득 차 있으면 엉뚱한 답이 나옵니다. 이번 레슨은 컨텍스트를 지키는 세 가지 고급 기술을 다룹니다.

컨텍스트는 왕이다

책상 위에 지금 작업과 무관한 서류가 많을수록 클로드는 중요한 것을 놓치고 실수를 반복합니다. '더 좋은 프롬프트'보다 '더 깨끗한 컨텍스트'가 품질을 좌우하는 경우가 훨씬 많습니다.

기술 1: 무거운 작업은 스크립트로 오프로드

10만 행짜리 CSV를 클로드에게 통째로 보여주며 '분석해 줘'라고 하면, 그 데이터가 전부 책상에 올라와 컨텍스트를 순식간에 잡아먹습니다. 정작 다음 작업을 할 공간이 없어지죠. 해법은 데이터를 직접 다루지 말고, 클로드에게 '처리하는 스크립트'를 짜게 한 뒤 그 스크립트를 실행해 요약 결과만 받는 것입니다.

스크립트 오프로드 흐름

  • 대화에서 요청 "이 CSV 집계하는 스크립트 짜줘"
  • analyze.py 작성 클로드가 코드를 짜고 터미널에서 실행
  • 대량 데이터 처리 10만 행 CSV는 스크립트 안에서만 처리
  • 요약 결과 산출 예: JSON 12줄만 출력
  • 대화로 복귀 요약 12줄만 받아 다음 작업. 원본 10만 행은 컨텍스트에 안 올라옴

추론(무엇을 할지)과 실행(대량 처리)을 분리하는 원칙입니다.

이렇게 하면 원본 데이터는 스크립트 안에서만 흐르고, 클로드의 책상에는 '결과 요약'만 올라옵니다. 이것이 AI의 추론(무엇을 할지 판단)과 실행(대량 처리)을 분리하는 원칙입니다.

대용량 데이터를 오프로드하는 프롬프트

data/orders.csv가 10만 행이야. 이걸 대화에 직접 읽지 말고, 파이썬 스크립트 scripts/summarize_orders.py를 작성해 줘. 스크립트가 하는 일: 월별 매출 합계, 상위 10개 상품, 환불율을 계산해서 결과를 JSON으로 출력. 스크립트를 실행한 뒤 그 JSON 결과만 보고 다음 분석을 이어가자.

기술 2: 아키텍처는 다이어그램으로 저장

프로젝트 구조를 매번 말로 설명하면 그때마다 컨텍스트를 크게 씁니다. 대신 구조를 Mermaid 다이어그램으로 docs/architecture.md에 저장해 두세요. 클로드는 이 다이어그램 하나로 전체 그림을 빠르게 파악합니다. 그림 한 장이 문단 열 개보다 가볍고 정확합니다.

docs/architecture.md 안의 Mermaid 다이어그램

graph TD
  A[웹 프론트엔드 React] -->|API 호출| B[Supabase Edge Functions]
  B --> C[(PostgreSQL)]
  B --> D[결제 게이트웨이]
  A -->|파일 업로드| E[Supabase Storage]
  F[n8n 자동화] -->|웹훅| B

기술 3: MCP 다이어트

MCP로 외부 도구를 연결하면 편하지만 공짜는 아닙니다. Claude Code는 기본으로 도구 검색(tool search)을 켜 두어 필요한 도구 설명만 그때 불러오지만, 도구 검색을 끄면(ENABLE_TOOL_SEARCH=false) 연결된 MCP 서버가 제공하는 모든 도구의 '설명'이 시작부터 컨텍스트에 올라옵니다. 그 상태에서 노션이나 리니어처럼 도구가 많은 큰 MCP를 여러 개 붙여 두면, 아무 작업도 하기 전부터 책상의 상당 부분이 도구 설명서로 차 버립니다.

  • 안 쓰는 MCP는 /mcp에서 비활성화한다. 지금 세션에 필요 없는 서버는 꺼 둔다.
  • 도구 검색을 끈 환경이라면, 도구가 방대한 범용 MCP 대신 자주 쓰는 기능만 담은 작은 커스텀 MCP나 로컬 스크립트를 쓴다.
  • '혹시 몰라서' 다 켜 두지 말고, 이 작업에 실제로 필요한 것만 연결한다.

요령은 CLAUDE.md 다이어트와 같습니다. '지금 이 작업에 정말 필요한가?'를 기준으로, 컨텍스트에 상주하는 것을 최소로 유지하세요.

무거운 데이터 처리, 반복 집계, 파일 대량 변환은 거의 항상 '스크립트로 오프로드'가 정답입니다. 클로드에게 데이터를 먹이지 말고, 데이터를 다루는 도구를 만들게 한 뒤 결과만 받으세요. 컨텍스트도 아끼고, 그 스크립트는 다음에 또 재사용할 수 있습니다.

도구 검색을 켜 둔 기본 상태라면 MCP를 여러 개 연결해도 도구 설명은 필요할 때만 불러옵니다. 다만 도구 검색을 끈 환경에서는 대화를 시작하자마자 컨텍스트의 상당 부분이 도구 설명으로 채워져 작업 공간이 줄어듭니다. 어느 쪽이든 연결은 필요할 때 하고, 끝나면 /mcp에서 정리하는 습관을 들이세요.

컨텍스트 엔지니어링의 요체는 '클로드의 책상에 지금 필요한 것만 올려 두는 것'입니다. 큰 데이터는 스크립트 뒤로 숨기고, 구조는 다이어그램으로 압축하고, 도구는 필요한 것만 켜 두세요. 책상이 깨끗할수록 클로드는 더 똑똑해집니다.