CLAUDE.md와 AGENTS.md 컨텍스트 파일의 설계 원칙, 효과적인 구조화 방법, 컨텍스트 블로트의 위험성과 대응 전략을 심층 분석합니다.
컨텍스트 파일(Context File)은 AI 에이전트가 프로젝트에서 작업할 때 자동으로 로드되는 설정 파일입니다. README.md가 사람을 위한 프로젝트 소개라면, 컨텍스트 파일은 AI를 위한 프로젝트 브리핑입니다.
주요 컨텍스트 파일의 종류는 다음과 같습니다.
| 파일 | 대상 도구 | 로드 방식 |
|---|---|---|
| CLAUDE.md | Claude Code | 자동 (프로젝트 루트 + 하위 디렉토리) |
| AGENTS.md | 범용 (표준화 진행 중) | 도구별 상이 |
| .cursorrules | Cursor | 자동 (프로젝트 루트) |
| .github/copilot-instructions.md | GitHub Copilot | 자동 (리포지토리 설정) |
| .windsurfrules | Windsurf | 자동 (프로젝트 루트) |
CLAUDE.md는 Claude Code가 프로젝트에서 작업할 때 가장 먼저 읽는 파일입니다. 모든 대화, 모든 서브에이전트에 사전 로드됩니다. 그만큼 내용의 품질이 전체 작업 품질에 직접적인 영향을 미칩니다.
CLAUDE.md에 무엇을 넣을지 결정하는 기준은 단순합니다: 이 정보가 없으면 Claude가 잘못된 결과를 만들 것인가?
# 프로젝트 개요
Next.js 16 App Router + TypeScript strict 프로젝트
## 핵심 명령어
- pnpm dev: 개발 서버 (port 3020)
- pnpm build: 프로덕션 빌드 (반드시 통과해야 함)
- pnpm lint: ESLint 검사
## 절대 규칙
1. any 타입 사용 금지
2. 컴포넌트는 function 선언 사용 (화살표 함수 아님)
3. className은 cn() 함수로 결합
4. 이모지 사용 금지
## 프로젝트 구조
src/app/ - App Router 페이지
src/components/ - UI 컴포넌트
src/lib/ - 유틸리티
content/ - MDX 콘텐츠# 프로젝트 개요
## 회사 소개
우리 회사는 2019년에 설립되어...
## 팀 구조
프론트엔드 팀 5명, 백엔드 팀 3명...
## 전체 아키텍처 설명 (500줄)
마이크로서비스 아키텍처를 채택하고 있으며,
서비스 A는 서비스 B와 gRPC로 통신하고...
(... 계속 ...)
## 모든 API 엔드포인트 목록 (200줄)
GET /api/v1/users
POST /api/v1/users
...CLAUDE.md가 300줄을 넘어가면 경고 신호입니다. 모든 대화에 로드되는 파일이므로, 불필요한 정보는 토큰 낭비이자 모델의 주의력 분산을 유발합니다. 상세 문서는 별도 파일로 분리하고, CLAUDE.md에서 참조 경로만 안내하는 것이 효과적입니다.
Claude Code는 프로젝트 루트뿐 아니라 하위 디렉토리의 CLAUDE.md도 자동으로 로드합니다. 이를 활용하면 컨텍스트를 계층적으로 구성할 수 있습니다.
project/
CLAUDE.md # 전역 규칙 (빌드, 린트, 공통 컨벤션)
src/
CLAUDE.md # 소스 코드 컨벤션
components/
CLAUDE.md # 컴포넌트 작성 규칙
lib/
CLAUDE.md # 유틸리티 작성 규칙
content/
CLAUDE.md # 콘텐츠 작성 규칙
tests/
CLAUDE.md # 테스트 작성 규칙이 구조의 장점은 에이전트가 특정 디렉토리에서 작업할 때 해당 디렉토리에 특화된 규칙을 추가로 받는다는 것입니다. 전역 CLAUDE.md를 비대하게 만들 필요가 없습니다.
AGENTS.md는 특정 도구에 종속되지 않는 범용 컨텍스트 파일로, Linux Foundation의 지원 아래 표준화가 진행 중입니다.
AGENTS.md는 README.md가 프로젝트의 사람 대상 문서인 것처럼, 프로젝트의 AI 에이전트 대상 문서가 되는 것을 목표로 합니다.
# AGENTS.md
## Project Overview
Brief description of the project and its purpose.
## Architecture
High-level architecture description.
## Development Setup
How to set up and run the project.
## Code Conventions
Coding standards and patterns used.
## Testing
How to write and run tests.
## Common Pitfalls
Things that AI agents commonly get wrong.| 측면 | CLAUDE.md | AGENTS.md |
|---|---|---|
| 대상 | Claude Code 전용 | 범용 (모든 AI 에이전트) |
| 표준화 | Anthropic 사실상 표준 | Linux Foundation 공식 표준화 |
| 로드 방식 | 자동 (Claude Code) | 도구별 구현에 의존 |
| 내용 초점 | Claude 특화 지시사항 | 프로젝트 일반 정보 |
| 계층 지원 | 디렉토리별 가능 | 표준에서 정의 중 |
실무에서는 두 파일을 함께 사용하는 것이 일반적입니다. AGENTS.md에 범용 프로젝트 정보를 담고, CLAUDE.md에는 Claude Code에 특화된 지시사항(후크, 스킬, MCP 설정 등)을 담습니다.
Cursor IDE의 컨텍스트 파일입니다. 프로젝트 루트에 위치하며, Cursor가 코드를 생성하거나 수정할 때 참조합니다.
You are working on a Next.js 16 project with TypeScript strict mode.
Rules:
- Use function declarations for components, not arrow functions
- Use cn() for className composition
- Follow the existing patterns in src/components/
- Always add proper TypeScript types
- Never use 'any' typeGitHub Copilot이 리포지토리 수준에서 참조하는 컨텍스트 파일입니다.
여러 AI 도구를 사용하는 프로젝트에서는 핵심 규칙을 AGENTS.md에 정리하고, 각 도구의 컨텍스트 파일에서 AGENTS.md를 참조하는 전략이 중복을 줄입니다. 규칙이 변경될 때 한 곳만 수정하면 됩니다.
컨텍스트 파일은 강력하지만, 과도하게 사용하면 오히려 성능을 저하시킵니다. 이를 컨텍스트 블로트(Context Bloat)라고 부릅니다.
연구에 따르면, 불필요한 컨텍스트가 추가될 때 다음과 같은 영향이 관찰됩니다.
이 원칙은 직관에 반하지만, 실증적으로 확인된 사실입니다. 자동 생성된 컨텍스트 파일이 대표적인 사례입니다.
<!-- 자동 생성된 규칙 - 비효과적 -->
## Rules
1. Always write clean code
2. Follow best practices
3. Write meaningful variable names
4. Add comments where necessary
5. Handle errors properly
6. Write unit tests
7. Use proper indentation
8. Follow DRY principle
9. Keep functions small
10. Use meaningful commit messages
... (100줄 더)이런 일반적인 규칙은 모델이 이미 학습한 내용을 반복할 뿐입니다. 프로젝트에 특화된, 모델이 모를 수 있는 정보만이 가치가 있습니다.
컨텍스트 파일의 각 항목에 대해 다음 질문을 던져보십시오.
# Project Name
## Quick Start
pnpm dev # 개발 서버 (port 3020)
pnpm build # 빌드 (변경 후 반드시 통과 확인)
## Must-Know Rules
1. TypeScript strict, no 'any'
2. Components: function declarations only
3. Styling: Tailwind + cn() only, no inline styles
4. No emojis anywhere
## Project Structure
src/app/ - Pages (App Router)
src/components/ - UI components
src/lib/ - Utilities
content/ - MDX content
## When You Need More Context
- Architecture details: docs/architecture.md
- Design system: docs/design-system.md
- Content writing: docs/content-guide.md
- Coding conventions: docs/conventions.md이 구조의 특징은 다음과 같습니다.
컨텍스트 파일 내에서도 정보에는 우선순위가 있습니다. 가장 중요한 규칙을 먼저 배치하는 것이 효과적입니다.
컨텍스트 파일은 살아있는 문서입니다. 정기적으로 리뷰하여 더 이상 유효하지 않은 규칙을 제거하고, 반복적으로 발생하는 실수에 대한 규칙을 추가하십시오. 매주 5분의 유지보수가 누적된 블로트를 방지합니다.
컨텍스트 파일은 AI 에이전트에게 프로젝트의 핵심 정보를 전달하는 강력한 도구입니다. CLAUDE.md, AGENTS.md, .cursorrules 등 도구별 파일이 존재하며, AGENTS.md는 Linux Foundation의 지원 아래 범용 표준으로 발전하고 있습니다.
핵심은 "Claude가 이것 없이 틀릴 것만 넣는다"는 원칙입니다. 자동 생성된 일반적 규칙이나 과도한 문서화는 오히려 성공률을 0.5~2% 저하시키고, 비용을 20% 이상 증가시킬 수 있습니다. 300줄 미만의 집중된 컨텍스트 파일이 500줄 이상의 비대한 파일보다 효과적입니다.
다음 장에서는 5가지 컨텍스트 전략 중 첫 번째인 컨텍스트 선택을 다룹니다. 코드베이스에서 관련 파일을 정밀하게 선택하는 기법, @-멘션 시스템, RAG 기반 코드 검색, 의존성 그래프 추적 등을 살펴봅니다.
이 글이 도움이 되셨나요?
관련 주제 더 보기
코드베이스에서 관련 파일을 정밀하게 선택하는 기법을 다룹니다. @-멘션 시스템, RAG 기반 코드 검색, 의존성 그래프 추적, 변경 영향 분석을 분석합니다.
AI 코딩 도구들이 코드베이스를 이해하는 방법을 비교합니다. 시맨틱 인덱싱, 코드맵, 실시간 지식 그래프, 에이전트 탐색 전략을 심층 분석합니다.
토큰 한계와 비용을 최적화하면서 핵심 의미를 보존하는 컨텍스트 압축 기법을 다룹니다. 코드 요약, 인터페이스 추출, 트리 구조 압축 등을 분석합니다.