전체 목차
챕터 03

컨텍스트 추가하기

Claude Code에 컨텍스트 추가하기

코드 에디터로 프로젝트를 열어 두고, npm run dev로 개발 서버를 시작합니다. 브라우저에서 localhost:3000으로 이동하면 애플리케이션이 동작하는 것을 볼 수 있습니다. 이제 이 프로젝트에 Claude를 활용해 약간의 작업을 해볼 텐데, 그 전에 Claude를 사용할 때 정말 중요한 한 가지를 짚고 넘어가고 싶습니다. 바로 컨텍스트 관리(context management) 입니다.

코드베이스 컨텍스트를 나타내는 다이어그램으로 삼각형, 설정 기어, 잠금장치, 데이터베이스, 문서, 원형 차트, 쌓인 돌 등의 아이콘이 배치되어 있고 정보 분산을 설명합니다.

이 강의를 통해 이 개념을 확실히 이해하고 가시기를 바랍니다.

왜 컨텍스트 관리가 중요한가

일반적인 프로젝트에는 수십 개에서 수백 개의 파일이 있고, 각 파일은 엄청난 양의 정보를 담고 있습니다. 우리가 Claude에게 질문을 던지거나 작업을 맡길 때, Claude가 필요로 하는 이상적인 정보의 양이 존재합니다. 여러분의 질문에 답하거나 작업을 완수하는 데 딱 충분한 만큼이죠.

Claude가 작업을 완수하기 위해 필요한 정보를 보여주는 다이어그램, 점선 원 안에 펜, 톱니바퀴, 문서, 원형 차트 아이콘이 있고 외부에 자물쇠, 데이터베이스, 균형 잡힌 돌무더기 아이콘.

여기에 관련 없는 정보를 추가하기 시작하면, Claude의 효율성은 떨어지기 시작합니다.

회색 점선 원 안의 삼각형, 기어, 문서, 원형 차트 아이콘과 원 밖의 자물쇠, 데이터베이스, 돌탑 아이콘을 보여주는 다이어그램으로, 관련 없는 또는 오도적 맥락을 나타내는 빨간 점선과 화살표로 구분.

따라서 Claude에게 프로젝트 내의 관련 파일이나 문서를 구체적으로 안내해주는 것이 매우 중요합니다. 별도의 안내가 없어도 Claude Code는 분명 잘 동작하지만, 약간의 가이드만 더해도 Claude는 최상의 결과를 내줍니다. 지금부터 Claude에게 최선의 컨텍스트를 제공하는 다양한 팁을 알려드리겠습니다.

/init 명령어로 시작하기

먼저 에디터에서 터미널을 열고 claude 명령어를 실행해 Claude Code를 시작합니다.

VS Code 터미널 창, uigen git main 브랜치에서 claude 명령어 실행 중이며 왼쪽 파일 탐색기에 Next.js 프로젝트 구조 표시.

새로운 프로젝트에서 Claude Code를 처음 실행할 때는 /init 명령어를 꼭 실행하길 강력히 권장합니다.

VS Code 터미널의 /init 명령어 입력창과 /init, /install-github-app, /migrate-installer, /compact, /doctor, /ide, /terminal-setup, /upgrade 등의 Claude Code 명령어 목록이 표시되어 있습니다.

/init 명령어를 실행하면 Claude가 코드베이스 전체를 깊이 살펴봅니다. 프로젝트의 목적, 전반적인 아키텍처, 관련 명령어, 핵심 파일 등을 파악한 뒤, 그 결과를 요약해 CLAUDE.md 라는 파일에 정리해줍니다.

터미널에서 /init 명령어 실행 중인 스크린샷, 좌측에는 명령어 설명(코드베이스 스캔, 요약 생성, CLAUDE.md 파일 작성), 우측에는 진행 상황 표시로 75개 중 17개 토큰 처리 중이며 esc로 중단 가능.

