본문으로 건너뛰기
Kreath Archive
TechProjectsBooksAbout
TechProjectsBooksAbout

내비게이션

  • Tech
  • Projects
  • Books
  • About
  • Tags

카테고리

  • AI / ML
  • 웹 개발
  • 프로그래밍
  • 개발 도구

연결

  • GitHub
  • Email
  • RSS
© 2026 Kreath Archive. All rights reserved.Built with Next.js + MDX
홈TechProjectsBooksAbout
//
  1. 홈
  2. 테크
  3. 7장: 컨텍스트 윈도우 관리와 최적화
2026년 2월 13일·개발 도구·

7장: 컨텍스트 윈도우 관리와 최적화

컨텍스트 엔지니어링의 부상, 파일 선택 전략, 프로젝트 규칙 파일, RAG 기반 코드 검색, 1M 토큰 시대의 전략을 다룹니다.

19분235자10개 섹션
ai-codingclaude-codedevtools
공유
ai-coding-assistant7 / 11
1234567891011
이전6장: Windsurf, Codex, 기타 도구들다음8장: 프롬프트 최적화와 효과적 사용법

학습 목표

  • 컨텍스트 엔지니어링(Context Engineering)의 개념과 중요성을 이해합니다.
  • 효과적인 파일 선택 전략을 수립합니다.
  • .cursorrules, CLAUDE.md, AGENTS.md 등 프로젝트 규칙 파일의 역할과 작성법을 파악합니다.
  • RAG 기반 코드 검색의 원리를 이해합니다.
  • 1M 토큰 시대에 맞는 컨텍스트 관리 전략을 수립합니다.

프롬프트 엔지니어링에서 컨텍스트 엔지니어링으로

AI 코딩 어시스턴트의 품질을 결정하는 가장 중요한 요소는 무엇일까요? 더 나은 모델? 더 정교한 프롬프트? 물론 중요하지만, 실무에서 가장 큰 차이를 만드는 것은 컨텍스트입니다.

같은 모델, 같은 프롬프트라도 어떤 코드와 정보를 함께 제공하느냐에 따라 결과가 극적으로 달라집니다. 이러한 인식이 확산되면서, 단순한 프롬프트 엔지니어링을 넘어 컨텍스트 엔지니어링(Context Engineering)이 "개발자 경험의 핵심"으로 부상하고 있습니다.

컨텍스트 엔지니어링은 다음 질문들에 답하는 것입니다.

  • AI에게 어떤 파일을 보여줄 것인가?
  • 프로젝트의 규칙과 패턴을 어떻게 전달할 것인가?
  • 컨텍스트 윈도우의 한정된 공간을 어떻게 최적화할 것인가?
  • 관련 정보를 어떻게 자동으로 찾아낼 것인가?

컨텍스트 윈도우의 구조

AI 모델이 한 번에 처리할 수 있는 정보의 양에는 한계가 있습니다. 이를 컨텍스트 윈도우(Context Window)라고 하며, 이 공간을 어떻게 활용하느냐가 핵심입니다.

각 영역이 차지하는 비율을 의식적으로 관리해야 합니다.

영역역할최적화 방향
시스템 프롬프트규칙, 컨벤션 전달간결하되 구체적으로
소스 코드작업 대상과 참고 코드관련성 높은 파일만 선별
대화 히스토리이전 맥락 유지자기 요약으로 압축
도구 결과검색, 실행 결과필요한 부분만 발췌
현재 요청사용자의 지시명확하고 구체적으로

파일 선택 전략

어떤 파일을 컨텍스트에 포함시킬 것인가는 결과 품질에 직접적인 영향을 줍니다.

자동 선택 vs 수동 선택

대부분의 도구는 자동으로 관련 파일을 선택합니다. Copilot은 열린 탭과 인접 파일을, Cursor는 벡터 검색으로 관련 파일을 찾습니다. 하지만 자동 선택이 항상 최적은 아닙니다.

