기억의 한계 — 창, 요약, 벡터
모델이 한 번에 볼 수 있는 글의 양이 컨텍스트 창이다. 이게 서비스 요금표의 진짜 단위다. 노벨AI는 티어별로 8,192 · 12,288 · 28,672 토큰이고, AI 던전 무료는 4천이다(유료로 32천, 크레딧을 쓰면 128천). 재니터AI 무료는 9천쯤이고, ChatGPT 무료는 즉답 모드 27K, Plus 54K, Claude Pro는 200K, Gemini 유료는 100만이라고 적혀 있다. 장편 한 권이 한국어로 수십만 토큰이니 어느 창에도 통째로는 안 들어간다. 그래서 세 가지 처리법이 생겼다.
앞을 버린다
창이 차면 오래된 본문부터 떨어뜨린다. 제일 단순하고 제일 흔하다. KoboldCpp의 Context Shift는 떨어뜨린 뒤에도 남은 부분을 다시 계산하지 않게 캐시를 민다.
노벨AI · KoboldCpp · 대부분의 채팅 UI
줄여서 남긴다
몇 메시지마다 모델에게 요약을 시켜 그 요약을 프롬프트 위쪽에 꽂는다. 세부가 뭉개지고 틀린 요약이 섞일 수 있다고 문서에도 적혀 있다.
SillyTavern Summarize · CrushOn 자동 요약 · Character.AI 백그라운드 압축
비슷한 걸 찾아 온다
지난 글을 조각내 임베딩해 두고, 지금 장면과 뜻이 비슷한 조각만 골라 넣는다. 검색이라 놓치기도 하지만 창보다 훨씬 긴 이야기를 버틴다.
AI 던전 Memory Bank · SillyTavern 벡터 저장소 · Claude 프로젝트 RAG
숫자로 보면 더 실감 난다. AI 던전의 메모리 뱅크는 15턴마다 여섯 턴을 요약 모델로 줄이고 임베딩해 두었다가 유사도로 꺼내 온다. 가득 차면 가장 덜 쓰인 기억부터 "잊는다". SillyTavern의 벡터 저장소는 대화를 400자 조각으로 나눠, 최근 2개 메시지를 질의로 삼아 관련도 25% 이상인 조각 중 상위 3개를 끼워 넣는다. 최근 5개 메시지는 손대지 않는다.
수도라이트는 다른 길을 갔다. 요약을 자동으로 만드는 대신 작가가 스토리 바이블을 채우게 하고(줄거리 → 인물·세계관 → 개요 → 장면), 장면을 쓸 때 관련 항목만 끌어온다. 어느 항목이 이번 생성에 들어갔는지 "칩"으로 보여 주는 것까지가 이 방식의 정직함이다.