AI와의 대화가 길어질수록 ‘기억상실증’이 심해진다는 경험을 해본 사람이 많을 것이다. “분명 내가 아까 말했는데 왜 또 묻지?”라는 의문이 들 때마다 마치 AI가 멍청해진 것처럼 느껴지지만 사실은 근본적인 이유가 있다. 그 원인은 바로 ‘컨텍스트 윈도우(context window)’라는 기술적 한계 때문이다.
AI는 인간처럼 대화 전체를 이해하거나 저장하지 않는다. 대화 내용은 모델 내부에 남지 않고 매번 새 입력이 들어올 때마다 계산이 처음부터 다시 시작된다. 이 때 모델이 참고할 수 있는 과거 대화의 양, 즉 한 번에 ‘읽을 수 있는 최대 분량’이 정해져 있는데 이것이 컨텍스트 윈도우다.
GPT-4의 경우 약 128k 토큰, Claude 3.5 Sonnet은 200k 토큰까지 볼 수 있다. 대략 책 한 권 정도의 길이다. 이 범위를 넘어서면 가장 앞부분부터 잘려나가고 새 대화가 뒤에 붙는다. 그래서 AI가 “기억을 잃는다”기보다, 물리적으로 “기록이 지워진다”는 표현이 더 정확하다.
이런 구조가 생긴 이유는 모델의 뇌라고 할 수 있는 ‘Transformer’라는 신경망 때문이다. 이 구조는 입력된 모든 단어가 서로 어떤 관계를 맺는지 계산하는 ‘self-attention’ 방식을 쓴다. 문제는 이 연산의 복잡도가 입력 길이의 제곱으로 늘어난다는 점이다.
100개의 단어를 계산하는 데 1만 번의 연산이 필요하다면 1만 단어를 계산할 땐 1억 번이 된다. 제곱으로 늘어나는 숫자는 아무리 GPU를 쌓아도 감당이 안 된다. 그래서 모든 LLM은 일정 길이까지만 입력을 받도록 설계되어 있다. 바로 그 한계가 컨텍스트 윈도우다.
그렇다면 이걸 없앨 수는 없을까. 완전한 해결은 어렵지만 우회로는 존재한다. 가장 간단한 해결법으로 모델 자체의 윈도우를 늘리는 방법이 있다. GPT-4-turbo나 Claude 3.5가 기존보다 훨씬 긴 문맥을 처리할 수 있는 이유다. 하지만 비용이 폭증하고 처리 속도도 느려진다.
다음으로 외부에서 필요한 정보를 검색해 모델에 붙이는 ‘RAG(Retrieval-Augmented Generation)’ 방식이다. 모델이 모든 것을 기억할 필요 없이 필요한 부분만 외부에서 불러와 답을 만드는 구조다. 그러나 이 방식은 매번 외부의 도움을 받아 정보를 가져와야 하기 때문에 속도도 느리고 일관성도 떨어진다는 문제가 있다.
대화 내용을 요약하고 핵심을 뽑아 매번 다시 모델에 제공하는 ‘메모리 시스템’이다. 일종의 AI 전용 비서처럼 “이건 네가 까먹은 이전 대화의 요약입니다”를 모델에 매번 던져주는 방식이다.
여러 가지 방식 중 요약 메모리 시스템이 ‘그나마 효율적인 꼼수’로 불리는 이유는 AI의 계산 부담을 거의 늘리지 않으면서도 인간이 느끼는 대화의 연속성을 유지하기 때문이다. 모델은 이전 대화의 핵심만을 짧게 요약한 뒤, 다음 입력과 함께 “이전 요약은~” 같은 형태로 다시 제공받는다. 그러면 모델은 실제로 긴 대화를 기억하지 않아도 중요한 맥락을 유지한 채 추론을 이어갈 수 있다.
요약의 장점은 단순함과 효율성이다. 수천 토큰짜리 대화 내용을 200~300토큰으로 압축해 전달할 수 있어 연산량이 거의 늘지 않는다. 모델이 볼 수 있는 ‘요약된 메모’만 업데이트하면 되기 때문에 추가 비용이나 별도의 검색 인덱스가 필요하지 않다.
결과적으로 컨텍스트 윈도우를 억지로 확장하거나 RAG 시스템을 붙이는 것보다 훨씬 가볍고 안정적으로 작동한다.
물론 완벽하지는 않다. 요약 과정에서 맥락이 왜곡되거나 세부 정보가 빠질 수 있다. 그러나 현실적인 선택지로 보면 요약 기반 메모리는 현재 기술 수준에서 가장 경제적이면서 실용적인 ‘가짜 기억’이다. 모델이 진짜 기억을 가지지는 못하지만 최소한 사용자는 이전 대화를 이어가는 느낌을 경험할 수 있다.
AI가 매번 새로 태어나더라도 그때그때 일기를 한 장 들려주는 식으로 ‘맥락의 환상’을 만들어내는 것이다.
한 페이지에서 컨텍스트 한도를 넘는 질문을 했을 때(보통 브라우저 오른쪽에 있는 스크롤이 강낭콩보다 작아지면 슬슬 한계가 드러난다) 새 페이지를 열지 않고서는 이 컨텍스트 붕괴 문제를 막을 수 있는 방법이 없다.
이 한계는 코딩 같은 작업에서 특히 뼈아프다. 한 프로젝트 안에서 수백 줄의 코드를 만들어가며 이전 함수나 변수 이름을 계속 써야 하는데 AI가 이전 내용을 잊어버리면 전혀 엉뚱한 코드를 내놓기 때문이다. 그래서 실무자들은 세 가지 방식으로 대응한다.
첫째, 중요한 코드를 수동으로 다시 붙여 넣는 것이다. 귀찮지만 가장 확실하다. 둘째, 외부 기억장치를 쓰는 구조, 즉 벡터 데이터베이스를 연동해 필요한 코드만 검색해 붙이는 시스템이다. GitHub Copilot이나 Cursor, Replit AI가 이런 구조다. 셋째, 파일 단위로 맥락을 나눠 “이전에 만든 utils.py 참고해서 main.py 작성해줘”처럼 부분적 맥락을 계속 제공하는 방법이다.
결국 AI가 기억을 못하니 사람이 대신 기억을 관리해야 한다. 이를 자동화하려고 등장한 것이 바로 ‘persistent memory’, ‘project memory’, ‘code graph memory’ 같은 신기술이다. 챗GPT의 ‘Canvas’ 기능이나 Anthropic의 ‘Project Memory’는 이런 문제를 해결하기 위해 만들어진 시도다.
지금까지 이어진 대화를 가지고 사용자의 대화 맥락이나 코드 베이스를 추출, 자동으로 저장해 필요할 때 다시 불러주는 구조다. 그렇지만 이 또한 완벽하지 않다. 항상 정해진 정보를 가지고 의사결정을 내려야 하는 기업들이 AI를 섣불리 도입하기를 주저하는 이유도 이런 한계에 있다.
생성형 AI는 매번 새로 켜지는 계산기에 가깝다. 계산기는 입력된 수식을 보고 정확한 답을 낼 수 있지만 이전에 계산했던 수식을 기억하지는 못한다. 컨텍스트 윈도우는 그 계산기가 한 번에 볼 수 있는 화면의 크기일 뿐이다. 더 많은 정보를 보여주려면 더 큰 화면을 만들어야 하지만 그만큼 전력도, 시간도, 비용도 늘어난다.
그래서 AI의 “기억력 문제”를 해결하는 길은 모델 자체를 무한히 키우는 것이 아니라 인간이 맥락을 관리하는 방식을 바꾸는 데 있다. 중요한 정보는 요약해두고 반복해서 입력하고, 필요할 때 검색해서 붙이는 구조가 결국 지금 세대 LLM을 가장 효율적으로 쓰는 방법이다.
미래에는 영구 메모리형 AI가 등장하겠지만 오늘의 AI는 여전히 눈 앞의 문장만 본다. 우리가 그것을 이해하고 다뤄야만 비로소 AI의 한계를 도구로 바꿔 쓸 수 있다.
BEST 뉴스
-
말하는 AI 말고 고르는 AI…'결정 모델'은 무엇인가
미국 스타트업 무수비(Musubi)가 6일(현지시간) 콘텐츠 검열용 AI 모델 'PolicyLM-1.7B'를 공개했다. 플랫폼 운영자가 일상 언어로 쓴 운영 정책을 읽고 채팅 메시지가 정책 위반인지 판정하는 모델이다. 짧은 메시지 하나를 판정하는 데 걸리는 시간은 중간값 기준 0.035초다. 무수비는 모델 가중치(AI... -
가장 비싼 AI가 1등이 아니다…클로드 신모델 3종 '용도별 골라 쓰기'
앤트로픽이 이달 들어 AI 모델 3종을 잇달아 내놓으면서 클로드 사용자의 선택지가 복잡해졌다. 최상위 모델인 '클로드 페이블 5.1'이 1일 출시됐고 22일에는 '클로드 오퍼스 5.5'가, 28일에는 '클로드 소네트 5.5'가 나왔다. 가격이 가장 비싼 모델이 성능 시험에서 1위를 차지하지 못하는 현상도 나타났다. 가격 차...
전체댓글 0
실시간뉴스
-
가장 비싼 AI가 1등이 아니다…클로드 신모델 3종 '용도별 골라 쓰기'
-
맥미니로 AI 돌리기, 어디까지 되고 얼마 들까? "16GB로는 부족"
-
"소 잡는 칼로 닭 잡지 마라"…초고가 AI, 언제 써야 본전 뽑나
-
"이 주식 어때?"라고 묻는다면...AI가 뻔한 답만 하는 이유
-
항상 과거를 살고 있는 AI, 해결 방법은 없는 걸까?
-
AI에게 법 물어봤다가 낭패 본다? 제대로 물어보는 방법
-
뉴스 기사 보기 귀찮은 당신…AI에게 ‘충돌하는 주장만 뽑아라’ 시켜보자
-
“너는 변호사다”…AI 활용 고수들이 쓰는 ‘역할 프롬프트’
-
요즘 똑똑한 개발자들이 ‘AI 두 개를 동시에 쓰는’ 이유
-
“AI로 뭐 만들지?” 묻는다면…오늘 밤 바로 해볼 수 있는 5가지