수동으로 파일을 지정해야 하는 상황은 다음과 같습니다.

  • 인터페이스 정의: 구현하려는 기능의 타입 정의나 인터페이스가 별도 파일에 있을 때
  • 유사 구현 참조: 비슷한 기능의 기존 구현을 참고하게 하고 싶을 때
  • 설정 파일: 환경 변수, 빌드 설정 등 자동으로 포함되지 않는 파일이 필요할 때
  • 테스트 패턴: 기존 테스트의 패턴을 따르게 하고 싶을 때
Cursor @-멘션을 활용한 파일 선택
text
@src/types/user.ts @src/services/auth-service.ts 
UserService에 OAuth 소셜 로그인 기능을 추가해줘.
기존 auth-service의 패턴을 따라서 구현해줘.

계층적 컨텍스트 전략

대규모 프로젝트에서는 계층적으로 컨텍스트를 구성하는 것이 효과적입니다.

계층적 컨텍스트 구성
text
1단계 (항상 포함): 프로젝트 규칙 파일, 타입 정의
2단계 (작업별 포함): 직접 수정할 파일, 관련 테스트
3단계 (참조용 포함): 유사 구현, API 문서
4단계 (필요시 포함): 설정 파일, 마이그레이션 히스토리
Tip

"모든 것을 포함시키면 되지 않나?"라고 생각할 수 있지만, 실제로는 관련 없는 정보가 많을수록 AI의 주의가 분산되어 품질이 떨어질 수 있습니다. 이를 "컨텍스트 오염"이라 부르며, "Lost in the Middle" 현상과 관련이 있습니다. 관련 있는 정보를 선별하여 제공하는 것이 핵심입니다.


프로젝트 규칙 파일

프로젝트 규칙 파일은 AI에게 프로젝트의 컨벤션과 규칙을 지속적으로 전달하는 메커니즘입니다. 도구별로 다른 이름과 형식을 사용합니다.

.cursorrules (Cursor)

.cursorrules
text
You are working on a Next.js project.
 
Rules:
- Always use TypeScript with strict mode
- Use function declarations, not arrow functions for components
- Use cn() for className composition
- Write all comments in Korean

CLAUDE.md (Claude Code)

CLAUDE.md
markdown
# Project — CLAUDE.md
 
## 기술 스택
- Next.js 16, TypeScript strict, Tailwind CSS v4
 
## 개발 명령어
pnpm dev    # 개발 서버
pnpm build  # 빌드
 
## 핵심 규칙
1. any 타입 사용 금지
2. 컴포넌트는 function 선언
3. 변경 후 빌드 통과 필수

AGENTS.md (GitHub Copilot Agent Mode)

.github/AGENTS.md
markdown
# Agent Instructions
 
## Code Style
- Use TypeScript strict mode
- Follow existing patterns in the codebase
 
## Testing
- Write tests for all new functions
- Use vitest for unit tests

공통 원칙

세 형식은 이름이 다르지만, 효과적인 규칙 파일 작성의 원칙은 동일합니다.

DO — 해야 할 것:

  • 기술 스택과 버전을 명시합니다
  • 빌드 및 테스트 명령어를 포함합니다
  • 코딩 컨벤션을 구체적으로 기술합니다
  • 프로젝트 구조를 설명합니다
  • 자주 하는 실수에 대한 경고를 포함합니다

DON'T — 하지 말아야 할 것:

  • 추상적이고 모호한 지침을 나열하는 것
  • 너무 많은 규칙으로 컨텍스트를 낭비하는 것
  • 자주 변경되는 정보를 포함하는 것
  • AI가 스스로 판단할 수 있는 당연한 사항을 반복하는 것
Info

프로젝트 규칙 파일은 "AI를 위한 온보딩 문서"입니다. 새 팀원이 프로젝트에 합류했을 때 가장 먼저 알아야 할 핵심 정보를 담되, AI가 코드 작업을 수행하는 데 직접적으로 필요한 정보에 집중하세요.


@-멘션과 태그 시스템

도구별로 컨텍스트를 명시적으로 추가하는 방법이 있습니다.

Cursor의 @-멘션

멘션용도사용 예시
@file파일 참조@src/lib/utils.ts
@folder디렉토리 참조@src/components/ui
@code심볼 참조@calculateTotal
@web웹 검색@web Next.js 16 App Router changes
@docs문서 참조@docs React 19

