에이전트 메모리의 공식 원장 v0.7.0 · pre-release · AGPL-3.0

에이전트 메모리의 문제

에이전트 메모리는 무엇이든 저장한다. 참이든 아니든.

Verimem은 지속 메모리 계층입니다. add()는 모든 쓰기를 반작화 허용 게이트로 통과시키고——출처가 정말로 그 사실을 함의하는가?——search()읽을 때마다 출처를 반환합니다. 문 앞에 공증인을 둔 해마입니다.

100% 무료 & 오픈소스 —— AGPL-3.0 라이선스. 셀프호스팅·로컬 우선: 계정 불필요, API 키 불필요, 과금 없음.

허용됨grounding 0.97
쓰기 후보
「배포는 PostgreSQL 16을 사용.」
출처 ⊢ 사실 —— 인용된 릴리스 노트가 주장을 함의함.
상태 허용됨 · 출처와 함께 저장.
§01 허용 게이트

다른 메모리 계층은 추출기가 내놓는 것을 무엇이든 저장합니다. Verimem은 아닙니다.

쓰기 시 후보 사실은 허용·강등·거부됩니다——인용된 출처가 실제로 그것을 함의하는지에 따라 결정됩니다. 값싸고 LLM이 필요 없는 어휘 스크린이 먼저 「된다 / 검증됨 / 완료」 같은 근거 없는 주장을 강등하고, 이어서 v0.5.0부터 기본 활성화된 출처⊢사실 함의 검사가 인용된 출처가 실제로 뒷받침하지 않는 모든 주장을 거부합니다. SNLI에서 측정하면 AUROC 0.971에 이르며, 이 수치는 심판과 무관합니다.

mem0, Zep, Letta, Cognee, MemOS를 구조적으로 검토한 결과, 어느 것도 쓰기 허용 게이트를 갖고 있지 않습니다. 그 게이트——그리고 매 읽기가 되돌려 주는 출처——가 핵심의 전부입니다. —— 그리고 2026년 always-on 에이전트 독립 서베이(arXiv 2606.30306) 은(는) 이 분야가 에이전트 상태를 관리하기보다 축적하고 검색하는 데 훨씬 더 집중한다고 지적합니다 —— 바로 write-admission의 공백입니다.

예시 —— 세 가지 판정으로 보는 게이트

허용됨0.97
쓰기 · 함의됨
「배포는 PostgreSQL 16을 사용.」
허용됨 · 출처와 함께 저장
강등됨0.41
쓰기 · 근거 없음
「마이그레이션 완료, 전부 작동.」
강등됨 · 유지, 낮은 신뢰로 표시
거부됨0.08
쓰기 · 모순
「API 속도 제한은 10,000 req/s.」
거부됨 · 출처는 1,000이라 함 —— 저장 안 함

읽을 때마다 출처

읽기는 텍스트만 반환하지 않습니다——각 사실에 대해 쓰기 시점의 statusgrounding_score를 반환하므로, 코드가 맹목적으로 믿는 대신 신뢰도로 조건을 걸 수 있습니다. 그리고 update()는 옛 사실을 결코 파괴하지 않고 대체(supersede)하여, 감사 가능한 history() 자취를 남깁니다. explain()은 완전한 TrustReport를 반환합니다 —— 출처, 검사, 그리고 모든 충돌을 명시하거나 이유와 함께 기권합니다.

memory.py · 쓰기는 게이트를 지나고, 읽기는 출처를 반환

from verimem import Memory

mem = Memory()                                  # local SQLite, offline
mem.add("The deployment uses PostgreSQL 16.")   # write goes THROUGH the gate

for hit in mem.search("which database?"):       # read returns provenance
    print(hit["text"], hit["status"], hit["grounding_score"])