Claude가 CLAUDE.md 파일을 생성할 때는 권한을 요청합니다. Enter를 눌러 승인할 수도 있고, 매번 파일 쓰기 요청마다 권한을 부여하고 싶지 않다면 Shift + Tab을 눌러(모드 전환) Claude Code가 프로젝트 내에서 자유롭게 파일을 작성하도록 허용할 수도 있습니다.

VS Code 터미널에서 Claude가 CLAUDE.md 파일 편집을 요청하는 대화창, 옵션으로 자동 승인 단축키 Shift+Tab 표시

생성된 CLAUDE.md 파일을 열어 내용을 살펴보시기를 권장합니다. 앞서 말씀드렸듯이, 이 파일의 내용은 Claude로 보내는 모든 요청에 포함됩니다. 이 파일에는 두 가지 목적이 있습니다.

  1. Claude가 여러분의 코드베이스를 더 잘 이해하도록 도와 관련 코드를 빠르게 찾을 수 있게 합니다.

  2. 여러분이 Claude에게 일반적인 가이드를 줄 수 있는 장소 역할을 합니다.

마크다운 편집기에서 CLAUDE.md 파일이 열려있으며, 좌측에 파일 내용, 우측에 프리뷰 패널에 문서 제목과 Claude를 안내하는 주요 항목들이 표시되어 있습니다.

CLAUDE.md 파일의 세 가지 레벨

Claude Code가 활용하는 CLAUDE.md 파일에는 여러 종류가 있습니다.

CLAUDE.md 파일의 세 가지 위치를 보여주는 다이어그램, 왼쪽부터 초기화로 생성되어 소스 제어에 커밋하는 CLAUDE.md, 개인 지시사항을 담은 CLAUDE.local.md, 모든 프로젝트에 적용되는 ~/.claude/CLAUDE.md.
  • 프로젝트 레벨: 방금 /init으로 생성한 파일입니다. 일반적으로 Git과 같은 소스 컨트롤에 커밋해 다른 엔지니어들과 공유하며, 프로젝트별 지시 사항을 Claude에 전달합니다.

  • 로컬 레벨 (CLAUDE.local.md): 선택적으로 만들 수 있으며, 커밋하지 않고 다른 엔지니어와도 공유하지 않습니다. 오직 자신만을 위한 개인 지시 사항을 여기에 넣을 수 있습니다.

  • 글로벌 레벨: 머신 단위로 존재하는 파일로, 로컬에서 실행하는 모든 프로젝트에 적용되는 지시 사항을 담을 수 있습니다.

커스텀 지시 사항 추가하기: 메모리 모드

특별하거나 커스텀한 지시 사항을 Claude에게 주는 예시를 보여드리겠습니다. 예를 들어 현재 Claude가 코드에 주석을 너무 자주 추가한다고 가정해봅시다. 이런 경우 CLAUDE.md 파일을 업데이트해 해결할 수 있습니다. 이 때, CLAUDE.md 파일을 열어 직접 수정해도 되지만, 좀 더 편한 방법이 있습니다. Claude Code 안에서 # 기호를 입력하면 메모리 모드(memory mode) 로 진입합니다.

VSCode 에디터에서 CLAUDE.md 파일을 열고 있으며, 자동완성 팝업이 "Add to memory. Try Always use descriptive var..." 제안을 표시하고 있고 메모리 모드 추가 옵션을 보여주고 있습니다.

메모리 모드를 사용하면 CLAUDE.md 파일 중 하나를 지능적으로 편집할 수 있습니다. 예를 들어 "주석을 그렇게 자주 쓰지 마세요."라는 요청을 입력한 뒤, 이 지시 사항을 프로젝트 CLAUDE.md 파일에 추가하도록 지정하면, Claude가 해당 지시 사항을 프로젝트 CLAUDE.md 파일에 똑똑하게 병합해줍니다.

VS Code 편집기에서 CLAUDE.md 파일 열려 있고, 우측 Claude AI 대화창에서 메모리 저장 위치 선택지(프로젝트 메모리, 로컬 메모리, 사용자 메모리)가 표시됨.

프로젝트 CLAUDE.md 파일을 열어 검색해보면 새 지시 사항이 실제로 추가된 것을 확인할 수 있습니다.

