기기 외부로 유출되지 않는 에이전트 메모리 및 컨텍스트
요약
데이터 유출을 방지하기 위해 로컬 환경에서 작동하는 MCP 서버인 Mimir와 Perseus를 소개합니다. Mimir는 암호화된 오프라인 메모리를 제공하며, Perseus는 에이전트의 컨텍스트를 결정론적으로 컴파일하여 효율성을 높입니다.
핵심 포인트
- 클라우드 전송 없는 로컬 우선(Local-first) MCP 서버 구현
- Mimir: AES-256-GCM 암호화 및 오프라인 임베딩을 지원하는 지속성 메모리
- Perseus: 세션 시작 시 컨텍스트를 브리핑 형태로 컴파일하여 토큰 낭비 방지
- 보안이 중요한 금융, 의료, 국방 분야의 에어갭 환경에 최적화
오늘날 대부분의 "에이전트 메모리 (agent memory)" 및 "에이전트 컨텍스트 (agent context)" 도구들은 데이터를 타인의 클라우드로 전송할 것을 요구합니다. 만약 당신이 규제 대상이거나, 에어갭 (air-gapped) 환경, 또는 단순히 개인정보 보호를 중시하는 환경에서 운영 중이라면, 시도해 보기도 전에 이러한 도구들은 제외될 수밖에 없습니다. 저는 이와 반대되는 것을 만들었습니다. 당신의 자체 하드웨어에서 완전히 작동하는, MIT 라이선스의 로컬 우선 (local-first) MCP 서버 두 개입니다.
문제점
에이전트 메모리 및 컨텍스트 조립은 클라우드 전용 (cloud-only) 기본값으로 수렴하고 있습니다. 이는 국방, 의료, 금융, 법률 분야 및 에이전트 컨텍스트가 VPC를 벗어나는 것을 허용할 수 없거나 허용하지 않는 모든 팀에게는 시작조차 할 수 없는 문제입니다. 또한 이는 필요 이상으로 느리고 결정론적 (deterministic)이지도 않습니다. 에이전트들은 매 세션마다 당신의 리포지토리 (repo)와 서비스에 대한 동일한 사실들을 다시 발견하며, 실제 작업을 수행하기도 전에 토큰 (tokens)과 턴 (turns)을 낭비합니다.
Mimir: 완전 오프라인 방식의 지속성 메모리
Mimir는 약 8MB 크기의 단일 Rust 바이너리입니다. 이는 저장된 모든 데이터를 AES-256-GCM으로 암호화하며, API 키, 모델 다운로드, 네트워크 접속이 전혀 필요 없이 작동합니다. 밀집 검색 (dense search)에 사용되는 임베딩 (embeddings)이 바이너리에 직접 포함되어 있기 때문입니다. 이는 이시적 (bi-temporal)입니다. 모든 사실은 유효 기간을 가지므로, 과거의 특정 시점 "기준"으로 메모리를 쿼리할 수 있으며, 히스토리를 삭제하지 않고도 사실을 갱신할 수 있습니다. 내부적으로 43개의 MCP 도구와 SQLite + FTS5 하이브리드 검색을 사용합니다.
언급할 가치가 있는 정직한 트레이드오프(tradeoff) 하나는 다음과 같습니다: 빠른 키워드 검색을 위해 필요한 FTS5 인덱스는 기본 레코드가 저장 시 암호화되어 있음에도 불구하고 현재 평문 (plaintext) 위에 위치합니다. 저희는 암호화 이야기를 과장하기보다 문서에 이 점을 솔직하게 명시하고 있습니다.
Perseus: 컨텍스트 이전의 컴파일
Perseus는 런타임 도구 호출 발견 (runtime tool-call discovery)과는 다른 컨텍스트 접근 방식을 취합니다. 에이전트가 매 세션마다 일련의 도구 호출을 통해 git 상태, 실행 중인 서비스, 테스트 상태를 다시 발견하게 하는 대신, 세션이 시작되는 즉시 이 모든 것을 준비된 브리핑 (briefing)으로 컴파일합니다. 그 결과는 결정론적이며 바이트 안정적 (byte-stable)입니다. 즉, 동일한 리포지토리 상태는 항상 동일하게 컴파일된 컨텍스트를 생성합니다.
정직하고 재현 가능한 벤치마크
의미가 바뀌어 표현된 쿼리(paraphrased queries)에 대해, Mimir의 번들형 오프라인 임베딩(offline embeddings)은 91.7%의 recall@1과 100%의 recall@5를 기록한 반면, 단순 키워드 검색(naive keyword search)은 4.2%의 recall@1을 기록했습니다. Perseus는 튜닝된 RAG 베이스라인들이 동일한 예산 내에서 사실(facts)을 누락하기 시작하는 고정된 결정론적 컨텍스트 크기(deterministic context size)에서도 전체 답변 커버리지를 유지합니다. 두 벤치마크 하네스(benchmark harnesses)는 모두 오프라인이며 재실행이 가능합니다. 저희의 말을 그대로 믿기보다 직접 실행해 보세요.
2분 만에 시도해 보기
# Mimir (memory)
docker pull ghcr.io/perseus-computing-llc/mimir:2.7.0
...
두 도구 모두 Claude Code, Cursor, Cline 또는 커스텀 에이전트와 같은 모든 MCP 클라이언트와 함께 작동합니다. 두 도구 모두 공식 MCP 레지스트리(MCP Registry)에 등록되어 있습니다.
만약 귀하의 팀이 클라우드 전용(cloud-only) 환경에서 에이전트를 구축하고 있어 메모리 사용이 불가능한 상황이라면, 저희가 소수의 통합 파일럿(integration pilots)을 진행하고 있습니다: 저희가 Mimir와 Perseus를 귀하의 환경에 배포하여 2~4주 내에 귀하의 자체 데이터에 대한 리콜(recall) 품질을 증명해 드립니다.
GitHub의 Mimir: https://github.com/Perseus-Computing-LLC/mimir
GitHub의 Perseus: https://github.com/Perseus-Computing-LLC/perseus
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기