# -> The deployment uses PostgreSQL 16.  ADMITTED  0.97
§02 증거 —— 주장 아닌 측정
지표결과기록으로
쓰기 게이트 entailment AUROC 0.971 출처⊢사실, 심판과 무관(SNLI). 쓰기 경로의 해자.
엔드투엔드 QA · HaluMem, 전체 파이프라인 0.66–0.68 자체 추출 → 게이트 스토어 → 답변: 연속 7회 전체 실행이 0.66–0.68(평균 0.667, n=3 클린)로 수렴, MemOS 자체 보고 0.672 대비 —— 승리가 아닌 동률이며, 우리는 그렇게 말합니다. 심판은 GPT-4가 아닌 Claude; 원본 파일은 저장소에.
크로스 유저 일반화 0.716 같은 레시피를 한 번도 본 적 없는 사용자(n=169)에 적용: 0.716. 레시피는 한 사용자의 데이터에 맞춰 조정되지 않았습니다.
메모리 경계 기권 1.000 × 7회 스토어가 답을 뒷받침하지 못하면 지어내기를 거부 —— 연속 7회 엔드투엔드 실행에서 1.000. 경쟁사가 측정하지 않는 축입니다.
다국어 게이트 구멍 —— 봉쇄 8/10 → 0/10 실사용 테스트에서 재현: 근거 없는 동일한 과장 주장이 10개 언어 중 8개에서 게이트를 그냥 통과(어휘 스크린은 영어/이탈리아어만). 다국어 임베더 자체를 검출기로 쓰는 시맨틱 이중 검증으로 수정한 뒤, 적대적 리뷰로 단련 —— held-out 문장에서 최초의 "오탐 0" 주장이 반증되었습니다: 의문문·부정문·전언은 이제 결정론적 가드로 설계상 제외됩니다. 수정 후 실제 쓰기 경로에서: 과장 주장 10/10 언어 검출, held-out 오탐 0/14 —— 캘리브레이션 스크립트, 리뷰 결과, 원본 파일 모두 저장소에.
메모리 충돌 해소 0.15 → 0.82 수정 후 모순되는 업데이트가 5.5× 더 자주 채택됨; 잘못된 철회를 정밀도 하한으로 99 → 7(크로스 속성 0). 적대적 critic 판정: claim_holds.
환각률(다이얼) 0.233 → 0.111 스위치로 −52%(ENGRAM_GROUNDING_GATE), 정답은 유지. recall-first 또는 trust-first를 직접 선택 —— QA와 쓰기 경로 모두에서.
Retrieval recall@5 · LongMemEval-s 0.8745 전체 500, 심판 없음, 동일한 e5 임베더, 외부 API 0. Fusion ON 대 0.8525 OFF(+2.2 pp). 이것은 recall@k이며, 엔드투엔드 QA 정확도가 아닙니다.
지연 · 동시성 38ms / 166–237ms 쓰기 38ms p50(완전 게이트); 읽기 166–237ms(이력 + TrustReport, 5k 사실). 단일 SQLite에서 500 동시 프로세스, 오류 0(경량 워커).
테스트 스위트 7,761 그린 자체 실행, 저장소에서 재현 가능. 제3자 순위표 없음. LLM 프로바이더 대상 라이브 스모크 테스트 1건은 환경 의존적(호스티드 프로바이더 필요)이라 집계에서 제외.
TrustMem-Bench · 신뢰 축 Verimem 60/60 자체 결정론적 신뢰 벤치마크 —— LLM 없음, 네트워크 없음: 6개 축, 한 명령. Verimem은 60/60 통과; mem0 OSS는 40/60 커버(부재·망각·출처에서 0/10). 의도적인 raw-store 베이스라인 —— 경쟁 제품의 실행을 환영합니다.
VeriBench · 신뢰 표준 결정적 · self-run 신뢰 가능한 메모리를 위한 오픈 벤치마크 —— recall@k가 보지 못하는 것을 측정합니다. 대칭적인 점수는 자신만만한 오답과 정직한 "모르겠습니다"를 구분하지 못하기 때문입니다. 인과 축에서는 허위 상관을 뒷받침한 trust 전용 store가 λ=1에서도 순손실(출처 ≠ 인과). 적대 축 —— 담합 + 신뢰받는 슬리퍼 —— 에서는 2채널 정책(독립적 뒷받침 결과)만이 순이익을 유지하고, 단일 채널은 각각 한 가지 공격에 무너집니다. 모델 없음, 명령 하나, 스펙은 저장소에 —— 경쟁사의 실행을 환영합니다. 전체 결과·프로토콜·head-to-head →
Source trust · 실제 코퍼스 카르텔 0.90 → 0.20 · 3/3 seeds HaluEval held-out, 기준은 첫 실행 전 사전 등록: 4개 신원의 카르텔이 순진한 ≥2 출처 집계로 0.90까지 자기 확증하던 것을 독립성 + 감사 기반 교란 제거가 0.20으로 해체; 정직한 출처는 0.95로 회복, 카르텔의 환각 답변은 리콜에서 완전히 사라짐(→ 0.0). 견고성 곡선(18개 지점): 기만자가 쓴 오답 = 모든 노이즈 수준에서 0/18; 잔여는 전부 정직한 실수 —— per-claim의 병이며, 공표했고, 숨기지 않습니다.
SLA 노브 · 선언한 리스크로 작동 TCE ≤ 0.011 · 리스크 1.1% @ 73% 커버리지 강한 AUROC는 점수가 구별함을 말할 뿐, λ 노브가 선언한 리스크로 작동함을 말하지 않습니다(Oxford 2603.21172). held-out으로 측정, 캘리브레이션은 dev에서만 학습: 원시 점수는 거의 오라클급 순위(E-AURC 0.0008)지만 약속한 리스크와 실제가 다릅니다; 순수 등화 캘리브레이션 후 선언한 모든 λ 목표 달성 —— λ ∈ {0.5–9}에서 TCE ≤ 0.011, 관측 리스크 1.1%, 커버리지 73%. 공표한 트레이드오프: 캘리브레이션은 미세 순위를 평탄화 —— 순위는 raw로, 운영은 캘리브레이션으로.

