근거 파일
AI에게 주장이나 추측 대신 실제 코드를 보게 만들기 위해 지정하는 핵심 파일, 테스트, 로그, 문서 조각을 뜻한다. 초보자가 에러 메시지만 붙여 넣으면 AI는 프로젝트 구현을 모른 채 일반론으로 답할 수 있다. 근거 파일을 함께 지정하면 AI가 현재 코드의 함수명, 데이터 구조, 렌더링 위치, 기존 테스트 의도를 확인한 뒤 수정안을 만들 수 있다. 특히 버그 수정에서는 증상 설명, 재현 경로, 실패 테스트, 관련 소스 파일을 한 세트로 묶어야 검증 가능한 답변이 나온다.
영어 표기
Evidence File
예시
로그인 버튼이 동작하지 않을 때 AI에게 스크린샷만 보내지 않고 관련 컴포넌트 파일, 인증 API 파일, 실패한 테스트 출력, 브라우저 콘솔 에러, 기대 동작을 근거 파일로 지정해 원인 가설과 수정 범위를 검증하게 한다. 수정 후에는 같은 테스트와 수동 클릭으로 재확인한다.
참고
AI가 일반론 대신 현재 프로젝트 증거를 기준으로 답하도록 만드는 컨텍스트 습관.
카테고리
컨텍스트 엔지니어링
난이도
basic
태그
근거파일 · 증거기반
함께 읽기
연관 용어
컨텍스트 엔지니어링
컨텍스트 엔지니어링
영어 표기 Context Engineering
AI 모델에게 '무엇을 보여줄 것인가'를 설계하는 기술로, 컨텍스트 윈도우에 정확히 필요한 정보만을 적절한 양과 형태로 제공하여 모델의 응답 품질을 극대화하는 것이 목표이다. 프롬프트 엔지니어링이 '무엇을 물을 것인가(질문의 설계)'에 집중한다면, 컨텍스트 엔지니어링은 '모델이 무엇을 볼 수 있는가(정보의 설계)'에 집중한다. 핵심 원칙은 '너무 많지도, 너무 적지도 않은 정보 제공(Goldilocks principle)'이다. 10만 줄 코드베이스에서 AI가 '결제 모듈 리팩토링'을 수행할 때, 전체 코드를 넣으면 컨텍스트 부패(Context Rot)가 발생하고, 결제 파일만 넣으면 의존성을 놓친다. 결제 관련 파일 + API 스키마 + 테스트 코드 + CLAUDE.md의 아키텍처 섹션만 제공하는 것이 최적이다. 구체적인 기법으로는 CLAUDE.md/AGENTS.md(프로젝트 규칙 파일), .cursorrules(IDE 설정), RAG(외부 데이터 검색), 코드베이스 인덱싱(자동 검색), 점진적 공개(단계별 정보 제공) 등이 있다. 관계 정리: 프롬프트 엔지니어링(무엇을 묻는가) ⊂ 컨텍스트 엔지니어링(모델이 무엇을 보는가) ⊂ 하네스 엔지니어링(전체 시스템이 어떻게 운영되는가).
컨텍스트 엔지니어링
CLAUDE.md / AGENTS.md
영어 표기 CLAUDE.md / AGENTS.md
프로젝트 루트 디렉토리에 배치하는 마크다운 파일로, AI 에이전트에게 프로젝트의 아키텍처, 코딩 컨벤션, 빌드·테스트 명령어, 기술 스택, 제약 조건 등을 알려주는 '프로젝트 지도(map)' 역할을 한다. Claude Code에서 /init 명령어로 자동 생성할 수 있으며, AI가 프로젝트를 처음 접할 때 가장 먼저 읽는 파일이다. 잘 작성된 CLAUDE.md는 AI 에이전트의 코드 생성 품질을 극적으로 향상시키며, 반대로 이 파일이 없으면 AI가 프로젝트의 패턴과 규칙을 이해하지 못해 일관성 없는 코드를 생성한다. Mitchell Hashimoto(하네스 엔지니어링 창시자)는 AGENTS.md를 반복적으로 개선하는 것을 하네스 엔지니어링의 핵심 활동으로 제안했다. 구체적 방법론은: AI 에이전트가 실수를 했을 때, 같은 실수를 반복하지 않도록 해당 규칙을 AGENTS.md에 추가하는 것이다. 시간이 지남에 따라 AGENTS.md는 프로젝트의 모든 '암묵적 규칙'이 명시화된 문서로 성장한다. CLAUDE.md는 Claude Code 전용이고, AGENTS.md는 도구 독립적인 범용 이름이며, 기능과 목적은 동일하다.
컨텍스트 엔지니어링
.cursorrules / .windsurfrules
영어 표기 .cursorrules / .windsurfrules
Cursor IDE의 .cursorrules와 Windsurf IDE의 .windsurfrules는 각각의 IDE에서 프로젝트별 AI 행동 규칙을 정의하는 설정 파일이다. CLAUDE.md가 Claude Code 전용 규칙 파일이라면, .cursorrules는 Cursor 전용, .windsurfrules는 Windsurf 전용 규칙 파일이다. 기능과 목적은 동일하지만 각 도구에 맞는 형식과 지시 방식이 다르다. 프로젝트 루트에 배치하면 AI가 자동으로 읽어 모든 코드 생성과 수정에 적용한다. 대표적인 규칙 내용으로는 '항상 TypeScript strict mode 사용', 'async/await만 사용하고 .then() 체이닝 금지', 'any 타입 절대 사용 금지', '모든 컴포넌트는 함수형으로 작성', '에러 처리에는 반드시 try-catch 사용' 등이 있다. 이러한 규칙 파일이 없으면 AI가 프로젝트 내에서 일관되지 않은 코딩 스타일을 사용하게 되므로, 바이브 코딩을 시작할 때 가장 먼저 설정해야 하는 파일 중 하나이다. 커뮤니티에서 공유되는 .cursorrules 템플릿도 많으므로 참고하면 좋다.