facts: memorize 공개 및 핵심 기능

AI 에이전트가 프로젝트의 작업 기억을 개별 세션이나 특정 모델에 가두지 않고 공유할 수 있게 하는 로컬 우선 오픈소스 도구 'memorize'가 공개됐다. 이 도구는 서로 다른 LLM(대규모 언어 모델)으로 개발 환경을 전환하거나, 데스크톱과 노트북 등 여러 기기를 오가며 작업할 때 발생하는 컨텍스트 단절 문제를 해결하는 데 목적을 둔다.

핵심은 프로젝트 자체가 기억을 갖게 하여, 에이전트가 교체되어도 이전 작업의 맥락을 그대로 이어받는 것이다. AGPL 라이선스로 공개됐으며, 모든 데이터는 로컬에 저장되고 별도의 텔레메트리(원격 측정)를 수집하지 않는다. 설치는 다음의 한 줄 명령어로 가능하다.

bash
curl -fsSL https://raw.githubusercontent.com/shakystar/memorize/… | sh

또한 Claude나 Codex 세션에서 "Set up memorize in this project. Follow https://github.com/shakystar/memorize/…"라는 명령을 통해 설정을 진행할 수 있다. 상세 설계는 공식 ARCHITECTURE.md에서 확인할 수 있다.

how-it-works: 2층 메모리 구조와 결정론적 동기화 메커니즘

memorize의 내부 구조는 뇌의 이중 학습계(CLS)를 차용한 2층 메모리 시스템으로 작동한다. 첫 번째 층인 '해마' 역할의 메모리는 작업 중에 LLM을 호출하지 않고 저렴하게 관측 데이터만 캡처한다. 이후 세션 경계에서 '신피질' 역할의 백그라운드 프로세스가 이를 통합하는 파이프라인을 거친다.

기억의 망각은 데이터를 물리적으로 삭제하는 방식이 아니라, 인출 시점의 점수 경쟁을 통해 결정된다. 점수 산출 공식은 '중요도 $\times$ 반감기 14일 최신성 $\times$ 작업 관련성'으로 구성되며, 이를 통해 최적의 기억만 호출하되 모든 기록은 보존하는 구조를 취한다.

데이터 유실을 막기 위한 통합 메커니즘으로는 '워터마크' 방식을 사용한다. 이벤트 영속화가 완료된 후에만 워터마크가 전진하며, LLM 타임아웃이나 파싱 실패가 발생하면 다음 경계에서 동일 구간을 재시도한다. 워터마크 자체가 손실되더라도 출처 기반의 중복 제거(dedup)를 통해 중복 통합을 방지한다.

인프라 측면에서는 서버 없이 여러 머신 간의 상태를 일치시키기 위해 'append-only 이벤트 로그'를 동기화한다. 시계 동기화 없이 내용 기반의 결정론적 규칙만으로 모든 복제본이 동일한 상태로 수렴하도록 설계됐다. 특히 모순 감지 단계에서는 코사인 유사도(Cosine Similarity)의 한계를 극복하기 위해 임베딩 벡터를 후보 회수용으로만 쓰고, 최종 판정은 LLM이 직접 수행한다. 이는 "머지해라"와 "머지하지 마라"처럼 벡터상으로는 유사하지만 의미가 정반대인 부정문을 정확히 구분하기 위함이다.

implementation-impact: 개발 환경 도입 시 고려사항과 제약

개발자가 이 도구를 도입할 때 가장 먼저 체감하는 변화는 추가적인 API 비용과 키 관리 부담이 없다는 점이다. memorize는 통합을 위해 별도의 LLM API 키를 요구하지 않으며, 이미 로그인된 `claude -p` 또는 `codex exec` 환경을 그대로 활용한다. 에이전트가 스스로 자신의 기억을 정리하는 구조이므로, 통합 과정에서 훅(Hook)이 다시 발화되어 발생하는 무한 재귀 루프는 환경 변수 가드(Guard)를 통해 차단한다.

운영 관점에서는 병렬 세션 간의 실시간 공유 기능을 통해 협업 효율을 높일 수 있다. 동일 프로젝트 내의 여러 세션이 서로의 작업을 모니터링하며, 동일한 파일을 동시에 수정할 경우 충돌 경고를 띄운다. 기억 분류 체계(Schema)는 이론적인 정의가 아니라, 관찰 전용 수명 필드와 행동 텔레메트리(주입 및 무효화 시점) 데이터를 몇 주간 수집한 계측 결과에 따라 진화시키는 방식을 택하고 있다.

실무적으로는 Cursor, Gemini CLI, Windsurf 등 다양한 에이전트 도구의 훅 구조에 맞춘 어댑터 확장이 필요하며, 이는 현재 오픈소스 커뮤니티의 기여를 통해 보완되는 단계다. 로컬 우선 설계 덕분에 서버 비용 없이도 기기간 수렴이 가능하지만, 초기 설치 스크립트에서 PowerShell 5.1의 따옴표 처리나 Linux의 EACCES 권한 문제와 같은 환경별 버그가 발생할 수 있음을 인지해야 한다.