클로드·챗GPT처럼 기억하는 오픈소스 AI 메모리 레이어
Hacker News에 'Stash'라는 오픈소스 AI 메모리 레이어 프로젝트가 소개되었습니다. 이 도구는 PostgreSQL과 pgvector 기반으로 작동하며, 어떤 AI 에이전트든 사용자와의 대화 맥락과 선호도를 영구적으로 기억할 수 있게 해줍니다. 기존의 단순한 문서 검색(RAG)과 달리, 폴더처럼 체계적으로 메모리를 관리하고 에피소드를 패턴과 지혜로 발전시키는 '두 번째 뇌' 역할을 합니다.
오픈 소스 · MCP 네이티브 · PostgreSQL + pgvector
당신의 AI는 기억상실증에 걸려 있습니다. Stash는 당신의 AI가 당신을 기억하게 만듭니다. 모든 세션에서. 영원히. 더 이상 처음부터 상황을 설명할 필요가 없습니다. → GitHub에서 보기
작동 방식 28개의 MCP 도구 6개의 파이프라인 단계 무한(∞)의 에이전트 지원
이런 경험, 낯설지 않으신가요? 😫
Stash 없이 사용자: 안녕하세요, 저는 레스토랑용 SaaS를 만들고 있는데 도와주시겠어요? AI: 물론이죠! 프로젝트에 대해 말씀해 주세요. 사용자: 지난주에 이 얘기 했는데... 제가 모든 걸 이미 설명했잖아요. AI: 죄송합니다, 저는 이전 대화에 접근할 수 없습니다. 사용자: ...또요? 🔁 10분을 낭비하며 또 처음부터 설명해야 합니다. 또요.
VS 😌
Stash 사용 시 사용자: 안녕, 내 프로젝트 작업을 계속해볼게. AI: 다시 오셨군요! 지난번에 레스토랑 SaaS의 수익 모델을 최종 확정했습니다. 그리고 온보딩 플로우 작업을 하려고 하셨죠. 거기서부터 다시 시작할까요? 사용자: 네! 정확히 맞아요. AI: 좋습니다. 또한 Stripe의 복잡성을 피하고 싶다고 하셨는데, 그 부분도 메모해 두었습니다. 저희가 진행했던 곳은 여기까지입니다... ✓ 즉시 이어서 작업 시작. 반복 제로. 완벽한 맥락 파악.
Stash 없이 vs Stash 사용 시 새로운 세션: ❌ "너 누구야?" vs ✓ 이전에 끝난 지점부터 바로 시작 사용자 선호도: ❌ 매번 다시 설명 vs ✓ 이미 알고 있음 과거의 실수: ❌ 같은 실수를 반복 vs ✓ 어떤 게 안 됐는지 기억함 장기 프로젝트: ❌ 목표를 잊어버림 vs ✓ 몇 주에 걸쳐 목표 추적 토큰 비용: ❌ 세션마다 증가 vs ✓ 중요한 부분만 기억 모델 전환: ❌ 다시 처음부터 시작 vs ✓ 메모리는 모델에 종속되지 않음
Stash란 무엇인가 단순한 메모리가 아닙니다. 제2의 뇌입니다. Stash는 AI 에이전트와 세상 사이에 위치하는 지속적인 인지 레이어(Cognitive layer)입니다. 모델을 대체하지 않고 모델을 지속적(Continuous)으로 만들어 줍니다.
에피소드는 사실(Facts)이 되고, 사실은 패턴(Patterns)이 되며, 패턴은 지혜(Wisdom)가 됩니다. "당신의 AI가 뇌라면, Stash는 인생의 경험입니다."
당신의 에이전트 → Claude, GPT, 로컬 모델 등 모든 것 에피소드(Episodes) → Raw 관찰 결과, 추가 전용(Append-only) 사실(Facts) → 신뢰도가 있는 종합된 믿음 관계(Relationships) → 엔티티 지식 그래프 패턴(Patterns) → 상위 수준의 추상화 목표(Goals) → 목표, 실패, 가설 의도(Intent) → 의도, 학습, 불확실성
postgres + pgvector 실전에서 검증된 인프라
네임스페이스(Namespaces) 폴더처럼 정리된 메모리. 모든 메모리가 동일한 수준은 아닙니다. 에이전트가 사용자에 대해 배우는 것은 프로젝트에 대해 배우는 것과 다르며, 이는 다시 에이전트가 자체적으로 아는 것과 다릅니다. 네임스페이스를 사용하면 에이전트가 학습한 내용을 컴퓨터의 폴더처럼 깔끔하고 분리된 버킷으로 정리할 수 있습니다.
각 네임스페이스는 경로(Path)입니다. 경로는 계층적입니다. /projects에서 읽으면 /projects/stash, /projects/cartona 등 하위 항목의 모든 내용이 자동으로 포함됩니다. 이를 생각할 필요가 없습니다. 에이전트가 알아서 처리합니다.
📁 하나의 네임스페이스에 쓰고, 하위 트리에서 읽어옵니다.
예시 네임스페이스 구조: 📁 / (모든 것) 📁 /users/alice (alice가 누구인지, 그녀의 선호도) 📁 /projects (모든 프로젝트) 📁 /projects/restaurant-saas (가격 책정, 기능, 결정 사항) 📁 /projects/mobile-app (디자인, 기술 스택, 목표) 📁 /self (에이전트 자체 지식) 📄 /self/capabilities (내가 잘하는 것) 📄 /self/limits (내가 어려워하는 것) 📄 /self/preferences (내가 가장 잘 일하는 방식)
🔍 재귀적 읽기(Recursive reads) /projects에서 불러오면 모든 하위 프로젝트의 데이터를 자동으로 가져옵니다.
✏️ 정밀한 쓰기(Precise writes) 기억하는 과정은 항상 하나의 정확한 네임스페이스를 대상으로 하여, 우발적인 데이터 교차 오염을 방지합니다.
🔒 명확한 분리(Clean separation) 사용자 메모리는 프로젝트 메모리와 절대 섞이지 않습니다. 에이전트의 자체 지식은 /self에 보관됩니다.
실제 작동 영상 보기 Stash가 기억하는 것을 확인하세요. 실제 대화 루프 — 두 개의 세션, 하나의 에이전트, 반복 제로. 그 사이에 어떤 일이 일어나는지 지켜보세요. agent session ↺ 재생
Stash vs RAG RAG(Retrieval Augmented Generation)는 AI에게 검색 엔진을 제공합니다. Stash는 AI에게 인생(Life)을 제공합니다. 당신은 아마 RAG, 즉 검색 증강 생성에 대해 들어보셨을 것입니다. 영리한 방법이죠. 하지만 그것은 메모리가 아닙니다. 알기 쉽게 그 차이를 설명해 드리겠습니다.
📚 RAG: "매우 빠른 사서" 문서 더미를 줍니다. 질문을 하면 해당 문서를 검색하여 관련 페이지를 건네줍니다. 그게 전부입니다. 대화를 기억하지 않고, 학습하지 않으며, 당신을 알지 못합니다. 모든 질문은 처음부터 다시 시작됩니다. 즉, 이미 작성된 파일을 대상으로 더 똑똑한 검색 엔진일 뿐입니다. 문서에 있는 내용만 알 수 있습니다.