참고 문서를 골라 넣지 않고 통째로 프롬프트에 넣어, 필요한 부분은 LLM이 스스로 찾아 쓰게 하는 방식이다. 문서가 컨텍스트 창에 들어갈 만큼 작고 자주 바뀌지 않을 때 RAG 대신 쓰는 가장 간단한 방법이다.
| 항목 | 컨텍스트 스터핑 | RAG |
|---|---|---|
| 준비 작업 | 거의 없음 | 문서 쪼개기·임베딩·검색 구축 |
| 다룰 수 있는 문서 양 | 컨텍스트 창 안 | 제한 없음 |
| 정보 누락 | 검색 누락 없음 | 검색이 놓치면 답에서도 빠짐 |
| 요청당 비용 | 문서 전체만큼 | 고른 조각만큼 |
RAG는 질문과 비슷한 조각만 골라 넣는다. 그래서 어떤 문서가 필요한지 미리 알기 어려운 질문에서는 정답이 담긴 부분을 빠뜨릴 수 있다. 스터핑은 고르는 단계가 없으니 이런 누락도 없다. 컨텍스트 창이 길어지면서 현실적인 선택지가 됐다.
문서 전체를 봐야 하는 일에 특히 잘 맞는다. 여러 계약서의 조항 비교, 긴 소설의 인물 관계 정리, 작은 코드베이스 전체를 보고 리팩토링 계획 세우기처럼 흩어진 내용을 엮어야 하는 일이다.
문서마다 제목이나 태그로 경계를 표시해서 넣고, 질문은 문서 뒤에 둔다. 답할 때 어느 문서를 근거로 했는지 밝히라고 하면 확인하기 쉽다. 같은 문서 묶음에 여러 번 묻는다면 문서를 프롬프트 앞쪽에 고정하고 프롬프트 캐싱을 켠다. 반복 요청의 비용과 응답 시간이 줄어든다.
| 상황 | 선택 |
|---|---|
| 사내 규정집처럼 작고 고정된 문서 | 스터핑 |
| 문서 한두 개를 깊이 분석 | 스터핑 |
| 계속 늘어나는 대규모 문서 | RAG |
| 짧은 질문이 대량으로 들어오는 서비스 | RAG 또는 혼합 |
컨텍스트가 길어지면 모델이 중간에 있는 내용을 놓치거나, 관련 없는 문서에 끌려 엉뚱한 답을 하기 쉽다. 창에 들어간다고 다 넣으면 오히려 정확도가 떨어질 수 있어서, 이를 반패턴으로 보는 시각도 있다.
비용과 속도도 따져야 한다. 질문이 한 줄이어도 요청마다 문서 전체가 입력 토큰으로 청구되고, 첫 응답이 나오기까지 시간도 길어진다. 실제 서비스라면 확실히 관계없는 문서는 빼고 넣는 것이 좋다.
처음에는 스터핑으로 만들어 답 품질의 기준선을 잡는다. 그러다 문서가 창을 넘거나 비용이 부담되면 RAG로 옮긴다. 검색으로 후보 문서를 넉넉히 고르고, 고른 문서는 통째로 넣는 혼합 방식도 흔히 쓴다.
가장 흔한 건 채팅 창에 문서 파일을 그대로 올리고 질문하는 방식이다. 검색 시스템을 따로 만들 필요가 없어서 개인 작업이나 작은 사내 도구에서 기본처럼 쓰인다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 채팅 서비스 | PDF·계약서·보고서를 통째로 올리고 요약하거나 서로 비교해 달라고 묻는다 |
| 코드 분석 | 작은 저장소의 파일을 한꺼번에 넣고 구조 파악이나 리팩토링 계획을 맡긴다 |
| 사내 문서 Q&A | 규정집·FAQ처럼 작고 고정된 문서를 프롬프트 앞에 두고 캐싱을 켜서 반복 질문에 답한다 |
| RAG와 혼합 | 검색으로 고른 후보 문서를 조각이 아니라 통째로 넣어 답에서 빠지는 내용을 줄인다 |