Claude Code의 컨텍스트 제어

Claude Code에서는 대화 중에 파일 경로를 언급하면 자동으로 관련 파일을 읽습니다. 또한 서브에이전트를 통해 대규모 검색을 효율적으로 수행합니다.

Claude Code에서의 컨텍스트 제어
text
"src/services/ 디렉토리의 모든 서비스 파일에서 
에러 핸들링 패턴을 분석하고, 
가장 일관된 패턴으로 통일해줘."

이 경우 Claude Code는 서브에이전트를 사용하여 여러 파일을 병렬로 분석한 뒤, 메인 에이전트가 종합적인 판단을 내립니다.


RAG 기반 코드 검색

대규모 코드베이스에서는 모든 코드를 컨텍스트에 포함시킬 수 없습니다. 이때 RAG(Retrieval-Augmented Generation) 기반 코드 검색이 활용됩니다.

동작 원리

  1. 인덱싱 단계: 코드베이스의 각 파일/함수를 임베딩으로 변환하여 벡터 DB에 저장합니다.
  2. 검색 단계: 사용자의 요청을 임베딩으로 변환하고, 가장 유사한 코드 조각을 검색합니다.
  3. 생성 단계: 검색된 코드 조각을 컨텍스트에 포함하여 LLM에 전달합니다.

검색 품질 향상 전략

RAG의 효과는 검색 품질에 달려 있습니다. 다음 전략이 도움이 됩니다.

  • 청크 크기 최적화: 함수 단위로 청킹하면 클래스 단위보다 검색 정확도가 높습니다.
  • 메타데이터 활용: 파일 경로, 함수명, 타입 정보를 메타데이터로 포함하여 필터링합니다.
  • 하이브리드 검색: 벡터 유사도 검색과 키워드 검색을 결합합니다.
  • 리랭킹: 초기 검색 결과를 LLM으로 재순위하여 관련성을 높입니다.
Warning

RAG는 강력하지만 완벽하지 않습니다. 간접적으로 관련된 파일(예: 설정 파일, 타입 정의)은 의미적 유사도가 낮아 누락될 수 있습니다. 중요한 파일은 수동으로 포함시키는 것이 안전합니다.


1M 토큰 시대의 전략

Gemini를 필두로 1M 토큰 이상의 컨텍스트 윈도우가 보편화되고 있습니다. 이는 컨텍스트 관리 전략을 근본적으로 변화시킵니다.

변화하는 것

  • 파일 선택의 중요성 감소: 더 많은 파일을 포함시킬 수 있으므로, 정밀한 선택의 부담이 줄어듭니다.
  • RAG 의존도 감소: 중소 규모 프로젝트는 전체 코드베이스를 직접 포함시킬 수 있습니다.
  • 긴 작업 세션: 대화 히스토리가 길어져도 컨텍스트가 충분합니다.

변하지 않는 것

  • 관련성의 중요성: 많은 정보를 담을 수 있다고 해서 모든 정보가 유용한 것은 아닙니다.
  • 컨텍스트 오염: 관련 없는 정보가 많으면 "Lost in the Middle" 현상이 여전히 발생합니다.
  • 비용: 토큰 수가 많을수록 API 비용이 증가합니다.
  • 지연 시간: 더 많은 토큰을 처리할수록 응답이 느려집니다.

실전 전략

1M 토큰 시대의 컨텍스트 전략
text
소규모 프로젝트 (5K줄 이하):
  → 전체 코드베이스 포함 + 프로젝트 규칙
 
중규모 프로젝트 (5K-50K줄):
  → 핵심 파일 전체 포함 + 관련 파일 선별 포함
 
대규모 프로젝트 (50K줄 이상):
  → RAG 기반 선별 + 수동 핵심 파일 포함
  → 모노레포: 관련 패키지만 선택적 포함
Tip

컨텍스트 윈도우가 아무리 커져도, "어떤 정보를 어떤 순서로 제공하느냐"는 여전히 중요합니다. 가장 관련 있는 정보를 앞쪽에 배치하고, 프로젝트 규칙은 항상 최상단에 위치시키는 것이 좋습니다.