여기의 모든 수치는 자체 실행이며 저장소에서 재현 가능합니다 —— 제3자 순위표의 순위가 아닙니다. retrieval 수치는 recall@k이며 Mem0와 Zep가 내세우는 엔드투엔드 QA 정확도가 아니므로 직접 비교할 수 없습니다.

§03 차이 —— 정직한 조합

01쓰기 승인 게이트

소스 함의에 따라 각 쓰기를 승인·강등·거부. 여기 나온 어떤 경쟁사도 제공하지 않습니다 —— 게다가 7월부터 다국어: 동일한 시맨틱 스크린이 10개 언어에서, 오탐 0으로 캘리브레이션.

02출처 + TrustReport

모든 사실이 status + grounding_score를 반환; update()는 대체하고 history()는 감사 가능하게 유지; explain()은 "어떻게 알아?"의 완전한 조서를 제공합니다.

03이중 시간축 + 타임트래블

두 개의 시계(알게 된 때 vs 참이던 때), 이력 포함 답변("Z일에 X에서 Y로 변경"), as_of 타임트래블, 휴면 사실의 딥 리콜 —— valid_until만이 아닙니다.

04셀프호스트 팀 게이트웨이

verimem gateway serve: 자기 머신에서 멀티테넌트 HTTP API —— 해시 키, 테넌트별 격리 스토어, 속도 제한, 핫 백업, 원격 프로비저닝. 데이터가 당신의 인프라를 떠나지 않습니다.

05신뢰 주행계 + 대시보드

게이트가 실제로 한 일의 영속 카운터 —— 승인·격리·거부된 쓰기, 정직한 기권 —— 스토어별·테넌트별, 의존성 없는 /dashboard 페이지 포함. 관찰 가능한 행동이지 마케팅 주장이 아닙니다.

06정확한 인용의 문서 메모리

PDF / DOCX / HTML / EPUB 색인; 구절이 파일·버전·문자 오프셋과 함께 반환되고, 게이트를 거쳐 메모리로 승격될 수 있습니다.

07동의 우선 임포트

