본문으로 건너뛰기
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. 3장: CLAUDE.md와 AGENTS.md 고급 전략
2026년 3월 12일·AI / ML·

3장: CLAUDE.md와 AGENTS.md 고급 전략

CLAUDE.md와 AGENTS.md 컨텍스트 파일의 설계 원칙, 효과적인 구조화 방법, 컨텍스트 블로트의 위험성과 대응 전략을 심층 분석합니다.

16분439자8개 섹션
aiai-agentclaude-codellm
공유
context-engineering3 / 10
12345678910
이전2장: 리포지토리 인텔리전스다음4장: 컨텍스트 선택과 검색 전략

이 장에서 배우는 것

  • CLAUDE.md의 설계 원칙: 무엇을 넣고, 무엇을 넣지 않을 것인가
  • AGENTS.md의 등장과 Linux Foundation 표준화 움직임
  • .cursorrules와 기타 컨텍스트 파일들
  • 컨텍스트 파일 블로트의 위험: 성능 저하와 비용 증가의 메커니즘
  • 효과적인 컨텍스트 파일 구조

컨텍스트 파일이란

컨텍스트 파일(Context File)은 AI 에이전트가 프로젝트에서 작업할 때 자동으로 로드되는 설정 파일입니다. README.md가 사람을 위한 프로젝트 소개라면, 컨텍스트 파일은 AI를 위한 프로젝트 브리핑입니다.

주요 컨텍스트 파일의 종류는 다음과 같습니다.

파일대상 도구로드 방식
CLAUDE.mdClaude Code자동 (프로젝트 루트 + 하위 디렉토리)
AGENTS.md범용 (표준화 진행 중)도구별 상이
.cursorrulesCursor자동 (프로젝트 루트)
.github/copilot-instructions.mdGitHub Copilot자동 (리포지토리 설정)
.windsurfrulesWindsurf자동 (프로젝트 루트)

CLAUDE.md 설계 원칙

CLAUDE.md는 Claude Code가 프로젝트에서 작업할 때 가장 먼저 읽는 파일입니다. 모든 대화, 모든 서브에이전트에 사전 로드됩니다. 그만큼 내용의 품질이 전체 작업 품질에 직접적인 영향을 미칩니다.

핵심 원칙: "Claude가 이것 없이 틀릴 것만 넣는다"

CLAUDE.md에 무엇을 넣을지 결정하는 기준은 단순합니다: 이 정보가 없으면 Claude가 잘못된 결과를 만들 것인가?

CLAUDE.md - 좋은 예
markdown
# 프로젝트 개요
 
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 콘텐츠

안티패턴: 과도한 CLAUDE.md

CLAUDE.md - 나쁜 예
markdown
# 프로젝트 개요
 
## 회사 소개
우리 회사는 2019년에 설립되어...
 
## 팀 구조
프론트엔드 팀 5명, 백엔드 팀 3명...
 
## 전체 아키텍처 설명 (500줄)
마이크로서비스 아키텍처를 채택하고 있으며,
서비스 A는 서비스 B와 gRPC로 통신하고...
(... 계속 ...)
 
## 모든 API 엔드포인트 목록 (200줄)
GET /api/v1/users
POST /api/v1/users
...
Warning

CLAUDE.md가 300줄을 넘어가면 경고 신호입니다. 모든 대화에 로드되는 파일이므로, 불필요한 정보는 토큰 낭비이자 모델의 주의력 분산을 유발합니다. 상세 문서는 별도 파일로 분리하고, CLAUDE.md에서 참조 경로만 안내하는 것이 효과적입니다.

계층적 CLAUDE.md

Claude Code는 프로젝트 루트뿐 아니라 하위 디렉토리의 CLAUDE.md도 자동으로 로드합니다. 이를 활용하면 컨텍스트를 계층적으로 구성할 수 있습니다.

