
부제: 기억을 어떻게 쌓느냐보다, 무엇을 먼저 잊느냐를 정한 이야기
장기기억은 무한히 쌓을 수 없다.
계속 쌓기만 하면 컨텍스트가 오염되고, 저장소도 언젠가 꽉 찬다.
그래서 "무엇을 기억하나"만큼 "무엇을 잊나"가 중요하다.
네 가지 계기로만 잊는다
기억은 아무 때나 지워지지 않는다. 네 가지 계기에서만 도태된다.
- 공간 압박: 저장 상한을 넘으면 우선순위 상위 몇 개를 삭제
- 기한 경과: tier 정책상 보존 기간이 지난 것
- 모순 발견: 새 정보와 충돌하면 LLM이 갱신·삭제 판단
- 사용자 요청: "그거 잊어줘" 하면 즉시 삭제
이 중 가장 설계가 필요한 건 첫째, 공간이 찼을 때 무엇부터 지우나 였다.
공간이 차면 무엇부터 지우나
삭제 우선순위를 하나의 곱셈식으로 정했다.
네 신호를 곱해, 값이 큰 것부터 잊는다.
- 최근성: 오래 안 꺼내 쓴 기억일수록 우선 도태
- 반복(reinforcement): 자주 꺼내 쓴 기억일수록 보호 — 삭제 우선순위를 낮춘다
- 유형: 사실·선호·상태·계획 등 종류마다 다르게
- 기한: 지난 계획·만료된 상태는 가중치를 얹어 먼저 도태
여기서 재미있는 건 반복 신호의 방향이다.
많은 시스템이 "자주 쓴 것"을 검색 점수를 올리는 데(꺼내기 쉽게) 쓴다.
우리는 반대로, 자주 쓴 것을 덜 지우는 데 썼다.
사람 기억이 반복해서 떠올린 것일수록 오래 남는 것과 같다.
자주 참조된 기억은, 그만큼 이 사용자에게 쓸모 있다는 증거니까.
안전장치는 하나로 모은다
처음엔 "이건 절대 지우지 마" 태그(evergreen)를 따로 뒀다.
그런데 보호 장치가 여기저기 흩어지면 관리가 어렵다.
그래서 그 태그 보호를 폐기하고, 정체성 프로필을 유일한 보호 source로 통일했다.
정말 중요한 정보는 정체성 기억에 들어가고, 그건 항상 지켜진다.
혹시 새어나간 게 있는지는 "지워지면 안 되는데 일반 기억에 남은 수"라는 메트릭으로 감시한다(목표 0건).
그리고 삭제는 soft delete 다. 지워도 흔적(deleted_at)만 남기고 실제로는 보존한다.
잘못 지웠을 때 되살릴 수 있고, 검색 인덱스도 흔들지 않는다.
정리
- 기억은 4계기(공간 압박·기한·모순·사용자 요청)에서만 도태
- 공간이 차면 삭제 우선순위 = 최근성 × 반복 × 유형 × 기한 곱셈식으로 상위부터 삭제
- 반복 신호는 역방향 — 자주 꺼내 쓴 기억일수록 덜 지운다(사람 기억의 반복 강화와 동일)
- 보호 장치는 흩뜨리지 않고 정체성 프로필 하나로 통일, 누락은 메트릭으로 감시
- 삭제는 soft delete로 되돌릴 수 있게
무엇을 기억할지만큼 무엇을 잊을지가 설계 대상이다.
그리고 "자주 쓴 것을 보호한다"는 단순한 규칙 하나가, 정작 필요한 기억을 오래 남긴다.
'AI' 카테고리의 다른 글
| [동시성] 락 대기가 클라이언트 타임아웃보다 길면 안 되는 이유 (0) | 2026.08.02 |
|---|---|
| [LLM] 정적 시스템 프롬프트 매 턴 바뀐 섹션만 주입 델타 컨텍스트 (0) | 2026.08.01 |
| [RAG] 문서 청킹 토큰 경계 TEI tokenize 413 에러 차단 (0) | 2026.07.30 |
| [에이전트] 신경과학까지 뒤졌지만 대부분 안 썼다, 연구와 구현 사이 (0) | 2026.07.30 |
| [비동기] 스트리밍 도중 클라이언트 끊김 진행 작업 shield 복구 (0) | 2026.07.23 |