ChatGPT / Claude 내보내기에서 시작: 대화가 먼저 목록으로 표시되고 제목·날짜·프로젝트로 필터링 가능 —— 명시적 선택 없이는 아무것도 수집되지 않습니다.

08지속되는 GDPR 망각

delete(purge_history=True)는 체인 전체를 접습니다 —— 삭제된 데이터는 history, as_of, 딥 리콜에서 다시 떠오르지 않습니다.

09MCP 네이티브 + TypeScript SDK

Claude Code, Cursor, Cline, Zed에서 세션 시작부터 메모리 도구 —— 게이트웨이용 타입 지정·의존성 없는 TypeScript 클라이언트 포함, 라이브 서버 대상 계약 테스트 완료.

10당신의 구독으로 실행

호스티드 MCP 모드: API 키 없음, 토큰 과금 없음 —— 호스트의 LLM이 일합니다. 에어갭 실행 가능(verimem airgap이 제로 이그레스 검증).

11파생 지식도 같은 게이트로

합성 링은 검증된 사실에서 「새」 사실을 도출해 모든 작성자와 <b>같은</b> 승인 게이트에 통과시킵니다 —— 생존자는 서명되어(엔진 쓰기는 절대 스스로 증언하지 않음), 추적되어(부모가 무너지면 철회 가능), 통과한 검사 그대로 라벨링되어 들어옵니다: proven / unbeaten(bound) / refuted(반례). 「10^6까지 버팀」과 「증명됨」은 결코 혼동되지 않습니다.

12읽기 경로 가디언 + 능동 프로브

읽기는 기권만 하지 않습니다 —— store가 같은 주제에 대해 더 잘 보장된 진실을 가지면, 두 사실을 인용하며 「정정」합니다(반증된 사실은 결코 제공되지 않음). 그리고 store는 「자기 자신」을 탐침합니다: 어떤 사실을 반증할 쿼리를 구성하고 —— 독립적 반증은 refuted 라벨을 제안, 살아남으면 unbeaten 경계가 자랍니다. 기다릴 필요 없는 반증 가능성.

13출처 서명

「누가 말하는가」의 위조 불가능한 HMAC가 각 쓰기의 출처 ref 안을 타고 이동하며, entailment 게이트의 「무엇이 승인받을 자격이 있는가」를 보완합니다. 콘텐츠 진정성과 채널 진정성 —— 어떤 결정적 콘텐츠 필터도 단독으로는 적응형 공격자에 대해 인증할 수 없는 두 절반입니다. 옵트인; 감사는 커버리지를 보고하고 위반자를 지목합니다.

시스템쓰기 게이트읽기 출처접근성숙도
Mem0 평면 벡터 + LLM 요약 확립, 널리 채택
Zep / Graphiti 부분(시간적) 시간적 지식 그래프 상용, 성숙
HippoRAG OpenIE + PageRank 연구
Verimem 융합 리콜 + 게이트 + 수면 통합 완전 새것 · 아직 채택 0

경쟁사 점수와 채택은 출처와 시기에 따라 달라집니다; 우리가 서 있는 두 열 —— 쓰기 게이트와 읽기 출처 —— 는 마케팅 표가 아니라 구조적 검토에서 나왔습니다.

