<div align="center">
███████╗██╗██████╗ ██╗ ██╗██╗
██╔════╝██║██╔══██╗╚██╗ ██╔╝██║
███████╗██║██████╔╝ ╚████╔╝ ██║
...
에이전트 기반 메모리 인프라 (agentic memory infrastructure) · 파일 기반 · 임베딩 제로(zero embeddings)
PyPI · client
PyPI · cli
PyPI · hermes
PyPI · mcp
PyPI · langgraph
License: MIT
Python 3.10+
LongMemEval
<sub><i>자율 에이전트에 의해 구축됨 · sibyl labs llc</i></sub>
</div>
이것은 무엇인가요
다섯 개의 PyPI 패키지, 하나의 스키마 계열, 하나의 아키텍처.
실행 환경: Linux, macOS (Apple Silicon 및 Intel), 그리고 WSL2를 통한 Windows에서 실행됩니다. 네이티브 Windows는 지원되지 않습니다.
sibyl-memory-client는 로컬 우선(local-first) 에이전트 메모리 SDK입니다. SQLite 기반이며, 5단계 계층적 스키마, FTS5 검색 기능을 갖추고 있고 설계 단계부터 멀티 테넌트(multi-tenant)를 지원합니다. 벡터 데이터베이스가 필요하지 않습니다. 임베딩 모델도 필요하지 않습니다. 외부 검색 서비스도 필요하지 않습니다. 메모리는 에이전트의 기기에 존재하며, 그 기반은 디스크의 단일 파일입니다.
개인정보 보호 공개(Privacy disclosure). 사용자의 메모리 내용은 기기를 벗어나지 않습니다. 이 플러그인은 다음 경우에만 api.sibyllabs.org와 통신합니다: 활성화(sibyl init); 컴퓨터의 접근을 갱신하는 일일 계정 체크인 (계정 ID, 해당 컴퓨터의 로그인 토큰, 플러그인 버전, OS 패밀리; 메모리 내용은 없음); 무료 계정이 용량에 근접했을 때 크기 확인 (계정 ID, 로그인 토큰, 데이터베이스 바이트 크기 및 제안된 델타 값); 그리고 SIBYL_MEMORY_TELEMETRY=0으로 거부하지 않는 한, 메모리 작업의 집계 개수. 크기 확인과 개수 측정 시에는 해당 컴퓨터의 서명된 접근 토큰(계정 ID, 등급, 용량, 장치 해시, 계정 플래그; 개인 데이터 없음)도 함께 전송됩니다. 메모리 도구를 사용하려면 계정이 필요하며, 로컬 데이터는 항상 sibyl memory로 읽을 수 있습니다. 이는 sibyl-memory-client/src/sibyl_memory_client/의 소스 코드( _entitlement.py, _capcheck.py, _heartbeat.py)를 통해 검증되었습니다.
다른 네 개의 패키지가 이를 기반으로 작동합니다: 활성화 및 등급 관리를 위한 sibyl-memory-cli, Hermes Agent 통합을 위한 sibyl-memory-hermes, 모든 MCP 호환 클라이언트(Claude Code, Codex, Cursor, Continue)를 위한 sibyl-memory-mcp, 그리고 LangGraph의 BaseStore 어댑터 역할을 하는 sibyl-memory-langgraph입니다.
이 아키텍처는 LongMemEval Oracle (ICLR 2025, 미시간 대학교, 500개 질문)에서 공개적으로 벤치마킹되었으며 **전체 순위 #2를 차지하며 95.6%**의 점수를 기록했습니다. 이는 Chronos(PwC)와 동률이며, Mastra, MemMachine, Hindsight, Mem0, Supermemory, Zep, 그리고 Oracle 베이스라인을 능가한 수치입니다. 이 시스템은 상위권에 속하는 유일한 파일 기반 시스템으로, 단일 4 vCPU / 16 GB 장비에서 벡터 인프라나 임베딩 비용 없이 구동됩니다.
이것이 오늘날 프로덕션 에이전트에 배포되는 전체 스택입니다.
Packages
<table>
<thead>
<tr><th>Package</th><th>PyPI</th><th>Description</th></tr>
</thead>
<tbody>
<tr><td>[`sibyl-memory-client`](./sibyl-memory-client)</td><td>[](https://pypi.org/project/sibyl-memory-client/)</td><td>로컬 우선(Local-first) 에이전트 메모리 SDK입니다. SQLite 기반 5단계 계층적 스키마, FTS5 검색, 멀티 테넌트(multi-tenant)를 지원하며, 자체 학습 스킬 감지 및 로컬 메모리 린터(linter) 기능이 포함되어 있습니다. 플러그인 패밀리의 기반이 됩니다.</td></tr>
</tbody></table>
설치 (Install)
pip install sibyl-memory-cli
sibyl init
sibyl init을 실행하면 브라우저가 열려 계정을 활성화하고, 지갑(wallet) 또는 이메일을 바인딩하며, 자격 증명(credentials)을 ~/.sibyl-memory/credentials.json 파일과 이 컴퓨터의 서명된 접근 파일인 entitlement.json에 기록합니다. 무료 티어(Free tier)가 기본값이며, Pro 및 Elite는 자체 학습 기능, 메모리 린터, 그리고 로컬 제한 해제를 제공합니다.
계정이 필요합니다. 클라이언트 버전 0.9.0 이후로 모든 메모리 도구(MCP, Hermes, LangGraph, SDK 포함)는 유효한 서버 서명 자격 증명을 보유한 활성화된 계정이 필요합니다. 그렇지 않으면 도구들은 어떤 것도 저장하는 대신 명확하게 “run sibyl init을 실행하세요”라는 오류를 표시합니다. 이 자격 증명은 하루에 한 번 정도 백그라운드에서 스스로 갱신되며 최대 14일 동안 오프라인 상태에서도 작동합니다. 사용자의 로컬 메모리는 이 과정 중 어떤 것에도 의해 삭제되지 않으며, sibyl memory list|search|recall은 항상 계정 유무와 관계없이 이를 읽습니다. 이 컴퓨터에 로그인하기 전에 작성된 메모리는 처음으로 로그인할 때(로컬 단계 1회, 업로드 없음) 사용자 계정으로 이동합니다. sibyl memory adopt을 사용하면 요청 시 이 작업을 수행하며, 저장소에 다른 계정이 있었는지 먼저 묻습니다. 설정을 완료하려면 한 번의 연결이 필요합니다: 이 컴퓨터가 한 번 체크인하기 전까지는 도구들이 “설정을 완료하려면 인터넷에 한 번 연결하세요”라고 응답합니다.
공개 코드, 호스팅된 계정 (Open code, hosted account)
이 저장소의 코드는 전체 로컬 엔진을 포함하여 MIT 라이선스를 따르므로, 포크(fork)를 통해 계정 확인 기능을 제거할 수 있습니다. 저희는 이를 명확히 말씀드립니다. 그러한 포크가 유지하는 것과 가질 수 없는 것은 다음과 같습니다:
| 포크(fork)가 유지하는 것 (로컬 저장소, 항상 MIT 라이선스 하에 공개됨) | 포크가 잃는 것 (서버에 보관되며, 해당 권한 또는 실시간 로그인 필요) |
|---|
| SQLite 스키마, 저장소(storage), FTS5 검색, 판결 계약(verdict contract), 쓰기 시간 정규화기(write-time normalizer), 수정 가능한 로컬 캡 확인 기능, 무제한 로컬 저장소 | 공식 경로의 무료 제한을 초과하는 모든 것 (클라이언트 차단 지점부터, /check-write는 실시간 로그인 및 일치하는 권한 없이는 거부함) |
| ... | |
직접 SDK 사용 시:
pip install sibyl-memory-client
Hermes 통합용:
pip install sibyl-memory-cli
sibyl setup hermes
MCP (Claude Code, Codex, Cursor, Continue 등)용:
pip install sibyl-memory-mcp sibyl-memory-cli
sibyl setup claude-code
전체 문서는 docs.sibyllabs.org/memory에서 확인할 수 있습니다.
아키텍처 (Architecture)
┌─────────────────────────────────────────────────────────┐
│ sibyl-memory-cli sibyl-memory-mcp │
│ ┌──────────────┐ ┌──────────────┐ │
...
각 패키지에는 상세 정보를 위한 README.md와 CHANGELOG.md가 있습니다.
궁금하시다면 다섯 가지 계층 구조는 다음과 같습니다:
HOT state/ 실시간 작동 상태, 제자리에서 재작성됨
WARM entities/ (카테고리, 이름)당 단일 진실 공급원(single source of truth)
COLD journal/ 추가 전용 이벤트 로그 (append-only event log)
...
규칙 43(개체별 단일 진실 공급원)은 애플리케이션 코드의 관례가 아니라 UNIQUE (tenant_id, category, name) 제약 조건을 통해 스키마 수준에서 강제됩니다. 따라서 드리프트(Drift)는 구조적으로 불가능합니다.
출처 (Provenance)
SIBYL에서 구축했으며, Sibyl Labs LLC에서 운영하는 자율 에이전트입니다.
에이전트는 2026년 2월부터 프로덕션 환경에서 운영되어 왔으며, 매일 코드를 배포하고 Base 상에 온체인 아이덴티티(ERC-8004 에이전트 ID 20880)를 보유하고 있습니다. 또한 자율 거래 엔진, 온체인 메시징 프로토콜, x402 결제 레일을 운영하며, 토큰 게이트가 적용된 채팅 데모, 어드바이저 대시보드, 그리고 이 메모리 제품군을 갖추고 있습니다. 모든 것이 온체인에서 검증 가능합니다.
메모리 아키텍처는 입증된 핵심입니다. Sibyl Labs LLC가 IP를 소유하고 계약에 서명하며 에이전트의 작업 전반에 대한 법적 보호막(legal wrapper)을 제공합니다. 실제 작업 자체는 운영자(@tradingtulips)를 통해 세션 단위로 에이전트에 의해 배포됩니다. PyPI 릴리스, CLI, SDK, 그리고 상단의 CLI 배너까지: 이 모든 것이 자율 에이전트의 결과물입니다.
온체인 기록은 이력서와 같습니다. 본 리포지토리는 그 중 하나의 장에 불과합니다.
저장 및 최적화 (Save and debloat)
저장(Save). 세션 종료 시 또는 대규모 작업 블록을 마친 후, 에이전트는 플러그인의 자체 도구를 통해 발생한 내용을 Sibyl Memory에 기록합니다. 여기에는 결정된 내용과 그 이유(저널(journal)), 접촉한 사람, 프로젝트 및 제품(엔티티(entities)), 다음에 처리할 사항 및 열린 경고(세션 상태(session state)), 순위가 매겨진 우선순위, 그리고 종료된 항목(아카이브(archive))이 포함됩니다. 델타 마커(delta marker)는 같은 날 두 번째 저장이 발생했을 때 변경된 내용만을 포착한다는 의미입니다. 반복되는 패턴을 재사용 가능한 기술로 전환할 수 있다고 제안할 수 있으며, 이는 강제되지 않고 제공될 뿐입니다. 저장 과정에서 어떠한 데이터도 사용자 기기를 벗어나지 않습니다.
최적화(Debloat). Sibyl은 에이전트가 세션 시작 시 로드하는 파일들(CLAUDE.md, AGENTS.md, .cursorrules 및 나머지 스캔 세트)을 결정론적으로(chars/4, MEASURED~로 레이블 지정) 측정합니다. 이 파일들이 무거워지면, 데이터 손실 없이 축적된 기록(history)만 잘라냅니다. 이때 기록은 외부로 이동하고 한 줄짜리 포인터만 남습니다. 무료 플랜에서는 기록이 형제 폴더인 *-history 파일로 이동합니다. Pro 플랜에서는 Sibyl Memory에 참조 문서로 저장되어 검색 가능하게 유지되며, 측정 및 최적화 작업은 사용자가 한 번 설정한 정책에 따라 자체적으로 실행됩니다.
| 무료 (활성화된 계정) | Pro |
|---|
~/.sibyl-memory/skills/에 있는 절차들 (SAVE.md, DEBLOAT.md), Claude Code의 /sibyl-save 및 /sibyl-debloat, Hermes와 Codex의 스킬, Codex의 AGENTS.md 블록, save 및 debloat MCP 프롬프트 | 예 | 예 |
| ... | | |
The 절차들은 공용 MIT 레포지토리인 sibyl-save와 debloat에서 출처를 명시하여 가져왔습니다. 둘 다 독립적이며 계정 연결이 필요 없습니다.
제거하기: 먼저 sibyl skills uninstall을 실행하세요. 이 명령어는 ~/.claude/settings.json에 있는 Claude Code 훅(hooks), 스킬 심(skill shims), 그리고 Codex 블록을 제거합니다 (수정한 파일은 유지됩니다). 그런 다음 패키지를 pip uninstall로 제거합니다. 이 훅들은 해당 패키지의 sibyl 명령어를 호출합니다: 만약 패키지가 먼저 제거되면 조용히 종료되지만, 재설치하고 sibyl skills uninstall을 실행하거나 다섯 개의 sibyl hook 항목을 수동으로 삭제할 때까지 설정에 남아 있습니다.
개인 정보 보호: 라이프사이클은 지침 파일(instruction files)을 읽어 로컬에서 측정하고 다듬습니다. 파일 내용이나 대화 내용은 절대 기기를 벗어나지 않습니다.
포크(Forks): 게이트가 제거된 포크는 라이프사이클 코드를 로컬에서 실행할 수 있습니다 (MIT가 허용). 이는 호스팅되는 어떤 것도 얻지 못하며, 다듬어진 결과물은 공식 경로가 Pro로 인식할 수 없는 스토어에 저장됩니다. 무료 계정의 경우 자동화를 켜는 파일, 플래그 또는 환경 변수는 없습니다.
라이선스
MIT. LICENSE를 참조하세요.
Copyright (c) 2026 Sibyl Labs LLC.