본문 바로가기

대화의 비밀

대화를 주고받다 보면 AI가 앞에서 한 말을 기억하고 있는 것처럼 보입니다. 하지만 '단어 맞히기' 절에서 확인했듯 모델은 함수일 뿐입니다. 함수는 들어온 문장을 읽고 다음 단어를 내놓을 뿐, 지나간 대화를 어딘가에 저장해 두지 않습니다. 그런데도 맥락이 이어지는 이유는, 채팅 앱이 여러분 몰래 한 가지 일을 해주기 때문입니다.

1. 채팅 앱의 비밀

여러분은 "매운 건 못 먹는데?"라는 한 줄만 입력했지만, 함수에 실제로 들어간 것은 첫 질문과 첫 답변까지 포함한 대화 전체입니다. 모델이 맥락을 기억해서 김밥을 권한 것이 아니라, 매번 대화 전체를 처음 보는 것처럼 다시 읽기 때문에 맥락에 맞는 답이 나오는 것입니다. 기억을 들고 있는 쪽은 모델이 아니라 채팅창입니다.

이 장면을 시뮬레이터의 '대화의 비밀' 페이지에서 직접 보겠습니다.

왼쪽에는 여러분이 평소 보는 채팅 화면이, 오른쪽에는 그 순간 모델에게 실제로 전송되는 '묶음'이 나란히 놓여 있습니다. 다음 메시지 보내기를 세 번쯤 눌러 보세요. 제주도 여행 일정을 묻는 대화가 한 턴씩 진행됩니다. 오른쪽 묶음을 계속 지켜보는 것이 포인트입니다.

채팅 화면과 실제 전송 묶음

왼쪽 화면에서 방금 입력한 것은 "둘째 날은 바다 위주로 바꿔줘" 한 줄이지만, 오른쪽을 보면 첫인사부터 지금까지의 대화 전체가 통째로 다시 전송되고 있습니다. 앞 절에서 본 시스템 프롬프트라는 쪽지도 이 묶음의 맨 앞에 붙어 갑니다.

2. 컨텍스트 창이라는 작업대

그런데 대화가 아주 길어지면 문제가 생깁니다. 함수에 한 번에 넣을 수 있는 양에 한계가 있기 때문입니다. 이 한계를 컨텍스트 창(context window)이라고 부릅니다.

작업대를 떠올리면 정확합니다. 모델은 작업대 위에 올라온 것만 볼 수 있습니다. 그리고 작업대의 크기는 정해져 있습니다. 대화가 길어져서 작업대가 가득 차면, 서비스는 오래된 부분을 잘라내거나 요약본으로 바꿔치기합니다. 여러분 화면에는 첫 대화가 그대로 보이지만, 함수에 들어가는 입력에서는 이미 빠져 있을 수 있다는 뜻입니다.

시뮬레이터로 돌아가서 화면 아래 게이지 두 개를 봐주세요.

대화 초반의 게이지

세 턴을 주고받은 지금은 쌓인 토큰이 1천 개가 안 되고, AI의 집중력도 100%입니다. 아직 가벼운 상태입니다.

이제 자동 재생을 눌러 대화가 끝까지 진행되게 두세요. 소설 첨삭, 보고서 요약, 코드 디버깅까지 긴 글이 붙여넣어질 때마다 토큰이 훌쩍훌쩍 뛰는 것이 보입니다.

토큰이 1만을 넘은 게이지

여덟 번의 대화 만에 쌓인 토큰이 1만을 넘었고, AI의 집중력은 47%까지 떨어졌습니다.

토큰이 1만을 넘는 순간 경고 배너가 나타납니다.

1만 토큰 경고 배너

이제 질문 하나를 던질 때마다 책 반 권 분량이 통째로 다시 전송됩니다. 배너의 요약만 들고 새 대화 시작 버튼을 눌러 보세요. 1만 토큰짜리 대화가 320토큰짜리 요약으로 줄어든 새 창이 열리고, 집중력도 되살아납니다.

컨텍스트 창의 크기는 토큰 단위로 잽니다. 초기 ChatGPT의 작업대가 책 몇십 페이지 분량이었다면, 요즘 모델들은 책 여러 권 분량까지 커졌습니다. 그래도 한계가 있다는 사실 자체는 변하지 않았습니다. 그리고 토큰의 비밀에서 봤듯 같은 뜻이라도 한국어가 토큰을 더 쓰기 때문에, 한국어 대화는 작업대가 조금 더 빨리 찹니다.

3. 집중력 하락은 연출이 아니다

시뮬레이션의 '집중력' 게이지는 실제로 측정된 현상입니다. NoLiMa라는 벤치마크 연구는 컨텍스트가 길어질수록 모델이 의미로 연결된 정보를 찾아내는 능력이 급격히 떨어진다고 보고했습니다. 아래 그래프에서 볼 수 있듯, 좋은 모델들도 책 몇십 페이지 분량에서 정확도가 99%에서 70%대까지 떨어졌습니다.