§04 Verimem이 아닌 것
기록으로
  • 채택 0.

    완전 새 공개 릴리스. 아직 아무도 의존하지 않습니다 —— 메인테이너의 일상 사용을 빼면 우리도.

  • PyPI 공개 · 공개 저장소.

    pip install verimem —— v0.7.0 PyPI 공개(AGPL-3.0); 공개 저장소는 GitHub, 첫 CI 그린. 그래도 완전 새것.

  • Source-trust 가드 —— 실제 코퍼스에서 재현, 여전히 opt-in.

    출처 독립성과 감사 기반 교란 제거가 이제 실제 held-out 코퍼스에서 성립합니다(HaluEval, 사전 등록 기준, 3/3 seeds): 조작된 합의 카르텔이 순진한 집계로 0.90까지 자기 확증하던 것이 0.20으로 해체되고, 정직한 출처는 0.95로 회복, 환각 답변은 리콜에서 사라집니다. 정직하게 측정한 한계: 강한 정직 노이즈(신뢰 출처가 ~15%+ 오류)에서는 분리가 저하 —— 잔여는 100% 정직한 실수로 per-claim의 병이지 공격이 아닙니다. 플래그는 기본 OFF 유지: 증거는 전환의 근거일 뿐, 전환은 제품 결정입니다.

  • 범위: 출처이지 인과가 아님.

    모든 TrustReport가 이제 선언합니다 —— Verimem은 누가 사실을 주장했는지, 얼마나 독립적으로 뒷받침되었는지, 얼마나 신선한지를 증명하며, 인과적으로 참임을 증명하지 않습니다. do(X) 질문에는 개입 사실이 필요하고, 뒷받침된 관찰 사실로는 답할 수 없습니다.

  • 자체 실행 벤치마크.

    모든 수치는 저장소에서 재현 가능하지만 제3자 감사는 없습니다. QA 대 MemOS 수치는 Claude 심판(GPT-4 아님), n=2 사용자. 인증이 아니라 재현 가능으로 취급하세요.

  • 엔드투엔드 동률 —— 자체 판정.

    전체 파이프라인(자체 추출 → QA)이 연속 7회 실행에서 0.66–0.68로 수렴(n=3 클린 스토어 평균 0.667), MemOS의 0.672 대비, 미확인 사용자에서 0.716 유지. 단서는 그대로: 심판은 GPT-4가 아닌 Claude, 제3자 감사 없음. 우리는 "동률"이라 말하지 "이긴다"고 하지 않습니다.

  • 셀프호스트는 예 —— 관리형 클라우드는 아직.

    멀티테넌트 게이트웨이(테넌트별 격리 스토어, 해시 키, 백업, 계량)는 실재하고 테스트됨 —— 당신의 인프라에서. 관리형 클라우드 서비스는 아직 없습니다.

  • 엔터티 그래프: 타입 지정, 옵트인, 아직 어림.

    대화 엔터티 추출(타입 지정 티어)은 출시되었지만 기본은 꺼짐; 그래프 위 멀티홉 추론은 실측 최약 축(0.39–0.44)이며 현재 작업 전선입니다.

§05 설치

① Python —— 소스에서

pip install verimem

verimem 명령과 from verimem import Memory SDK 제공 —— add() / search() / history() / explain(). 로컬 SQLite, 오프라인, 게이트 기본 활성.

github.com/aureliocpr-ctrl/verimem ↗ · AGPL-3.0 · README · BENCHMARKS.md

② MCP 서버로 —— Claude Code, Cursor, Cline, Zed

{
  "mcpServers": {
    "verimem": {
      "command": "verimem",
      "args": ["mcp"],
      "env": { "ENGRAM_HOSTED": "1" }
    }
  }
}

호스트를 재시작하면 메모리 도구를 API 키 없이 호출할 수 있습니다 —— 호스트의 LLM이 일합니다.

③ 셀프호스트 팀 게이트웨이

verimem gateway keys create --tenant acme
verimem gateway serve   # 127.0.0.1:8377 · /ui

verimem gateway keys create --tenant acmeverimem gateway serve —— 테넌트별 격리 스토어, 속도 제한, 핫 백업을 갖춘 멀티테넌트 HTTP API. /ui에서 신뢰 주행계 확인; 타입 지정 TypeScript 클라이언트가 저장소에 동봉.

④ 작동을 지켜보기 — 트러스트 콘솔

verimem console   # your store · odometer · graph · live

verimem console자신의 로컬 저장소를 브라우저에서 엽니다 — 신뢰 주행계, 모든 결론이 증거 사슬을 지니는 지식 그래프, 차단된 주장 로그, SSE 실시간 업데이트. 팀 게이트웨이는 동일한 콘솔을 /ui 에서 제공하며, 에이전트는 /v1/snapshot 으로 전체 상태를 읽습니다.