실습 노트
Claude-Mem의 영속 메모리 설계: 에이전트 세션 사이에 남길 것과 버릴 것
Claude-Mem 공식 README를 바탕으로 에이전트 메모리를 관찰·요약·검색으로 나누고, 저장 범위와 검증 기준을 정리합니다.
에이전트 작업이 하루를 넘기면 “기억한다”는 말만으로는 부족합니다. 무엇을 관찰했는지, 어떤 요약을 남겼는지, 다음 세션에 어느 깊이까지 보여줄지를 분리해야 합니다. Claude-Mem 공식 README는 이 문제를 작업 관찰, 의미 요약, 검색 도구로 나누어 설명합니다.
메모리는 대화 복사가 아니다
이전 세션의 모든 대화를 다음 프롬프트에 붙이는 방식은 컨텍스트 비용과 잡음을 함께 키웁니다. 반대로 너무 적게 남기면 같은 결정과 실패를 반복합니다. 메모리를 설계할 때는 다음 세 층을 분리하는 편이 낫습니다.
| 층 | 남길 내용 | 검증 질문 |
|---|---|---|
| 관찰 | 사용한 도구, 파일, 결과, 오류 | 실제로 일어난 일이 기록됐는가? |
| 요약 | 결정, 이유, 미해결 문제 | 나중에 다시 읽어도 의미가 보이는가? |
| 검색 | 현재 작업에 관련된 결과 | 필요한 맥락만 불러오는가? |
Claude-Mem이 말하는 progressive disclosure는 이 세 번째 층과 맞닿아 있습니다. 먼저 짧은 결과를 보여주고, 필요할 때 상세 기록으로 내려가는 방식입니다.
저장 단위는 작업 결과보다 결정에 가깝다
파일이 수정됐다는 사실만 저장하면 다음 세션에서 다시 판단해야 합니다. 반면 “왜 이 구조를 골랐는지”, “어떤 대안을 버렸는지”, “다음에 확인할 조건은 무엇인지”를 남기면 메모리가 작업 재개에 직접 쓰입니다.
최소 레코드는 다음처럼 구성할 수 있습니다.
작업: 문서 검색 결과의 인용 링크 수정
결정: 검색 결과 URL을 원문 확인 후 저장
이유: 요약 페이지가 사라져도 출처를 재확인해야 함
미해결: 로그인 필요한 문서는 별도 처리
다음 확인: 새 세션에서 이 결정이 검색되는지 확인
이 기록은 모델의 자유로운 회상보다 검토 가능한 운영 로그에 가깝습니다.
영속 메모리의 위험 경계
메모리가 자동으로 늘어날수록 민감정보와 잘못된 요약도 오래 남을 수 있습니다. 따라서 저장 전에 적어도 다음 정책을 정해야 합니다.
- API 키, 세션 쿠키, 개인정보를 기록 대상에서 제외
- 사실과 모델의 추론을 필드나 문장으로 구분
- 오래된 임시 판단에 만료 조건 부여
- 삭제·수정 가능한 저장 위치와 보존 기간 지정
- 검색 결과를 실제 원문과 대조하는 검증 단계 마련
“이전 세션을 기억한다”는 편리함이 곧 정확성을 뜻하지는 않습니다. 메모리는 정답 저장소가 아니라 다음 판단을 빠르게 만드는 보조 자료입니다.
적용 판단
Claude-Mem을 검토할 때는 설치 성공보다 세션 재개 품질을 측정해야 합니다. 같은 프로젝트에서 결정 세 개를 기록하고 새 세션에서 각각 검색되는지, 불필요한 과거 맥락이 함께 노출되는지, 민감정보가 섞이지 않는지를 확인하면 됩니다. 이 글은 도구를 직접 사용한 후기가 아니라 공식 README의 구조를 에이전트 운영 설계 관점으로 해석한 글입니다.