바이브 코딩 사전

근거 기반 생성

바이브 코딩 사전

근거 기반 생성

LLM의 출력을 실제 사실에 기반한 신뢰할 수 있는 정보 소스에 연결(anchor)하여 환각(Hallucination)을 줄이는 기법의 총칭이다. '그라운딩(Grounding)'은 비행기가 '착륙(ground)'하듯, AI의 답변을 현실의 '근거(ground)'에 밀착시킨다는 의미이다. 코딩 맥락에서의 Grounding은 AI가 코드를 생성할 때 공식 라이브러리 문서, 실제 API 스키마, 검증된 코드 예시 등 신뢰할 수 있는 출처를 참조하여 실제로 존재하는 API와 메서드만 사용하도록 보장하는 것을 말한다. RAG(검색 증강 생성)가 Grounding을 구현하는 가장 대표적인 기술이며, 그 외에도 공식 문서를 컨텍스트에 직접 포함시키기, AI에게 '공식 문서를 확인하고 나서 코드를 작성해줘'라고 명시적으로 지시하기, 생성된 코드에서 사용한 API가 실제로 존재하는지 자동 검증하기 등의 방법이 있다. Google의 Gemini는 'Grounding with Google Search' 기능으로 웹 검색 결과를 자동으로 참조하는 내장 Grounding 메커니즘을 제공한다.

예시

AI가 코드를 생성할 때, 공식 라이브러리 문서를 참조하여 실제 존재하는 API만 사용하도록 보장.

카테고리

컨텍스트 엔지니어링

난이도

intermediate

태그

그라운딩 · 사실기반

함께 읽기

연관 용어

컨텍스트 엔지니어링

컨텍스트 엔지니어링

AI 모델에게 '무엇을 보여줄 것인가'를 설계하는 기술로, 컨텍스트 윈도우에 정확히 필요한 정보만을 적절한 양과 형태로 제공하여 모델의 응답 품질을 극대화하는 것이 목표이다. 프롬프트 엔지니어링이 '무엇을 물을 것인가(질문의 설계)'에 집중한다면, 컨텍스트 엔지니어링은 '모델이 무엇을 볼 수 있는가(정보의 설계)'에 집중한다. 핵심 원칙은 '너무 많지도, 너무 적지도 않은 정보 제공(Goldilocks principle)'이다. 10만 줄 코드베이스에서 AI가 '결제 모듈 리팩토링'을 수행할 때, 전체 코드를 넣으면 컨텍스트 부패(Context Rot)가 발생하고, 결제 파일만 넣으면 의존성을 놓친다. 결제 관련 파일 + API 스키마 + 테스트 코드 + CLAUDE.md의 아키텍처 섹션만 제공하는 것이 최적이다. 구체적인 기법으로는 CLAUDE.md/AGENTS.md(프로젝트 규칙 파일), .cursorrules(IDE 설정), RAG(외부 데이터 검색), 코드베이스 인덱싱(자동 검색), 점진적 공개(단계별 정보 제공) 등이 있다. 관계 정리: 프롬프트 엔지니어링(무엇을 묻는가) ⊂ 컨텍스트 엔지니어링(모델이 무엇을 보는가) ⊂ 하네스 엔지니어링(전체 시스템이 어떻게 운영되는가).

컨텍스트 엔지니어링

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

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 템플릿도 많으므로 참고하면 좋다.