AI

[에이전트] 무엇을 잊을지의 설계, 자주 꺼낸 기억일수록 오래 남긴다

jykim23 2026. 8. 1. 19:56
반응형

장기기억 도태 삭제 우선순위 reinforcement 역방향 자주 쓴 기억 보호 최근성 기한

부제: 기억을 어떻게 쌓느냐보다, 무엇을 먼저 잊느냐를 정한 이야기

장기기억은 무한히 쌓을 수 없다.
계속 쌓기만 하면 컨텍스트가 오염되고, 저장소도 언젠가 꽉 찬다.
그래서 "무엇을 기억하나"만큼 "무엇을 잊나"가 중요하다.

네 가지 계기로만 잊는다

기억은 아무 때나 지워지지 않는다. 네 가지 계기에서만 도태된다.

  • 공간 압박: 저장 상한을 넘으면 우선순위 상위 몇 개를 삭제
  • 기한 경과: tier 정책상 보존 기간이 지난 것
  • 모순 발견: 새 정보와 충돌하면 LLM이 갱신·삭제 판단
  • 사용자 요청: "그거 잊어줘" 하면 즉시 삭제

이 중 가장 설계가 필요한 건 첫째, 공간이 찼을 때 무엇부터 지우나 였다.

공간이 차면 무엇부터 지우나

삭제 우선순위를 하나의 곱셈식으로 정했다.
네 신호를 곱해, 값이 큰 것부터 잊는다.

  • 최근성: 오래 안 꺼내 쓴 기억일수록 우선 도태
  • 반복(reinforcement): 자주 꺼내 쓴 기억일수록 보호 — 삭제 우선순위를 낮춘다
  • 유형: 사실·선호·상태·계획 등 종류마다 다르게
  • 기한: 지난 계획·만료된 상태는 가중치를 얹어 먼저 도태

여기서 재미있는 건 반복 신호의 방향이다.
많은 시스템이 "자주 쓴 것"을 검색 점수를 올리는 데(꺼내기 쉽게) 쓴다.
우리는 반대로, 자주 쓴 것을 덜 지우는 데 썼다.
사람 기억이 반복해서 떠올린 것일수록 오래 남는 것과 같다.
자주 참조된 기억은, 그만큼 이 사용자에게 쓸모 있다는 증거니까.

안전장치는 하나로 모은다

처음엔 "이건 절대 지우지 마" 태그(evergreen)를 따로 뒀다.
그런데 보호 장치가 여기저기 흩어지면 관리가 어렵다.
그래서 그 태그 보호를 폐기하고, 정체성 프로필을 유일한 보호 source로 통일했다.
정말 중요한 정보는 정체성 기억에 들어가고, 그건 항상 지켜진다.
혹시 새어나간 게 있는지는 "지워지면 안 되는데 일반 기억에 남은 수"라는 메트릭으로 감시한다(목표 0건).

그리고 삭제는 soft delete 다. 지워도 흔적(deleted_at)만 남기고 실제로는 보존한다.
잘못 지웠을 때 되살릴 수 있고, 검색 인덱스도 흔들지 않는다.

정리

  • 기억은 4계기(공간 압박·기한·모순·사용자 요청)에서만 도태
  • 공간이 차면 삭제 우선순위 = 최근성 × 반복 × 유형 × 기한 곱셈식으로 상위부터 삭제
  • 반복 신호는 역방향 — 자주 꺼내 쓴 기억일수록 덜 지운다(사람 기억의 반복 강화와 동일)
  • 보호 장치는 흩뜨리지 않고 정체성 프로필 하나로 통일, 누락은 메트릭으로 감시
  • 삭제는 soft delete로 되돌릴 수 있게

무엇을 기억할지만큼 무엇을 잊을지가 설계 대상이다.
그리고 "자주 쓴 것을 보호한다"는 단순한 규칙 하나가, 정작 필요한 기억을 오래 남긴다.

반응형