NoLiMa 벤치마크 결과

길이만 문제가 아니라 정보를 놓아둔 '위치'도 문제입니다. Lost in the Middle 연구는 긴 맥락 안에서 정답에 해당하는 정보를 어디에 두느냐에 따라 성능이 달라지는지를 살폈습니다. 그 결과 맨 앞이나 맨 뒤에 둔 정보는 잘 활용했지만, 가운데에 묻힌 정보는 놓치는 경향이 뚜렷했습니다. 위치에 따라 정확도를 그려보면 양 끝이 높고 가운데가 낮은 U자 모양이 나타납니다. 작업대 위 서류 더미로 치면, 맨 위와 맨 아래는 눈에 잘 띄지만 중간에 끼인 서류는 잊히는 셈입니다.

Lost in the Middle 연구의 U자 곡선

대화를 주고받는 형식 자체도 한몫합니다. 2025년에 발표된 LLMs Get Lost In Multi-Turn Conversation 연구는 같은 작업을 한 번에 정리해서 지시했을 때와 여러 턴에 걸쳐 조금씩 지시했을 때를 비교했는데, 평균 정확도가 90%에서 65%로 떨어졌습니다. 최신 모델도 예외가 아니었습니다. "일단 시켜보고 결과를 보면서 한 줄씩 고치는" 흔한 사용 방식이, 모델 입장에서는 가장 불리한 시나리오인 셈입니다.

그래서 경험 많은 사용자들은 두 가지 습관을 갖고 있습니다. 방금 시뮬레이션에서 배너가 권한 것과 같은 방법입니다.

  • 대화가 길어지면 새로 시작하기: 지금까지의 결론을 요약해 달라고 한 뒤, 그 요약을 들고 새 채팅에서 이어갑니다. 작업대를 깨끗하게 비우고 핵심만 다시 올리는 것입니다.
  • 중요한 조건은 다시 말해주기: 가운데에 묻힌 정보는 놓치기 쉬우니, 꼭 지켜야 할 조건이라면 대화 중간중간 다시 올려줍니다. 작업대 위 잘 보이는 자리에 계속 올려두는 것입니다.

4. 새 채팅을 열면 모든 것이 사라진다

기억을 들고 있는 쪽이 채팅방이라면, 새 채팅을 여는 순간 이전 대화는 모델에게 존재하지 않는 것이 됩니다. 새 채팅방은 빈 종이입니다.

그래서 생성형 AI는 비유하자면, 엄청나게 유능하지만 매번 기억이 초기화되는 천재 비서와 일하는 것과 비슷합니다. 어제 하루 종일 함께 보고서를 만들었어도, 오늘 새 채팅을 열면 처음 만난 사이입니다. 쉰 번째 만남에도 자기소개부터 다시 해야 합니다.

5. 메모리 기능의 실체

"그런데 ChatGPT한테는 메모리 기능이 있던데요? 제 직업도 기억하던데요?"라고 물으실 수 있습니다. 좋은 질문입니다. 메모리 기능의 실체야말로 지금까지의 내용을 가장 깔끔하게 복습시켜 줍니다.

메모리 기능이 켜져 있으면, 서비스는 대화 중에 기억할 만한 정보를 골라 별도의 노트에 적어 둡니다. "사용자는 비건이다", "사용자의 직업은 마케터다" 같은 식입니다. 그리고 여러분이 새 채팅을 열면, 그 노트를 대화 맨 앞에 몰래 붙여서 함수에 넣어줍니다.

눈치채셨겠지만, 모델이 기억하게 된 것이 아닙니다. 채팅 앱이 이전 대화를 묶음으로 다시 넣어주던 것과 똑같은 원리로, 이번에는 노트를 다시 넣어주는 것뿐입니다. 시스템 프롬프트라는 쪽지와 같은 자리, 전송 묶음의 맨 앞입니다. 위치만 다를 뿐 전부 같은 구조입니다.

  • 같은 채팅방의 맥락: 채팅 앱이 대화 전체를 다시 넣어줍니다.
  • 채팅방을 넘나드는 기억: 메모리 기능이 노트를 다시 넣어줍니다.
  • 모델 자체: 어느 쪽이든 아무것도 기억하지 않습니다.

그래서 메모리 기능에도 한계가 그대로 따라옵니다. 노트도 결국 작업대 위에 올라가야 하므로 무한정 길어질 수 없고, 노트에 적히지 않은 내용은 사라집니다. 중요한 맥락이라면 기능에만 맡기지 말고, 직접 정리해 두었다가 필요할 때 붙여 넣는 쪽이 확실합니다.

여기까지 오면 마지막 오해 하나가 남습니다. "내가 어제 틀린 걸 고쳐줬으니 AI가 그걸 배웠겠지"라는 생각입니다. 다음 절에서 눈으로 확인해 보겠습니다.

대화의 비밀 - 딱 필요한 만큼: 생성형 AI 기초 | 위니버시티