실전 체크리스트

컨텍스트 엔지니어링을 실무에 적용하기 위한 체크리스트입니다.

프로젝트 설정 단계:

  • 프로젝트 규칙 파일(.cursorrules, CLAUDE.md 등) 작성
  • 코딩 컨벤션과 아키텍처 결정 사항 기록
  • 빌드/테스트 명령어 명시
  • 자주 범하는 실수에 대한 경고 포함

일상적 사용 단계:

  • 작업 전 관련 파일을 미리 열거나 멘션
  • 유사 구현이 있으면 명시적으로 참조
  • 타입 정의와 인터페이스를 컨텍스트에 포함
  • 긴 세션에서는 요약을 활용하여 컨텍스트 관리

팀 수준:

  • 프로젝트 규칙 파일을 버전 관리에 포함
  • 규칙 파일을 정기적으로 업데이트
  • 팀원 간 컨텍스트 관리 노하우 공유

정리

이번 장에서는 AI 코딩 어시스턴트의 효과를 결정하는 핵심 요소인 컨텍스트 관리를 다루었습니다.

  • 컨텍스트 엔지니어링은 프롬프트 엔지니어링을 넘어, AI에게 제공하는 전체 정보를 설계하는 것입니다.
  • 파일 선택은 자동과 수동을 적절히 조합하고, 계층적으로 구성하는 것이 효과적입니다.
  • .cursorrules, CLAUDE.md, AGENTS.md 등 프로젝트 규칙 파일은 일관된 코드 생성의 핵심입니다.
  • RAG 기반 코드 검색은 대규모 코드베이스에서 관련 코드를 효율적으로 찾아줍니다.
  • 1M 토큰 시대에도 관련성과 구조화의 원칙은 변하지 않습니다.

다음 장에서는 컨텍스트 위에서 AI와 소통하는 방법, 즉 프롬프트 최적화와 효과적 사용법을 다루겠습니다.

이 글이 도움이 되셨나요?

관련 주제 더 보기

#ai-coding#claude-code#devtools

관련 글

개발 도구

8장: 프롬프트 최적화와 효과적 사용법

코딩 프롬프트 패턴, 작업 분해 전략, 반복 개선 워크플로우, 코드 리뷰/디버깅/리팩터링 프롬프팅, 도구별 최적 사용법을 다룹니다.

2026년 2월 15일·18분
개발 도구

6장: Windsurf, Codex, 기타 도구들

Windsurf Cascade, OpenAI Codex CLI, Google Antigravity, Amazon Q, Gemini Code Assist, JetBrains AI, Aider 등 주요 AI 코딩 도구들의 특성과 포지셔닝을 비교합니다.

2026년 2월 11일·17분
개발 도구

9장: 코드 생성 품질 평가와 벤치마킹

HumanEval, SWE-bench, CursorBench 등 주요 벤치마크, pass@k 메트릭, AI 코드 품질 문제, 품질 게이트 설계, 자동화된 검증 파이프라인을 다룹니다.

2026년 2월 17일·17분
이전 글6장: Windsurf, Codex, 기타 도구들
다음 글8장: 프롬프트 최적화와 효과적 사용법

댓글

목차

약 19분 남음
  • 학습 목표
  • 프롬프트 엔지니어링에서 컨텍스트 엔지니어링으로
  • 컨텍스트 윈도우의 구조
  • 파일 선택 전략
    • 자동 선택 vs 수동 선택
    • 계층적 컨텍스트 전략
  • 프로젝트 규칙 파일
    • .cursorrules (Cursor)
    • CLAUDE.md (Claude Code)
    • AGENTS.md (GitHub Copilot Agent Mode)
    • 공통 원칙
  • @-멘션과 태그 시스템
    • Cursor의 @-멘션
    • Claude Code의 컨텍스트 제어
  • RAG 기반 코드 검색
    • 동작 원리
    • 검색 품질 향상 전략
  • 1M 토큰 시대의 전략
    • 변화하는 것
    • 변하지 않는 것
    • 실전 전략
  • 실전 체크리스트
  • 정리