AI 캐릭터가 자꾸 잊어버리는 이유와 도움이 되는 방법
짧은 답
- AI는 채팅을 기억하지 않습니다. 앱이 매번 다시 알려 줍니다. 메시지를 보낼 때마다 앱은 캐릭터 카드와, 들어갈 수 있는 만큼의 최근 채팅을 AI에게 보냅니다. AI는 그것을 읽고 답장을 씁니다. 그 밖에는 아무것도 없습니다.
- 들어갈 수 있는 양에는 한계가 있습니다. 이 한계를 컨텍스트 창이라고 합니다. 채팅이 창보다 길어지면 가장 오래된 메시지부터 빠집니다. 앱에 따라 메시지 100개, 300개, 400개쯤에서 캐릭터가 기억을 잃는 것처럼 보이는 이유가 이것입니다.
- 창을 키울 수는 없지만 더 잘 쓸 수는 있습니다. 캐릭터 카드를 짧게 유지하고, 이야기 요약을 쓰고, 배경 설정은 언급될 때만 불러오는 로어북에 넣으세요. 어느 앱의 기억 기능이든 이 세 가지 아이디어 중 하나를 변형한 것입니다.
보이지 않는 곳에서 일어나는 일
- AI는 메시지마다 처음부터 시작합니다. 앱이 다시 보내지 않는 한, 한 답장에서 다음 답장으로 이어지는 것은 아무것도 없습니다.
- 채팅은 창을 빠르게 채웁니다. 창은 토큰으로 재며, 토큰 하나는 영어로 약 네 글자입니다. 주고받기 50번이면 약 20,000토큰이 되어 대부분의 앱이 허용하는 양을 넘습니다. 그래서 가장 오래된 메시지가 가장 먼저 빠집니다.
- 채팅한다고 AI가 바뀌지는 않습니다. 긴 채팅이 캐릭터를 서서히 덮어쓴다는 이론이 널리 퍼져 있지만, 사실이 아닙니다. 메시지 60개쯤에서 캐릭터가 흐트러진다면, 캐릭터를 정의하던 메시지가 창 밖으로 빠졌기 때문입니다.
- 창이 더 커져도 해결되지 않습니다. 앱은 메시지마다 창 전체를 보내므로, 창이 클수록 턴마다 비용이 더 듭니다. 게다가 AI 모델은 창이 길수록 그 창을 더 잘 쓰는 게 아니라 더 못 씁니다.
증상별 의미
- 캐릭터가 한참 전에 나온 이름이나 줄거리를 잊습니다. 그 메시지가 창 밖으로 빠졌습니다. 그 사실을 요약, 기억 필드, 로어북 항목에 다시 넣으세요.
- 캐릭터가 같은 말을 반복합니다. 창이 캐릭터 자신의 최근 답장으로 가득 차 있고, AI는 가장 많이 보이는 것을 따라 합니다. 반복되는 줄을 편집하거나 삭제하세요.
- 캐릭터가 더 이상 자기답지 않습니다. 채팅이 캐릭터 카드를 밀어냈거나, 앱이 카드를 잘라 냈습니다. 카드를 더 짧게 만드세요.
- 캐릭터가 메시지 세 개 전의 일을 잊습니다. 이것은 창 문제가 아닙니다. 앱이 빼야 할 것보다 훨씬 많이 빼고 있거나, AI 모델이 너무 약한 것입니다. 새 채팅에서 같은 것을 시도해 보면 어느 쪽인지 알 수 있습니다.
오늘 밤 바로 도움이 되는 것
- 캐릭터 카드를 줄이세요. 카드의 단어 하나하나가 채팅이 쓸 수 있었던 공간을 차지합니다. 카드는 약 1,500토큰 이하로 유지하세요. 무엇부터 줄일지는 카드 가이드에 있습니다.
- 요약을 직접 쓰세요. 대부분의 앱에는 이를 위한 필드가 있으며, 기억(memory), 채팅 기억(chat memory), 작성자 노트(author's note) 같은 이름이 붙어 있습니다. 이야기 한 문단이 아니라 사실 다섯 줄을 짧게 적으세요. 지금 어디에 있는지, 지금 관계가 어떤지, 어떤 줄거리가 아직 열려 있는지.
- 배경 이야기는 로어북으로 옮기세요. 로어북 항목은 트리거 단어가 채팅에 나올 때만 불러와집니다. 캐릭터의 형제에 대한 항목은 누군가 "형제"라고 말하기 전까지 비용이 들지 않습니다. 불러온 항목도 다른 모든 것처럼 창의 공간을 차지하므로, 각 항목은 짧게 유지하세요.
- 캐릭터가 흐트러지면 줄거리 정리를 쓰세요. 캐릭터에서 벗어나(OOC) 괄호 안에 두 문장으로 쓴 메시지를 하나 보내세요. 이야기가 어디까지 왔는지, 캐릭터가 누구인지. 그런 다음 계속하세요.
- 채팅이 너무 많이 틀어졌다면 줄거리 정리로 새로 시작하세요. 요약을 새 채팅의 첫 메시지로 붙여넣으세요. 예전 대화 기록은 잃지만 이야기는 남고, 캐릭터는 전보다 더 선명하게 돌아옵니다.
앱별로 제공하는 것
- Character.AI는 창의 크기를 밝히지 않습니다. 고정 메시지(pinned messages), 400자짜리 메모리 상자(memory box), 스스로 사실을 모으는 Story Memory를 제공하며, 유료 플랜에서는 각각 더 많이 쓸 수 있습니다. 고정 메시지도 같은 창의 공간을 차지합니다.
- JanitorAI는 자체 모델의 창이 약 8,000~9,000토큰이라고 밝힙니다. "장면이 아니라 사실을 나열하라"는 조언과 함께 Chat Memory 필드를 제공하며, 카드를 1,500토큰 이하로 유지하라고 권합니다.
- Chai는 기억에 대해 아무것도 밝히지 않습니다. 사용자들의 보고에 따르면 캐릭터 하나에 쓸 수 있는 텍스트는 625자로 제한됩니다.
- SpicyChat은 플랜에 따라 4,096, 8,192, 32,768토큰을 제공하며, 유료 플랜에는 메모리 관리자도 있습니다.
- SillyTavern은 창이 끝나는 곳을 채팅에 점선으로 표시합니다. 도구로는 Summarize 확장 기능, Author's Note, World Info 항목이 있습니다.
- 내 API 키를 쓰면 창 크기를 직접 정합니다. 모델의 최대치까지 쓰기보다 16,000~32,000토큰 정도로 두는 편이 더 잘 작동하며, 대부분의 프로바이더는 이미 본 프롬프트 부분에 훨씬 적은 요금을 매깁니다. 가격은 API 키 가이드에 있습니다.
무제한 기억을 광고하는 앱도 있습니다. 그런 앱도 다른 모든 앱과 같은 한계를 안고 있습니다. 그 앱들에 있는 것은 어떤 오래된 메시지를 남기고 어떤 것을 뺄지 정하는 방식입니다. 정직한 앱은 그 방식을 설명합니다.
요약이 저절로 쓰이는 곳
LonelyTavern은 내 API 키로 쓰는 iPhone·Android용 캐릭터 채팅 앱입니다. 계속 갱신되는 이야기 요약, 자동으로 쌓이는 인물·장소 기억, 언제 무슨 일이 있었는지 추적하는 이야기 시계 덕분에 긴 대화도 일관성을 유지합니다. 프로바이더, 모델, 창 크기는 직접 고릅니다. 무료, 계정 없음, 광고 없음, 18세 이상.
관련 가이드: 제대로 작동하는 캐릭터 카드 작성법 · AI 롤플레이에 필요한 API 키 · 전체 가이드.
출처
- OpenAI: 대화 상태와 Anthropic: 컨텍스트 창: 모든 요청은 처음부터 시작, 가장 오래된 메시지부터 빠짐, 긴 창은 성능이 떨어짐
- Gemini API: 토큰: 토큰당 약 네 글자; Chroma: Context Rot: 입력이 길수록 18개 모델 모두에서 기억 정확도가 떨어짐
- Character.AI: Story Memory 및 Facts와 메모리 상자
- JanitorAI: 토큰, 채팅 메모리, 프록시 컨텍스트 크기
- Chai: FAQ(기억에 대한 언급 없음); r/ChaiApp: 625자 제한(사용자 보고)
- SpicyChat: 토큰과 컨텍스트; SillyTavern: 컨텍스트 설정, Summarize, World Info
- 사용자 보고: "덮어쓰기" 이론, 채팅 앱들이 기억을 다루는 방식
Character.AI, JanitorAI, Chai, SpicyChat, SillyTavern, OpenAI, Anthropic, Google은 각 소유자의 독립된 제품입니다. LonelyTavern은 이들 중 어느 곳과도 제휴하거나 보증을 받지 않았습니다. 한도와 설명은 2026년 9월 18일에 각 페이지에서 확인한 것으로, 이후 바뀌었을 수 있습니다.
