Memstate AI
공식에이전트 메모리에 git 스타일 버전 관리를 적용합니다. 맞춤형 LLM이 대화를 구조화된 사실로 변환하고 자동 충돌 감지를 수행하여, 에이전트가 네 개의 모순된 텍스트 덩어리가 아닌 결정이 어떻게 진화했는지 확인할 수 있습니다. RAG/그래프 시스템 대비 토큰 80% 절감. MCP + REST.
Memstate AI MCP(으)로 무엇을 할 수 있나요?
-
작업 요약 및 결정 사항 저장 —
memstate_remember를 사용하여 마크다운 노트, 결정 사항 또는 작업 결과를 저장하면 서버가 자동으로 키 경로를 추출하고 충돌을 감지합니다. -
개별 설정 값 지정 —
memstate_set을 사용하여 특정 키 경로(예:config.port = 8080)에 짧은 값을 작성합니다. -
작업 시작 전 프로젝트 메모리 탐색 —
memstate_get을 사용하여 프로젝트 또는 하위 트리의 모든 메모리를 검색하여 현재 컨텍스트를 이해합니다. -
의미를 기준으로 메모리 검색 — 정확한 키 경로를 모를 때
memstate_search를 사용하여 의미론적 검색을 수행합니다. -
지식의 시간 경과에 따른 변화 감사 —
memstate_history를 사용하여 모든 키 경로의 전체 버전 체인을 확인하여 무엇이 언제 변경되었는지 파악합니다. -
오래된 메모리를 안전하게 제거 —
memstate_delete또는memstate_delete_project를 사용하여 전체 기록을 보존하면서 키 경로 또는 전체 프로젝트를 소프트 삭제합니다.
문서
Memstate AI - MCP
AI 에이전트를 위한 버전 관리 메모리. 사실을 저장하고, 충돌을 감지하며, 시간에 따른 결정 변화를 추적합니다 — 호스팅형 MCP 서버로 제공됩니다.
Memstate를 선택해야 하는 이유
| RAG (대부분의 다른 메모리 시스템) | Memstate AI | |
|---|---|---|
| 대화당 토큰 사용량 | ~7,500 | ~1,500 |
| 에이전트 가시성 | 블랙박스 | 완전한 투명성 |
| 메모리 버전 관리 | 없음 | 전체 이력 |
| 메모리 확장 시 토큰 증가 | O(n) | O(1) |
| 필요한 인프라 | 필요 | 없음 — 호스팅형 SaaS |
다른 메모리 시스템은 모든 것을 컨텍스트 창에 쏟아붓고 최선을 바랄 뿐입니다. Memstate는 에이전트에게 구조화되고 버전 관리되는 지식 베이스를 제공하여 정밀하게 탐색할 수 있게 합니다 — 필요한 것만 로드하고, 무엇이 변경되었는지 파악하며, 사실이 충돌할 때 이를 인지합니다.
벤치마크
에이전트 메모리에 실제로 중요한 것들을 테스트하는 오픈소스 벤치마크 스위트를 구축했습니다: 시스템이 사실을 저장하고, 세션 간에 정확하게 회상하며, 변경 시 충돌을 감지하고, 프로젝트가 발전함에 따라 컨텍스트를 유지할 수 있는지 평가합니다.
직접 비교: Memstate AI vs Mem0
두 시스템 모두 동일한 에이전트(Claude Sonnet 4.6, temperature 0), 동일한 시나리오, 동일한 채점 기준을 사용하여 동일한 조건에서 테스트되었습니다.
| 지표 | Memstate AI | Mem0 | 승자 |
|---|---|---|---|
| 전체 점수 | 69.1 | 15.4 | Memstate |
| 정확도 (사실 회상) | 74.1 | 12.6 | Memstate |
| 충돌 감지 | 85.5 | 19.0 | Memstate |
| 컨텍스트 연속성 | 63.7 | 10.1 | Memstate |
| 토큰 효율성 | 22.3 | 30.6 | Mem0 |
채점 가중치: 정확도 40%, 충돌 감지 25%, 컨텍스트 연속성 25%, 토큰 효율성 10%.
시나리오별 분석
벤치마크는 다중 세션 에이전트 워크플로우를 시뮬레이션하는 5가지 실제 시나리오를 실행합니다:
| 시나리오 | Memstate AI | Mem0 |
|---|---|---|
| 웹 앱 아키텍처 발전 | 43.2 | 55.6 |
| 인증 시스템 마이그레이션 | 66.2 | 10.2 |
| 데이터베이스 스키마 발전 | 72.7 | 7.0 |
| API 버전 관리 충돌 | 86.5 | 0.9 |
| 팀 결정 번복 | 77.2 | 3.3 |
Mem0는 첫 번째 시나리오(단순 아키텍처 추적)에서 승리했지만, 모순 처리, 교차 세션 컨텍스트, 결정 번복 추적이 필요한 시나리오에서는 심각한 어려움을 겪었습니다 — 5개 시나리오 중 3개에서 거의 0점에 가까운 점수를 기록했습니다.
Memstate가 승리하는 이유
벤치마크는 근본적인 아키텍처 차이를 드러냅니다:
Mem0는 임베딩 기반 시맨틱 검색을 사용합니다. 사실은 청크로 나뉘고, 임베딩되어 유사성에 의해 검색됩니다. 이는 단순 조회에는 효과적이지만 다음과 같은 경우에 문제가 발생합니다:
- 사실이 이전 사실과 모순될 때 (시스템이 현재와 오래된 것을 구분할 수 없음)
- 정확한 회상이 필요할 때 (임베딩은 정확한 결과가 아닌 "유사한" 결과를 반환함)
- 쓰기-읽기 지연 시간이 중요할 때 (새 메모리가 검색 가능해지기까지 수 초가 소요됨)
Memstate는 구조화되고 버전 관리되는 키-값 저장소를 사용합니다. 모든 사실은 전체 버전 이력과 함께 명시적인 키 경로에 존재합니다. 이는 다음을 의미합니다:
- 충돌 감지가 내장되어 있습니다 — 새로운 사실이 이전 사실과 모순될 때, 시스템이 이를 인지하고 두 버전을 모두 보존합니다.
- 회상이 결정적입니다 — 저장된 내용을 정확히 돌려받으며, 근사치가 아닙니다.
- 교차 세션 연속성이 신뢰할 수 있습니다 — 에이전트가 시맨틱 검색이 올바른 컨텍스트를 표면화하기를 바라는 대신 구조화된 트리를 탐색합니다.
- 토큰 비용이 O(1)으로 유지됩니다 — 에이전트가 잠재적으로 관련된 모든 임베딩을 컨텍스트 창에 덤프하는 대신, 먼저 요약을 로드하고 필요할 때만 세부 사항을 파고듭니다.
공정성 참고 사항
- 두 시스템 모두 동일한 에이전트 모델, temperature, 평가 기준을 사용했습니다.
- Mem0에는 비동기 임베딩 파이프라인을 고려하여 쓰기와 읽기 사이에 10초의 수집 지연 시간이 주어졌습니다.
- Mem0가 토큰 효율성에서 더 높은 점수를 받았지만, 이 지표는 맥락 속에서 해석되어야 합니다 — 낮은 토큰 사용량은 단순히 반환되는 정보가 적다는 것을 반영할 수 있습니다. 불완전하거나 부정확한 사실을 검색하는 시스템은 응답당 더 적은 토큰을 사용하지만, 동일한 답변에 도달하기 위해 더 많은 후속 호출이 필요하여 궁극적으로 더 많은 토큰 비용이 발생할 수 있습니다.
- 벤치마크 소스 코드는 완전한 재현성을 위해 이 저장소에 포함되어 있습니다.
- Mem0는 사용자 정의 구성이나 다른 임베딩 모델을 사용할 경우 다르게 동작할 수 있습니다.
빠른 시작
memstate.ai/dashboard에서 API 키를 받은 후, MCP 클라이언트 구성에 추가하세요:
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": {
"MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Docker도, 데이터베이스도, 인프라도 필요 없습니다. 60초 안에 실행됩니다.
클라이언트 설정
Claude Desktop
구성 위치:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
}
}
}
Claude Code
claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERE
Cursor
Cursor 설정 → MCP → 서버 추가 — 위의 Claude Desktop과 동일한 JSON 형식입니다.
Cline / Windsurf / Kilo Code / Roo Code
모두 동일한 stdio MCP 구성 형식을 지원합니다. 클라이언트의 MCP 설정 파일에 추가하세요.
핵심 도구
| 도구 | 사용 시기 |
|---|---|
memstate_remember | 마크다운, 작업 요약, 결정 사항을 저장합니다. 서버가 키 경로를 추출하고 충돌을 자동으로 감지합니다. 대부분의 쓰기에 사용하세요. |
memstate_set | 단일 키 경로를 짧은 값으로 설정합니다 (예: config.port = 8080). 산문용이 아닙니다. |
memstate_get | 프로젝트 또는 하위 트리의 모든 메모리를 탐색합니다. 모든 작업 시작 시 사용하세요. |
memstate_search | 정확한 키 경로를 모를 때 의미 기반 시맨틱 검색을 수행합니다. |
memstate_history | 지식 조각이 시간에 따라 어떻게 변경되었는지 확인합니다 — 전체 버전 체인. |
memstate_delete | 키 경로를 소프트 삭제합니다. 툼스톤을 생성하며, 전체 이력은 보존됩니다. |
memstate_delete_project | 전체 프로젝트와 모든 메모리를 소프트 삭제합니다. |
키 경로 작동 방식
메모리는 계층적 점 표기법으로 구성됩니다:
project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment
키 경로는 자동으로 접두사가 붙습니다: keypath="database" with project_id="my_app" → project.my_app.database. 에이전트가 필요한 부분만 정확히 파고들 수 있으며, 전체 컨텍스트 덤프는 없습니다.
작동 방식
Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
↓
Server extracts keypaths: [project.my_app.auth.provider, ...]
↓
Conflict detection: compare against existing memories at those keypaths
↓
New version stored — old version preserved in history chain
↓
Next session: memstate_get(project_id="my_app") → structured summaries only
↓
Agent drills into project.my_app.auth only when it needs auth details
토큰 비용은 총 메모리 수에 관계없이 일정하게 유지됩니다.
에이전트 지침에 추가하기
AGENTS.md 또는 시스템 프롬프트에 복사하세요:
## Memory (Memstate MCP)
### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning
### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")
### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)
환경 변수
| 변수 | 기본값 | 설명 |
|---|---|---|
MEMSTATE_API_KEY | (필수) | memstate.ai/dashboard에서 발급받은 API 키 |
MEMSTATE_MCP_URL | https://mcp.memstate.ai | 자체 호스팅 배포를 위한 재정의 |
연결 확인
MEMSTATE_API_KEY=your_key npx @memstate/mcp --test
사용 가능한 모든 도구를 출력하고 API 키가 작동하는지 확인합니다.
자신이 무엇을 알고 있는지 알 자격이 있는 AI 에이전트를 위해 제작되었습니다.