Show HN: 생물학적 망각을 가진 AI 메모리 (52% 회상률)
요약
YourMemory는 AI 에이전트의 근본적인 한계인 휘발성 메모리 문제를 해결하는 시스템입니다. 단순한 벡터 저장소를 넘어, 인간의 기억 방식 과학에 기반하여 지속적으로 사실을 추출하고 중복을 제거하며 그래프로 연결합니다. 이를 통해 에이전트가 장기적이고 자체 개선되는 '뇌'와 같은 메모리를 갖게 합니다.
핵심 포인트
- AI 에이전트를 위한 영구적이고 자체 개선되는 메모리 시스템입니다.
- 단순한 벡터 DB를 넘어, 뇌처럼 작동하는 기억 메커니즘을 구현했습니다.
- 사실 추출, 중복 제거, 그래프 연결 등 복합적인 과정을 거칩니다.
당신의 AI는 금붕어 같은 기억력을 가지고 있다. 이제 더 이상 아니다.
AI 에이전트를 위한 영구적이고 자체 개선되는 메모리 — 인간의 기억 방식 과학에 기반하여 구축되었습니다.
▶ 라이브 인터랙티브 데모 사용하기 · 웹사이트 · 벤치마크
</div>문제점 (The problem)
매일 아침 당신의 AI 에이전트는 당신을 낯선 사람처럼 대합니다. 같은 맥락을 재설명하고, 같은 선호도를 잊어버립니다. 모든 세션은 제로(zero)에서 시작됩니다.
대부분의 "메모리" 도구는 벡터 데이터베이스를 에이전트에 붙이고 끝났다고 부릅니다. 하지만 그것은 단지 **저장소 (storage)**일 뿐입니다. 유사한 내용을 거의 복제하는 모든 것을 쌓아두다가 검색 과정에서 노이즈에 압도됩니다. 더 큰 그릇을 가진 금붕어와 같습니다.
YourMemory는 다릅니다: 데이터베이스가 아닌, 뇌처럼 작동하는 메모리입니다.
flowchart LR
A["🧠 당신이 AI에게 무언가를 말한다"] --> B["지속 가능한 사실 추출"]
B --> C["중복 제거 + 임베딩 + 그래프 연결"]
...
✨ 무엇이 다른가 (What makes it different)
| 기능 (Feature) | 작동 방식 (What it does) | |
|---|---|---|
| 🧠 | 통합/응고화 (Consolidation) | 관련 사실이 충분히 축적되면, 하나의 깔끔한 요약으로 압축되고 원본은 보관됩니다. 메모리가 시간이 지남에 따라 팽창하는 것이 아니라 더 선명해집니다. |
| ... |
설치 명령어 하나로 끝납니다. 기본적으로 DuckDB를 사용하며 (설정 불필요), 팀을 위해서는 Postgres + pgvector를 지원합니다.
- 🏆 벤치마크
- 🚀 빠른 시작
- 🧠 메모리 작동 방식
- 🔒 신뢰 및 감사 추적 (Trust & Audit Trail)
- 👥 팀 메모리 풀 (Team Memory Pools)
- 🛡️ 데이터 권한 및 규정 준수 (Data Rights & Compliance)
- 🎛️ 대시보드 (Dashboards)
- 🔧 MCP 도구 (MCP Tools)
- ⚡ LLM 호출 없이 질문하기
- 🔀 API 프록시 — 보장된 메모리 (API Proxy — Guaranteed Memory)
- 🏗️ 아키텍처 및 스택 (Architecture & Stack)
- 🩺 문제 해결 (Troubleshooting)
- 🤝 기여하기 (Contributing)
🏆 벤치마크
세 가지 외부 데이터셋. 모든 수치는 독립적으로 재현 가능합니다 — 벤치마크 코드는 레포지토리에 있습니다. 전체 방법론은 BENCHMARKS.md를 참조하세요.
LoCoMo-10 — 다중 세션 대화형 메모리
xychart-beta
title "Recall@5 · LoCoMo-10 (높을수록 좋음)"
x-axis ["Mem0", "Zep Cloud", "Supermemory", "YourMemory"]
...
모든 10개 샘플에서 Zep Cloud보다 2배 높은 회상률을 보였습니다. *Supermemory와 Mem0은 벤치마크 도중 무료 티어 할당량을 소진했습니다. 점수는 전체 1,534 쌍에 대해 계산되었습니다.
LongMemEval-S — 질문 500개, 각 약 53개의 방해 세션
장기 메모리에 대한 가장 어려운 표준 벤치마크입니다. 각 질문은 약 53개의 세션 속에 숨겨져 있습니다.
| 지표 | 점수 |
|---|---|
| Recall@5 (상위 5개에 임의의 골드 세션 포함) | 89.4% |
| ... |
HotpotQA — 다단계 질문 200개
| 시스템 | BOTH_FOUND@5 |
|---|---|
| YourMemory (벡터 + BM25 + 개체 그래프) | 71.5% |
| YourMemory (개체 엣지 없음) | 59.5% |
개체 그래프 엣지는 +12 pp를 추가합니다 — 이는 Fact 2가 쿼리와 임베딩 유사도가 낮더라도 Fact 1에서 Fact 2로 이동하여 탐색하기 때문입니다.
작성 문서(Writeup): Ebbinghaus 망각 곡선을 사용하여 AI 에이전트의 메모리 감쇠 구현하기
🚀 빠른 시작 (Quick Start)
Python 3.11–3.14 사용 가능. Docker나 데이터베이스 설정 불필요. 모든 메모리는 ~/.yourmemory/에 로컬로 저장됩니다.
pip install yourmemory
yourmemory-register <사용자 토큰>
yourmemory-setup
토큰 받기: yourmemoryai.xyz 방문 → 이메일 입력 → 6자리 코드로 인증 → 토큰 복사.
yourmemory-setup은 Claude Code, Claude Desktop, Cursor, Windsurf, Cline을 자동으로 감지하고 연결한 후, 사용할 백엔드를 묻습니다:
- DuckDB: 설정 불필요, 단일 로컬 파일 (기본값)
- Postgres: 공유/프로덕션 환경용;
DATABASE_URL제공 필요 (pgvector 확장 기능 필요)
선택 사항 — 더 스마트한 로컬 추출: YourMemory는 내장된 휴리스틱(heuristics)으로 바로 작동합니다. 더 높은 품질의 완전 로컬 팩트 추출을 원한다면 Ollama를 설치하고
yourmemory-setup을 실행하면 모델(qwen2.5:7b, 약 4.7 GB)이 자동으로 다운로드됩니다. 클라우드를 선호하나요?YOURMEMORY_EXTRACT_BACKEND=anthropic으로 설정하세요.
또는 바이너리에서 설치 — Python 불필요
pip을 건드리고 싶지 않다면? 최신 릴리스에서 플랫폼별 독립 실행형(standalone binary) 파일을 받으세요:
| 플랫폼 | 에셋 (Asset) |
|---|---|
| macOS (Apple Silicon) | yourmemory-macos-arm64.tar.gz |
| ... |
# macOS / Linux — 다운로드, 압축 해제 후 실행
tar -xzf yourmemory-macos-arm64.tar.gz
./yourmemory-macos-arm64 register <사용자 토큰>
...
하나의 실행 파일이 모든 명령어를 처리합니다: register, setup, `ask
완벽하게 자급자족하며 오프라인 작동 가능 — 이 바이너리 하나가 Python, 모든 종속성(dependency), 그리고 두 가지 ML 모델(임베딩 모델 + spaCy)을 번들로 묶습니다. 첫 실행 시 아무것도 다운로드되지 않습니다. 그 대가는 크기(~2 GB)입니다. 단일 명령어 ./build-binary.sh로 직접 빌드할 수 있으며, 빌드 워크플로우를 통해 다중 플랫폼 릴리스 바이너리가 자동으로 생성됩니다.
🧠 메모리 작동 방식
YourMemory는 기억을 살아있는 시스템으로 취급합니다 — 마치 뇌가 하는 것처럼 성장하고, 통합하며, 망각하고, 연결합니다.
통합(Consolidation) — N → 1
대부분의 메모리 도구는 그저 계속 쌓이기만 합니다. YourMemory는 관련 사실들의 클러스터를 감지하고, 충분히 축적되면 이를 단일하고 깔끔한 요약으로 압축합니다 — 원본은 보관(절대로 삭제하지 않아 아무것도 손실되지 않습니다).
flowchart LR
subgraph before [관련 사실들이 쌓임]
A1[
회상(Recall)은 두 번의 라운드로 진행되어 사용자가 요청한 내용과, 깜빡하고 질문하지 않은 내용까지 모두 표면화합니다:
```mermaid
flowchart LR
Q["query"] --> R1["Vector + BM25<br/>하이브리드 검색"]
R1 --> R2["Graph expansion<br/>(깜빡하고 질문하지 않은 내용)"]
...
**주제별 중복 제거(Subject-aware deduplication)**는 모든 저장 과정 전에 실행됩니다. 이는 각 문장의 주제를 임베딩하여, "Sachit uses DuckDB"와 "YourMemory uses DuckDB"가 별개의 주체로 유지되면서도 (다른 개체), "YourMemory uses DuckDB"와 "YourMemory stores data in DuckDB"는 병합되는 경우 (동일한 개체)를 구분합니다. 하드 코딩된 단어 목록에 의존하지 않으며, 모든 언어로 일반화됩니다.
🔒 신뢰 및 감사 추적(Trust & Audit Trail)
기업들은 불투명한 블랙박스에 자신들의 데이터를 저장하도록 허용하지 않을 것입니다. 따라서 읽기(read), 쓰기(write), 업데이트, 삭제, 통합(consolidation) 등 모든 작업은 **해시 체인 연결된 위변조 방지 감사 로그(hash-chained, tamper-evident audit log)**에 추가됩니다.
flowchart LR
E0["GENESIS"] --> E1
subgraph E1 [Event 1]
...
각 행은 타임스탬프, 주체 사용자 + 에이전트, 작업(action), 연산(operation), 대상 메모리, 출처 (http 대 mcp), 그리고 이전 행의 해시를 기록합니다. 역사적 기록 중 어느 것을 변경하더라도 verify_chain() 함수가 정확히 체인이 깨진 지점을 찾아냅니다.
GET /audit # 추적(trail) 탐색 (사용자 / 작업 / 연산별 필터링)
GET /audit/verify # 체인이 위변조되지 않았음을 암호학적으로 검증
POST /audit/prune # 보존 기간 기반 정리 (최소 90일, 절대 낮추지 않음)
감사 로깅은 실패 시 개방(fail-open) 방식입니다. 즉, 메모리 작업을 막지 않습니다. 또한 대시보드의 자체 렌더 루프에서 읽기/목록화된 이벤트는 제외되므로, 추적 기록이 노이즈가 아닌 신호로 유지됩니다.
👥 팀 메모 풀(Team Memory Pools)
팀 전체의 에이전트들에게 공유된 하나의 두뇌를 제공하되, 누구의 개인적인 컨텍스트도 유출되지 않게 합니다. 메모리는 공유(shared) (풀에 보이는) 방식 또는 개인(private) (소유자에게만 보이는) 방식으로 나뉩니다.
flowchart TB
P((
역할 기반 접근 제어는 에이전트별로 적용됩니다. 즉, 한 엔지니어의 에이전트가 학습한 내용은 팀 전체가 즉시 활용할 수 있으며, 민감한 컨텍스트는 소유자에게만 제한적으로 유지됩니다.
```bash
POST /pools # 풀(pool) 생성
POST /pools/{id}/members # 멤버 추가 (역할 지정)
POST /pools/{id}/memories # 공유 메모 기여
...
🛡️ 데이터 권한 및 규정 준수(Data Rights & Compliance)
실제 데이터를 저장하는 메모리에는 신뢰를 갖기 위한 통제가 필요합니다:
| 권한 | 엔드포인트 | 기능 |
|---|---|---|
| 접근 (DSAR 내보내기) | GET /users/{id}/export | 사용자에게 저장된 모든 내용 전체 내보내기 |
| ... | ||
| Combined with the hash-chained audit trail and 90-day retention floor, these map directly onto the controls documented in SECURITY.md (SOC 2에 맞춰진 통제). |
🎛️ 대시보드(Dashboards)
별도의 설정 없이 서버와 함께 자동으로 시작되는 두 개의 내장 브라우저 UI가 있습니다.
메모리 대시보드 (Memory Dashboard) — http://localhost:3033/ui
메모리 · 감사(Audit) · 풀(Pools) 탭을 갖춘 전체 읽기/쓰기 보기입니다. 통계 바(강함 / 약해짐 / 정리 임박), 에이전트별 탭, 실시간 강도 막대가 있는 메모리 카드, 카테고리 필터, 감사 추적 기록, 풀 관리 기능 등이 포함됩니다.
그래프 시각화기 (Graph Visualiser) — http://localhost:3033/graph
메모리가 어떻게 연결되는지를 보여주는 상호작용 가능한 힘 기반 맵(force-directed map)입니다. 루트 메모리는 밝은 노드로, 이웃 노드는 카테고리별로 색상이 지정되며, 간선(edge)의 두께는 연결 강도를 나타냅니다. 노드를 드래그하거나 확대/축소하고 클릭하면 전체 내용을 볼 수 있습니다.
---
## 🔧 MCP 도구(MCP Tools)
AI가 자동으로 호출하는 세 가지 도구가 있습니다.
| 도구 | AI가 호출하는 시점 | 기능 |
|------|-----------------------|--------------|
| `recall_memory(query, current_path?)` | 모든 작업 시작 시 | 유사도 × 감쇠 강도에 따라 순위가 매겨진 메모리를 표시합니다. 경로와 일치하는 메모리에는 공간적 부스트를 적용합니다 |
| ... |
```python
# 공간적 컨텍스트와 함께 저장하기
store_memory(
LLM API 호출 없이 질문에 답할 수 있는 유일한 메모리 시스템:
```bash
yourmemory ask "이 프로젝트는 어떤 데이터베이스를 사용하나요"
# → YourMemory는 로컬에서 DuckDB를, 프로덕션에서는 Postgres를 사용합니다.
...
메모리가 충분히 강력하면 즉시 답변하며 — 토큰 0개, 클라우드 비용 0원, 지연 시간 0초입니다. 메모리가 부족할 때는 환각(hallucinating)을 일으키기보다는 깔끔하게 거절합니다. 사용자의 질문은 절대로 기기를 벗어나지 않습니다.
🔀 API 프록시 — 보장된 메모리
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기