memU
무엇인가
memU는 데스크톱 코딩 에이전트의 세션 기록을 기억 저장소로 환산하고, 이후 작업에서 그 기억을 다시 주입하는 메모리 계층이다. 규율하는 영역은 세션 간·에이전트 간 지식 이전, 그리고 반복되는 작업 절차를 재사용 가능한 스킬로 축적하는 일이다. 사용자별 LLM 위키를 세션·에이전트·기기를 넘어 공유하는 것을 목표로 하며, 핵심 메모리 로직은 약 500줄 규모다.
어떻게 동작하나
동작은 호스트별 사이드카 바이너리가 두 개의 이음새를 붙잡는 구조다. record 쪽에서는 예약된 브리징 태스크가 새 세션 로그(메시지·툴 호출 포함)를 자체 완결 job 파일로 슬라이스하고, 에이전트가 관련 기존 스킬을 읽은 뒤 아무것도 하지 않거나 기존 스킬을 패치하거나 새 스킬을 만든다. 결과 Markdown은 이름·설명·재사용 워크플로를 담고, commit이 commit_results로 제출하면 memU가 이름과 설명을 임베딩해 skill 트랙에 저장한다. inject 쪽에서는 호스트 지시 파일에 상시 문장을 심어 에이전트가 답변 전에 retrieve(→ progressive_retrieve)를 실행하도록 만든다. MemoryService는 LLM·채팅 호출을 하지 않고 저장·임베딩·검색만 담당한다.
무엇과 다른가
프롬프트에 기억을 직접 붙여 넣거나 정적 규칙 파일을 손으로 관리하는 방식과 달리, 기억이 파일로 축적되고 임베딩 검색으로 되돌아온다. 판단과 종합은 전적으로 호스트 에이전트 안에서 일어나고 서비스는 저장·검색만 맡는다. 모든 호스트는 ~/.memu/config.env 하나로 설정된 백엔드(로컬 또는 MemU Cloud)를 공유하므로, 한 호스트의 세션이 가르친 내용을 다른 호스트가 검색한다. 새 호스트 추가는 TranscriptSource 하나와 HostSpec 크기의 CLI로 끝나고 파이프라인·동사·지시문은 공유된다.
어떻게 쓰나
설치는 memu.so에서 API 키를 받은 뒤 에이전트에 SKILL.md를 읽고 그 지시를 따르라는 메시지를 보내는 한 번의 절차로 시작한다. SKILL.md는 라우팅 스킬로서 패키지 설치, 호스트 식별(전용 어댑터가 없으면 memu-agent detect로 대체), 해당 호스트의 설치 가이드 출력과 수행(백엔드 설정, 예약 브리징 태스크 등록, 지시 파일 패치, 각 단계 검증 게이트)을 지시하고 마지막에 어느 이음새가 활성화됐는지 보고한다. 이후 memu-claude-code retrieve "..." 같은 어댑터 명령으로 수동 검색이 가능하고, memu doctor가 설정·선택 모드·실제 검색을 확인한다. 제거 시에는 호스트 통합과 툴링만 지우고 메모리 저장소와 config.env는 남겨 재설치 시 이어 쓸 수 있다.
전제와 한계
전제와 한계는 다음과 같다. 테스트된 통합은 macOS·Windows·Linux 매트릭스 기준이며 릴리스마다 변한다. 전용 바이너리가 없는 에이전트는 memu-agent detect가 세션 로그 존재 여부(기억화 가능)와 패치할 지시 파일 존재 여부(검색 가능)만 판정한다. 자체 호스팅은 단일 기기·임베딩 키가 필요하고, 클라우드 모드는 API 키가 필요하다. 스킬 합성 품질은 호스트 에이전트의 판단에 의존하며 MemoryService 자체는 LLM 호출을 하지 않는다.
관련 논문 4
유사 도구
- claude-mem에이전트 세션의 작업 기록을 AI로 압축해 SQLite에 저장하고, 다음 세션에 관련 컨텍스트를 주입하는 TypeScript 기반 CLI 메모리 계층이다.
- supermemory대화에서 사실을 추출해 사용자 프로필과 컨텍스트를 유지하는 AI 메모리 엔진이다. 단일 API, MCP 서버, 로컬 단일 바이너리 실행을 함께 제공한다.
- SimpleMemLLM 에이전트에 장기 기억을 붙이는 Python 패키지다. 대화를 원자적 기억으로 압축해 저장하고 의미 기반으로 검색하며, 텍스트와 이미지·오디오·비디오를 함께 다룬다.
- byterover-cli프로젝트 지식을 컨텍스트 트리로 큐레이션해 AI 코딩 에이전트에 영구 기억으로 붙이는 TypeScript CLI다. git식 버전 관리와 클라우드 동기화를 쓴다.
- context-modeMCP 서버로 AI 코딩 에이전트의 도구 출력을 샌드박스에 격리해 컨텍스트 사용량을 98% 줄이고, 세션 기억을 SQLite에 남긴다.
- letta에이전트의 기억과 정체성을 대화 세션 밖에 보관하는 상태 유지 에이전트 플랫폼이다. 터미널 UI, App Server, TypeScript SDK로 같은 에이전트에 접속한다.