이 시스템은 메모리를 삭제하지 않습니다. 자주 안 쓰는 메모리를 작업 공간 밖 보관소로 옮기고, 잘못 옮겼으면 명령 한 번으로 되돌립니다. 그래서 공격적으로 정리해도 안전합니다.
위 한 문장이 이 도구의 전부입니다. 삭제하지 않는다 → 옮긴다 → 언제든 되돌린다 → 그래서 안전하다. 아래 설명은 이 네 박자를 한 번도 깨지 않습니다.
AI 에이전트는 작업하면서 '메모리'라고 부르는 기록 파일을 계속 쌓습니다. 사용자의 취향, 과거에 했던 실수, 진행 중인 일의 배경 같은 것들이죠. 처음엔 도움이 되는데, 파일이 수백 개로 불어나면 정작 에이전트가 "지금 어떤 파일을 봐야 하지?"를 잘 못 고르게 됩니다. 너무 많아서 다 기억하지 못하는 거예요.
해서, 오래되고 더는 안 쓰는 메모리는 한쪽으로 치워 두는 정리가 필요합니다. 단, 치웠다고 지식이 사라지면 안 됩니다. 그게 이 시스템의 핵심입니다.
보통의 메모리 정리 방식은 오래된 기록을 요약하거나 지웁니다. 한 번 잘못 지우면 그 지식은 영영 사라지죠. 이 시스템은 다릅니다.
- 지우지 않고 옮깁니다. 안 쓰는 메모리는 작업 공간 밖의 '보관소'(영어로 cold storage — 자주 안 꺼내 보는 창고라는 뜻) 로 이동합니다. 원본 그대로, 손실 없이요.
- 잘못 옮겨도 한 번에 되돌립니다. 옮긴 기록마다 '복원 포인터'(영어로 tombstone — 어디로 옮겼는지 적어 둔 표지) 를 남깁니다. 잘못 치웠다 싶으면 명령어 한 줄(
--restore)로 제자리에 되돌아옵니다. - 되돌릴 때 내용이 변하지 않았는지 검사합니다. 옮기고 되돌리는 과정에서 파일이 1바이트라도 바뀌면 안 되니까, 체크섬(파일의 지문 같은 검증값)으로 원본과 똑같은지 확인합니다.
위험을 '영영 잃어버림'에서 '한 번 되돌리면 끝'으로 낮춘 것 — 이게 "공격적으로 정리해도 안전하다"가 성립하는 유일한 이유입니다.
판단은 사람의 감이 아니라 '판정 기준표'(영어로 rubric — 점검 항목을 정리한 표) 로 합니다. 기준표는 두 종류의 항목으로 되어 있어요.
- '치워도 되는 신호'(영어로 signal): 예를 들어 — 다른 메모리가 "이건 이제 폐기됨"이라고 명시했거나(영어로 supersession, '다른 메모리가 대체·폐기했다'는 뜻), 유효기간이 지났거나, 끝난 프로젝트 기록이거나, 아무 데서도 연결·참조되지 않는 외톨이 기록인 경우.
- '절대 못 치우는 잠금'(영어로 guard): 신호가 아무리 많아도 이 잠금이 하나라도 걸리면 무조건 그대로 둡니다.
그리고 기준표는 추측한 숫자("30일 지나면 오래된 것")로 만들지 않습니다. 실제 쌓여 있는 메모리 전체를 한 번 측정해서, 자연스럽게 갈리는 지점을 기준값으로 삼습니다. 측정값은 기록으로 남기고, 분포가 바뀌면 다시 측정합니다.
판단 결과는 '예/아니오'가 아니라 신뢰도 3단계로 나옵니다.
| 신뢰도 | 처리 |
|---|---|
| 높음 (신호 여러 개·잠금 0개·확실히 오래됨) | 자동으로 옮김 — 단 한 번에 옮기는 개수에 상한을 두고, 처음 몇 회는 '시늉만'(실제로 안 옮기고 보고만) |
| 중간 (애매함) | 자동으로 안 옮김. 사람이 검토해 승인한 것만 다음 번에 옮김 |
| 낮음 (잠금에 가깝거나 불확실) | 그대로 둠 |
실제 우리 기록으로 측정해 보니 '높음(자동 이동)'은 0건이었습니다. 즉 지금은 전부 사람 검토를 거치게 됩니다. 시스템은 그만큼 보수적으로 짜여 있어요.
행동을 바꾸는 메모리(사용자 취향, "이렇게 하지 마라" 같은 교정 기록)는 잠금이 걸려 자동으로 안 치워집니다.
여기서 한 가지를 특별히 더 강하게 막아 뒀습니다. 에이전트의 말투·성격·정체성을 잡아 주는 메모리입니다. 이런 기록은 잘못 치워도 에러가 안 납니다. 사실 관계 메모리는 잘못 치우면 다음 답변이 틀려서 바로 들통나지만, 말투 메모리는 치워져도 아무 경고 없이 에이전트의 말투가 서서히 어긋나다가, 한참 뒤 사용자가 "왜 이상해졌지?" 하고 알아챕니다. 시스템이 스스로 "아, 이거 잘못 치웠네"를 감지할 신호 자체가 안 생기는 거예요.
해서 이 부류는 자동 이동 대상에서 영구히 빼고, 무조건 사람 검토만 거치게 했습니다.
- 주 1회 정리를 강제합니다 (권고가 아니라 강제). 안 돌면 다음 작업을 시작할 때 "정리가 밀렸다"고 경고가 뜨고, 별도의 주간 자동 실행도 백업으로 돕니다. 셋 중 하나가 멈춰도 나머지가 강제를 유지합니다. 단, '강제'는 빠뜨리지 않게 알려 주는 것이지 사람 몰래 마구 치우는 게 아닙니다.
- 메모리 9칸 전부에 같은 규칙을 적용합니다. 공용 메모리, 기기별 메모리, 프로젝트 메모리, 봇별 메모리, 그리고 별도 코드 도구(Codex)의 메모리까지 — 9번째 칸인 Codex 메모리도 똑같은 기준표로 정리됩니다. 칸마다 도구를 따로 만들지 않고, 하나의 엔진이 전부 처리합니다.
누가 옮겨진 기록을 되돌리면(--restore), 시스템은 그것을 "내가 잘못 판단한 사례" 로 기록합니다. 같은 종류의 오판이 일정 횟수 쌓이면, 그 판단 신호의 기준을 자동으로 더 깐깐하게(보수적으로) 조정하고, 기준표의 버전을 올리며 "어떤 되돌림 때문에 무엇을 바꿨는지"를 변경 이력에 남깁니다.
즉 기준은 한 번 정해 놓고 고정된 목록이 아니라, 자기 실수에서 배워 계속 보정되는 살아 있는 기준입니다.
| 용어 | 쉬운 뜻 |
|---|---|
| cold storage | 작업 공간 밖 보관소 (자주 안 꺼내 보는 창고) |
| rubric | 판정 기준표 (점검 항목을 정리한 표) |
| signal / guard | 치워도 되는 신호 / 절대 못 치우는 잠금 |
| supersession | 다른 메모리가 대체·폐기함 |
| tombstone | 복원 포인터 (어디로 옮겼는지 적어 둔 표지) |
| idempotent | 여러 번 돌려도 같은 결과 (다시 실행해도 안전) |
요약: 안 쓰는 메모리를 찾아 보관소로 옮겨 작업 공간을 가볍게 합니다. 옮긴 건 언제든 검증된 채로 되돌릴 수 있고, 애매하면 자동으로 안 옮기고 사람이 봅니다. 말투·정체성 메모리는 영구히 사람 검토만 거칩니다. 기준은 자기 실수에서 배워 점점 정확해집니다. — 삭제하지 않고, 옮기고, 되돌릴 수 있어서, 안전합니다.