계층적 구조
text
project/
  CLAUDE.md              # 전역 규칙 (빌드, 린트, 공통 컨벤션)
  src/
    CLAUDE.md            # 소스 코드 컨벤션
    components/
      CLAUDE.md          # 컴포넌트 작성 규칙
    lib/
      CLAUDE.md          # 유틸리티 작성 규칙
  content/
    CLAUDE.md            # 콘텐츠 작성 규칙
  tests/
    CLAUDE.md            # 테스트 작성 규칙

이 구조의 장점은 에이전트가 특정 디렉토리에서 작업할 때 해당 디렉토리에 특화된 규칙을 추가로 받는다는 것입니다. 전역 CLAUDE.md를 비대하게 만들 필요가 없습니다.

AGENTS.md: 새로운 표준

AGENTS.md는 특정 도구에 종속되지 않는 범용 컨텍스트 파일로, Linux Foundation의 지원 아래 표준화가 진행 중입니다.

AGENTS.md의 목표

AGENTS.md는 README.md가 프로젝트의 사람 대상 문서인 것처럼, 프로젝트의 AI 에이전트 대상 문서가 되는 것을 목표로 합니다.

AGENTS.md 구조 예시
markdown
# 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.mdAGENTS.md
대상Claude Code 전용범용 (모든 AI 에이전트)
표준화Anthropic 사실상 표준Linux Foundation 공식 표준화
로드 방식자동 (Claude Code)도구별 구현에 의존
내용 초점Claude 특화 지시사항프로젝트 일반 정보
계층 지원디렉토리별 가능표준에서 정의 중

실무에서는 두 파일을 함께 사용하는 것이 일반적입니다. AGENTS.md에 범용 프로젝트 정보를 담고, CLAUDE.md에는 Claude Code에 특화된 지시사항(후크, 스킬, MCP 설정 등)을 담습니다.

.cursorrules와 기타 컨텍스트 파일

.cursorrules

Cursor IDE의 컨텍스트 파일입니다. 프로젝트 루트에 위치하며, Cursor가 코드를 생성하거나 수정할 때 참조합니다.

.cursorrules
text
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' type

.github/copilot-instructions.md

GitHub Copilot이 리포지토리 수준에서 참조하는 컨텍스트 파일입니다.

Tip

여러 AI 도구를 사용하는 프로젝트에서는 핵심 규칙을 AGENTS.md에 정리하고, 각 도구의 컨텍스트 파일에서 AGENTS.md를 참조하는 전략이 중복을 줄입니다. 규칙이 변경될 때 한 곳만 수정하면 됩니다.

컨텍스트 블로트의 위험

컨텍스트 파일은 강력하지만, 과도하게 사용하면 오히려 성능을 저하시킵니다. 이를 컨텍스트 블로트(Context Bloat)라고 부릅니다.

성능 저하 메커니즘

연구에 따르면, 불필요한 컨텍스트가 추가될 때 다음과 같은 영향이 관찰됩니다.

"더 많은 규칙이 더 나은 성능을 만들지 않는다"

이 원칙은 직관에 반하지만, 실증적으로 확인된 사실입니다. 자동 생성된 컨텍스트 파일이 대표적인 사례입니다.

auto-generated-bloat.md
markdown
<!-- 자동 생성된 규칙 - 비효과적 -->
## 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줄 더)

이런 일반적인 규칙은 모델이 이미 학습한 내용을 반복할 뿐입니다. 프로젝트에 특화된, 모델이 모를 수 있는 정보만이 가치가 있습니다.

블로트 감지 기준

컨텍스트 파일의 각 항목에 대해 다음 질문을 던져보십시오.

  1. 이것 없이 모델이 틀릴 것인가? -- "아니오"라면 제거 후보입니다.
  2. 이것은 프로젝트에 특화된 정보인가? -- 일반적인 프로그래밍 상식이라면 불필요합니다.
  3. 이것이 다른 규칙과 상충하지 않는가? -- 상충하는 규칙은 모델을 혼란시킵니다.
  4. 이것이 실행 가능한 지시인가? -- "좋은 코드를 작성하라"는 실행 불가능한 지시입니다.

효과적인 컨텍스트 파일 구조

정보 밀도 최적화

CLAUDE.md - 최적화된 구조
markdown
# 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

