기억

열어서 고치고 지울 수 있는 기억

대부분의 롤플레이 봇은 조용히 요약하다가 캐릭터가 흐트러져요. 여기서는 열어 볼 수 있는 사실 목록을 남겨요. 틀린 줄을 고치고, 말한 적 없는 줄을 지우고, 아예 꺼 둘 수도 있어요.

Talaforge › 열어서 고치고 지울 수 있는 기억

챗봇이 나를 기억하는 것처럼 보이는 방법은 두 가지예요. 하나는 긴 컨텍스트 창인데, 창이 밀리는 순간 잊어버려요. 다른 하나는 적어 두는 거예요.

여기는 적어 두는 쪽이에요. 그리고 드문 점은, 적어 둔 걸 내가 읽을 수 있다는 거예요.

캐릭터가 흐트러지는 이유

모델에는 메시지 사이의 기억이 없어요. 기억하는 것처럼 보이는 건 전부 프롬프트에 다시 넣어 준 거예요. 대화가 들어갈 수 있는 양을 넘어서면 뭔가는 버리거나 압축해야 하고, 흐트러짐은 거기서 시작돼요. 동생 이름을 모르게 되고, 지난주에 한 말과 어긋나고, 어느새 같은 말투를 쓰는 다른 사람이 돼요.

대부분의 제품은 이걸 뒤에서 요약하는 방식으로 처리해요. 요약이 맞는 동안은 잘 돌아가지만, 한 번 틀리면 영원히 틀린 채로 남아요. 볼 수도 없고 고칠 수도 없으니까요.

실제로 저장되는 것

대화가 흘러가는 대로 뽑아낸 짧은 사실들이에요. 대화록도 아니고 벡터 덩어리도 아니고, 읽을 수 있는 문장이에요.

이 사실들은 동시에 세 갈래로 나뉘어 있고, 이야기들이 서로 번지지 않게 하는 건 바로 그 구분이에요.

읽고, 고치고, 지우기

기억 목록은 채팅 설정 안의 화면이에요. 열면 사실이 순서대로 보여요. 틀린 게 있으면 고치면 되고, 애초에 적히지 말았어야 할 게 있으면 지우면 돼요. 아무것도 남기고 싶지 않으면 그 대화의 기억을 꺼 두면 그 뒤로는 아무것도 저장되지 않아요.

사소해 보이지만 실패하는 방식 자체가 달라져요. 숨겨진 요약 속의 잘못된 사실은 이후의 모든 답장을 오염시키고, 캐릭터가 왜 이상해졌는지는 짐작만 할 수 있어요. 목록 속의 잘못된 사실은 5초면 고치는 한 줄이에요.

캐릭터가 처음으로 무언가를 적을 때 한 번 알려 줘요. 메시지마다가 아니라 한 번이에요. 그런 장치가 있다는 것과 어디서 볼 수 있는지 알 수 있도록요.

절대 적히지 않는 것

뽑아낸 모든 사실에는 필터가 지나가면서 기억 저장소에 있으면 안 되는 것들을 걷어내요. 이메일 주소, 전화번호, 카드 번호, 신분증 번호예요.

이건 필터이지, 입력한 내용에 대한 약속이 아니에요. 알아볼 수 있는 패턴을 지울 뿐이에요. 진짜 카드 번호에 대해 가장 안전한 선택은 여전히 챗봇에 보내지 않는 거예요.

장면이 갈라질 때의 기억

어떤 답장에서든 갈라져 두 스레드를 함께 이어갈 수 있어요. 그렇게 하면 새 스레드는 그 시점의 원래 스레드가 가진 기억을 물려받아요. 아무것도 없는 데서가 아니라 같은 과거에서 시작해 거기서부터 따로 흘러가요.

갈라 놓는 이유가 바로 그거예요. 같은 관계의 두 가지 버전이지, 낯선 두 사람이 아니에요.

기억이 따라가는 곳

캐릭터가 자기 Telegram 봇이 되어도 기억은 메인 채팅과 똑같이 작동해요. 여전히 캐릭터별, 토픽별, 사람별이에요. 내 봇과 이야기하는 사람은 그 캐릭터와의 기억을 스스로 쌓고, 그건 그 사람만의 것이에요.

AI가 나에 대해 뭘 기억하는지 볼 수 있나요?
네. 기억 목록은 채팅 설정 안의 화면이고, 저장된 사실을 순서대로 보여 줘요. 설계의 핵심이 그거예요. 읽을 수 없는 기억은 고칠 수 없는 기억이니까요.
기억을 지울 수 있나요?
네, 하나씩도 되고 한꺼번에도 돼요. 대화별로 기억을 꺼 둘 수도 있고, 그 뒤로는 아무것도 기록되지 않아요.
AI 챗봇은 왜 잊어버리나요?
모델에 메시지 사이의 기억이 없기 때문이에요. 기억하는 것처럼 보이는 건 프롬프트에 다시 넣어 준 것이고, 대화가 들어갈 양을 넘어서면 예전 내용은 버려지거나 압축돼요. 적어 둔 사실은 그걸 견디지만 컨텍스트 창은 견디지 못해요.
한 캐릭터의 기억이 다른 캐릭터로 새나요?
아니요. 기억은 캐릭터별, 토픽별, 사람별로 동시에 나뉘어 있어요. 같은 캐릭터와의 다른 스레드는 각자 기억을 갖고, 내가 한 말이 그 캐릭터와 대화하는 다른 사람에게 보이지도 않아요.
내 기억이 다른 사람에게 보이나요?
아니요. 사람별이에요. 같은 캐릭터와 대화하는 두 사람은 각자 자기 기억을 쌓고, 서로의 것을 볼 수 없어요.
장면을 갈라 놓으면 기억은 어떻게 되나요?
새 스레드는 갈라 놓은 시점에 원래 스레드가 알던 걸 물려받고, 그 뒤로는 제 갈 길을 가요. 두 스레드 모두 그대로 남아요.
전화번호나 카드 번호도 저장되나요?
뽑아낸 사실에서 이메일, 전화번호, 카드 번호, 신분증 번호는 기록되기 전에 필터가 걷어내요. 마음을 읽는 게 아니라 패턴을 알아보는 거라서, 진짜 카드 번호는 여전히 챗봇에 보내지 않는 게 좋아요.
텔레그램에서 캐릭터 만들기 →

이어서 읽기