|

RAG context packing이 중요한 이유: 검색한 문서를 그대로 넣으면 왜 답이 흔들릴까

RAG context packing이 중요한 이유: 검색한 문서를 그대로 넣으면 왜 답이 흔들릴까
RAG context packing은 검색 결과를 그대로 넣는 것이 아니라 답변에 필요한 근거를 정리해 담는 과정이다.

RAG context packing은 검색된 문서를 모델 입력에 어떻게 담을지 결정하는 과정입니다. RAG가 흔들릴 때 원인은 검색 자체가 아니라 검색 결과를 너무 거칠게 넣는 방식일 수 있습니다.

핵심은 검색한 문서를 많이 넣는 것이 아니라, 답변에 필요한 근거를 모델이 읽을 수 있는 형태로 정리하는 것입니다. LangChain의 retrieval 문서도 외부 정보를 찾아 모델 입력에 연결하는 흐름을 다룹니다.


RAG context packing 핵심 기준

RAG context packing 요약 카드
검색 결과를 많이 넣는 것보다 필요한 근거를 잘 담는 것이 더 중요할 수 있다.

검색 결과를 그대로 넣으면 생기는 문제

검색 결과 상위 5개를 그대로 붙이면 간단해 보입니다. 하지만 실제 문서에는 중복, 오래된 정보, 약한 근거, 서로 충돌하는 설명이 섞일 수 있습니다. 모델은 이 중 무엇을 더 믿어야 하는지 알기 어렵습니다.

context window가 크더라도 모든 문서를 넣는 방식은 비용과 품질 모두에서 손해가 될 수 있습니다. 관련 없는 문서가 많아질수록 모델이 핵심 근거를 놓칠 가능성도 커집니다.

context packing은 retrieval 다음 단계다

retrieval이 후보를 찾는 단계라면 context packing은 후보를 답변에 쓸 수 있게 정리하는 단계입니다. 이 단계에는 정렬, 중복 제거, 길이 제한, 출처 표시, 최신성 판단이 포함될 수 있습니다.

user question
  -> retrieve candidate chunks
  -> rerank by relevance
  -> remove duplicates
  -> filter by permission / freshness
  -> pack evidence into context
  -> generate grounded answer

근거 우선순위를 정해야 한다

같은 질문에 대해 공식 문서, 오래된 블로그, 내부 메모가 함께 검색될 수 있습니다. 이때 모든 문서를 같은 무게로 넣으면 답변이 흔들립니다. 공식 문서와 최신 문서를 먼저 두고, 보조 자료는 뒤에 두는 식의 정책이 필요합니다.

이 문제는 AI context engineering과 비용 문제와도 연결됩니다. context는 무료 공간이 아니라 제한된 입력 예산입니다.

중복 제거는 생각보다 중요하다

chunking을 잘못하면 같은 문장이 여러 chunk에 반복될 수 있습니다. 중복 근거가 많아지면 모델은 그것을 중요한 정보처럼 오해할 수 있습니다. 반대로 중요한 반례나 제한 조건이 밀려나면 답변은 단정적으로 변합니다.

  • 같은 문서의 인접 chunk가 반복되는지 확인한다.
  • 질문과 직접 관련 없는 배경 설명을 줄인다.
  • 최신 문서와 오래된 문서가 충돌하면 표시한다.
  • 답변에 필요한 정의, 조건, 예외를 함께 담는다.

작은 packing 정책 예시

context_packing:
  max_chunks: 6
  priority:
    - official_docs
    - latest_internal_policy
    - source_code
    - old_notes
  remove:
    - duplicate_chunks
    - low_similarity_chunks
  include:
    - source_title
    - updated_at
    - quoted_evidence

실패 사례

  • 검색 점수만 보고 오래된 문서를 맨 앞에 둔다.
  • 비슷한 chunk를 여러 개 넣어 context를 낭비한다.
  • 권한 없는 문서를 검색 결과에 섞는다.
  • 출처와 작성 시점을 빼서 답변 근거를 검증할 수 없다.
  • 반례나 제한 조건을 잘라내고 결론만 넣는다.

정리

RAG context packing은 검색 결과를 예쁘게 정리하는 부가 기능이 아닙니다. 검색된 근거를 모델이 답변에 쓸 수 있도록 고르고, 줄이고, 순서를 정하는 핵심 단계입니다. RAG 답변이 흔들린다면 검색 모델만 바꾸기 전에 context packing 정책부터 점검해야 합니다.

함께보면 좋은 글