컨텍스트 저하
더 많은 컨텍스트가 오히려 상황을 악화시킬 때
AI를 사용할 때 자연스럽게 드는 본능은 모든 것을 제공하는 것입니다. 전체 문서를 붙여넣습니다. 모든 메시지를 포함시킵니다. 찾을 수 있는 모든 컨텍스트를 추가합니다. 정보가 많을수록 더 나은 답변이 나오지 않을까요?
항상 그렇지는 않습니다. 시험을 위해 벼락치기 공부를 해본 사람이라면 직관적으로 알고 있는 현상이 있습니다: 한 번에 마음속에 담을 수 있는 양에는 한계가 있습니다. 그리고 중간에 있는 것들이 가장 먼저 사라지는 경향이 있습니다.
이것이 AI 모델에 어떤 영향을 미치는지 이야기하기 전에, 이것이 여러분에게 어떤 영향을 미치는지 먼저 살펴보겠습니다.
메모리 테스트
15개의 단어를 한 번에 하나씩 보게 됩니다. 각 단어는 약 1.5초 동안 표시됩니다. 최대한 많이 기억해 보세요.
U자형 곡선
여러분이 방금 경험한 것에는 이름이 있습니다: **직렬 위치 효과(serial position effect)**입니다. 심리학자들은 한 세기 넘게 이를 연구해 왔습니다. 목록의 시작 부분에 있는 항목들은 **초두 효과(primacy)**의 이점을 얻고(더 많이 반복 연습되기 때문입니다), 끝 부분에 있는 항목들은 **최신 효과(recency)**의 이점을 얻습니다(여전히 기억이 생생하기 때문입니다). 중간 부분은 어느 쪽의 이점도 얻지 못합니다.
흥미로운 점은: 대규모 언어 모델도 동일한 패턴을 보인다는 것입니다. 2023년, Stanford의 연구자들은 긴 컨텍스트 윈도우 내의 서로 다른 위치에 핵심 사실을 배치했을 때 어떤 일이 일어나는지 테스트했습니다. 정확도는 해당 사실이 맨 처음이나 맨 끝에 있을 때 가장 높았으며, 중간에 묻혀 있을 때는 30% 이상 떨어졌습니다.
이것은 단순한 특이 현상이 아닙니다. 구조적인 문제입니다. Transformer의 어텐션 패턴은 자연스럽게 컨텍스트 윈도우의 양쪽 끝에 더 많은 가중치를 둡니다.
이것이 프롬프팅에 의미하는 것
20페이지짜리 문서를 프롬프트에 붙여넣고 11페이지에 있는 내용에 대해 질문한다면, 모델은 1페이지나 20페이지에 있는 내용보다 이를 놓칠 가능성이 더 높습니다. 이는 컨텍스트를 구성하는 방식에 실질적인 영향을 미칩니다.
실용적인 조언은 간단합니다: 가장 중요한 지시사항을 컨텍스트의 시작과 끝에 배치하세요. 반드시 지켜져야 하는 제약 조건이 있다면, 시스템 프롬프트 초반에 명시하고 끝부분 근처에서 다시 한번 언급하세요. 모델이 그 사이에 있는 모든 것에 동일한 가중치를 둘 것이라고 기대하지 마세요.
이것은 출발점일 뿐, 한계가 아닙니다. 더 숙련될수록 모델이 무엇이 중요한지 확실히 이해하도록 컨텍스트를 구성하는 점점 더 정교한 방법들을 발견하게 될 것입니다 — 윈도우 내에서 정보가 위치하는 곳을 활용하고, 무엇을 포함하고 무엇을 잘라낼지 결정하며, 중요한 지시사항이 죽은 영역으로 미끄러져 들어가지 않도록 유지하는 방법 등입니다. 목표는 항상 동일합니다: Claude가 실제로 필요한 것을 명확하게 알 수 있도록 만드는 것입니다.
더 큰 그림
컨텍스트 저하는 "그냥 더 많은 컨텍스트를 주면 된다"가 항상 정답이 아닌 이유입니다. 추가하는 모든 컨텍스트 조각은 다른 조각들을 중간으로, 즉 어텐션 죽은 영역으로 더 밀어냅니다. 이것이 컨텍스트 엔지니어링의 핵심 긴장입니다: 무엇을 포함할지뿐만 아니라, 어디에 배치하고 무엇을 제외할지가 중요합니다.
여러분 자신의 메모리 테스트가 이미 이것을 알려주었습니다. 중간에 있던 단어들은 사라졌습니다. 동일한 일이 모든 긴 대화, 모든 붙여넣은 문서, 가득 채워진 모든 컨텍스트 윈도우 내부에서 일어납니다. 해결책은 더 많이 주는 것이 아니라 — 더 똑똑하게 주는 것입니다.