이 구조의 특징은 다음과 같습니다.

  • 핵심만 포함: 80줄 미만
  • 계층적 참조: 상세 정보는 별도 문서로 분리
  • 실행 가능한 규칙: 모든 규칙이 구체적이고 검증 가능
  • 프로젝트 특화: 일반적 프로그래밍 조언 배제

규칙의 우선순위

컨텍스트 파일 내에서도 정보에는 우선순위가 있습니다. 가장 중요한 규칙을 먼저 배치하는 것이 효과적입니다.

Tip

컨텍스트 파일은 살아있는 문서입니다. 정기적으로 리뷰하여 더 이상 유효하지 않은 규칙을 제거하고, 반복적으로 발생하는 실수에 대한 규칙을 추가하십시오. 매주 5분의 유지보수가 누적된 블로트를 방지합니다.


요약

컨텍스트 파일은 AI 에이전트에게 프로젝트의 핵심 정보를 전달하는 강력한 도구입니다. CLAUDE.md, AGENTS.md, .cursorrules 등 도구별 파일이 존재하며, AGENTS.md는 Linux Foundation의 지원 아래 범용 표준으로 발전하고 있습니다.

핵심은 "Claude가 이것 없이 틀릴 것만 넣는다"는 원칙입니다. 자동 생성된 일반적 규칙이나 과도한 문서화는 오히려 성공률을 0.5~2% 저하시키고, 비용을 20% 이상 증가시킬 수 있습니다. 300줄 미만의 집중된 컨텍스트 파일이 500줄 이상의 비대한 파일보다 효과적입니다.

다음 장에서는 5가지 컨텍스트 전략 중 첫 번째인 컨텍스트 선택을 다룹니다. 코드베이스에서 관련 파일을 정밀하게 선택하는 기법, @-멘션 시스템, RAG 기반 코드 검색, 의존성 그래프 추적 등을 살펴봅니다.

이 글이 도움이 되셨나요?

관련 주제 더 보기

#ai#ai-agent#claude-code#llm

관련 글

AI / ML

4장: 컨텍스트 선택과 검색 전략

코드베이스에서 관련 파일을 정밀하게 선택하는 기법을 다룹니다. @-멘션 시스템, RAG 기반 코드 검색, 의존성 그래프 추적, 변경 영향 분석을 분석합니다.

2026년 3월 14일·16분
AI / ML

2장: 리포지토리 인텔리전스

AI 코딩 도구들이 코드베이스를 이해하는 방법을 비교합니다. 시맨틱 인덱싱, 코드맵, 실시간 지식 그래프, 에이전트 탐색 전략을 심층 분석합니다.

2026년 3월 10일·17분
AI / ML

5장: 컨텍스트 압축과 정보 밀도 최적화

토큰 한계와 비용을 최적화하면서 핵심 의미를 보존하는 컨텍스트 압축 기법을 다룹니다. 코드 요약, 인터페이스 추출, 트리 구조 압축 등을 분석합니다.

2026년 3월 16일·15분
이전 글2장: 리포지토리 인텔리전스
다음 글4장: 컨텍스트 선택과 검색 전략

댓글

목차

약 16분 남음
  • 이 장에서 배우는 것
  • 컨텍스트 파일이란
  • CLAUDE.md 설계 원칙
    • 핵심 원칙: "Claude가 이것 없이 틀릴 것만 넣는다"
    • 안티패턴: 과도한 CLAUDE.md
    • 계층적 CLAUDE.md
  • AGENTS.md: 새로운 표준
    • AGENTS.md의 목표
    • CLAUDE.md와 AGENTS.md의 관계
  • .cursorrules와 기타 컨텍스트 파일
    • .cursorrules
    • .github/copilot-instructions.md
  • 컨텍스트 블로트의 위험
    • 성능 저하 메커니즘
    • "더 많은 규칙이 더 나은 성능을 만들지 않는다"
    • 블로트 감지 기준
  • 효과적인 컨텍스트 파일 구조
    • 정보 밀도 최적화
    • 규칙의 우선순위
  • 요약