LLM의 컨텍스트 창(Context Window)은 모델이 응답 생성 시 고려할 수 있는 입력 및 출력 토큰의 총량을 의미함
대화가 길어질수록 컨텍스트 창에 더 많은 토큰이 쌓이며, 모델의 작동 메모리(Working Memory) 한계에 도달하면 정보 손실 발생
'중간 정보 손실(Lost in the Middle)' 문제로 인해 긴 컨텍스트를 효과적으로 사용하지 못하며, 데이터 미저장 정책(Zero-Retention Policy)으로 인해 이전 대화 기억 불가
검색 증강 생성(RAG, Retrieval-Augmented Generation)은 관련 정보를 검색하여 프롬프트에 추가함으로써 정보 과부하 및 모델의 지식 부족 문제를 해결함
LLM의 컨텍스트 창은 모델이 한 번에 처리할 수 있는 토큰의 최대치를 정의하며, 이는 메모리 및 연산 비용 증가로 직결된다.
슬라이딩 윈도우(Sliding Window): 새로운 토큰이 들어오면 오래된 토큰이 창 밖으로 밀려나 모델이 접근할 수 없게 되는 '기억 상실' 문제 발생
'중간 정보 손실(Lost in the Middle)' 현상: 모델이 긴 컨텍스트의 시작과 끝 부분에 더 집중하고 중간 내용은 간과하는 경향이 있어, 정보 활용 효율성 저하
비용 및 성능 트레이드오프(Cost-Performance Trade-off): 컨텍스트 창이 크다고 무조건 좋은 것이 아니며, 처리 시간 증가 및 비용 상승을 동반함
결론적으로, 단순히 컨텍스트 창 크기를 늘리는 것만으로는 근본적인 해결이 어렵다.
RAG는 LLM이 외부 지식 소스를 실시간으로 참조하여 답변을 생성하는 기술로, '기억에 의존한 추측' 대신 '정보 검색 후 답변' 방식을 사용한다.
정보 검색(Retrieval): 관련성 높은 정보를 외부 문서에서 찾아 프롬프트에 주입하여 '정보 부족' 문제 해결
컨텍스트 창 부담 완화: 전체 문서를 컨텍스트 창에 넣을 필요 없이 필요한 부분만 추출하여 '토큰 예산 초과' 문제 해결
정확성 및 최신성 확보: 모델의 훈련 데이터 컷오프(Training Data Cutoff) 문제를 극복하고 최신 또는 비공개 데이터 기반 답변 생성 가능
하지만 RAG 시스템의 성능은 검색 단계의 정확성에 크게 좌우되므로, 검색 품질이 낮으면 잘못된 답변을 생성할 수 있다.
최신 LLM들은 수십만 토큰에 달하는 거대한 컨텍스트 창을 광고하지만, 이는 단순히 크기만 키우는 것의 한계를 보여준다.
비용 및 속도: 컨텍스트 창이 커질수록 요청당 처리 시간과 비용이 기하급수적으로 증가하며, 이는 실시간 서비스에 부담
정보 활용 비효율성: 모델은 긴 컨텍스트 내에서 중요 정보를 놓치거나 관련 없는 정보에 집중할 가능성이 높아져, 오히려 답변의 질이 저하될 수 있음
노이즈 증가: 컨텍스트 내 불필요하거나 오래된 정보가 많아지면 모델이 혼란을 겪고 '환각(Hallucination)' 현상을 유발할 위험 증가
따라서 RAG와 같이 정교한 정보 선별 방식이 더 효과적인 대안으로 주목받고 있다.
LLM은 기본적으로 대화 간의 영속적인 기억(Persistent Memory)을 가지지 않는다는 점을 이해해야 한다.
컨텍스트 창의 휘발성: 대화가 길어지면 컨텍스트 창 내의 이전 정보는 모델의 접근 범위에서 벗어나 마치 '잊어버린' 것처럼 보임
데이터 미저장 정책(Zero-Retention Policy): 많은 LLM 서비스는 개인 정보 보호 및 보안을 위해 대화 기록을 저장하지 않으며, 이는 사용자가 제공한 정보가 영구적으로 보존되지 않음을 의미함
추가적인 솔루션의 필요성: 이러한 한계를 극복하기 위해 애플리케이션 레벨에서 대화 기록 관리, 요약, 또는 외부 DB 연동 등의 추가적인 기능 구현이 필요함