VS Code 마크다운 편집기에서 CLAUDE.md 파일의 Development Best Practices 섹션이 열려 있으며, 빨간 상자로 강조된 주석 관련 지시문이 표시되어 있고, 오른쪽 패널에는 메모리 업데이트 완료 메시지가 표시됨.

@ 멘션으로 특정 파일을 컨텍스트에 가져오기

CLAUDE.md 파일을 만들었으니, 이제 특정 컨텍스트를 대화에 끌어오는 방법을 알아봅시다. 예를 들어 이 프로젝트의 인증 시스템이 어떻게 동작하는지 더 잘 이해하고 싶다고 합시다. 그냥 Claude에게 '인증 시스템이 어떻게 동작하는지' 물어볼 수도 있습니다.

Claude Code 터미널에서 "인증 시스템이 어떻게 동작하는지" 질문을 입력하는 스크린샷, 재생 시간 3분 50초.

그러면 Claude가 코드베이스를 검색해 인증 시스템과 관련된 파일을 찾아낼 것입니다. 이 과정은 동작은 하지만, 약간의 시간이 걸립니다. 대안으로, 인증 시스템과 관련된 파일들이 무엇인지 이미 알고 있다면 @ 문자를 사용해 그 파일들을 멘션할 수 있습니다.

좌측에 '@' 기호와 파일 경로를 입력하여 파일을 멘션하는 방법을 설명하는 다이어그램, 우측에는 터미널에서 "How does the auth system work?" 질문과 "@src/components/auth/AuthDialog.tsx" 파일 경로가 입력된 스크린샷.

파일을 멘션하면, 해당 파일이 자동으로 Claude에 보내는 요청에 포함됩니다. 이는 Claude를 특정 방향으로 안내하는 아주 훌륭한 기법입니다.

CLAUDE.md 안에서 @ 멘션 활용하기

이 동일한 문법은 CLAUDE.md 안에서도 파일을 멘션하는 데 사용할 수 있습니다. 이게 왜 정말 유용한지 예시로 보여드리겠습니다. 이 프로젝트의 prisma 폴더 안에는 schema.prisma 파일이 있습니다. 이 파일은 프로젝트 정보를 저장하는 데 사용되는 SQLite 데이터베이스의 모든 테이블과 레코드 타입에 대한 완전한 정의를 담고 있습니다.

코드 편집기에서 Prisma 스키마 파일 열려있으며, SQLite 데이터베이스 설정과 User, Project 모델의 필드 정의가 표시됨.

schema.prisma 파일에 있는 정보는 프로젝트에 중요하고 관련성이 높은 정보를 담고 있기 때문에, 이 파일을 CLAUDE.md 파일 안에서 멘션하자고 결정할 수도 있습니다. 방법은 다음과 같습니다.

  1. 먼저 #를 입력해 메모리 모드로 진입합니다.

  2. 해당 schema 파일을 멘션하면서, 데이터베이스 내 데이터의 구조를 이해해야 할 때마다 이 파일을 참조하도록 Claude에게 지시합니다.

업데이트가 완료되면 CLAUDE.md 파일을 열어 메모가 추가되었는지 확인합니다.

코드 편집기 화면. CLAUDE.md 파일 99-101줄에 빨간 테두리로 표시된 '### Database' 섹션. @prisma/schema.prisma 파일 참조에 관한 설명 텍스트. 우측에는 프로젝트 메모리 업데이트 완료 메시지와 선택된 상태 표시. 동영상 플레이어 하단에 03:03 / 06:14 재생 시간 표시.

이렇게 파일을 멘션해두면, 그 파일의 내용이 자동으로 여러분이 Claude에 요청을 보낼 때마다 포함됩니다. 그래서 여러분이 user가 어떤 속성을 가지고 있는지 물어보면, Claude는 schema.prisma 파일을 따로 읽지 않고도 즉시 답변할 수 있습니다.

이 글은 모던웹연구소 (www.modernweblabs.com)에서 처음 발행되었습니다. © 모던웹연구소. 무단 전재 및 재배포를 금합니다.

공유