Skip to main content
Glama

🧠 agent-sleep

AI 에이전트를 위한 지속적 경험 통합 및 의사결정 지원.

경량화된 프레임워크 독립적 Python 라이브러리이자 MCP 서버로, 호스트 에이전트가 세션 간에 적응할 수 있도록 지속적인 경험 통합과 의사결정 지원 신호를 제공합니다. 생물학적 뇌가 수면 주기를 통해 깨어 있는 동안의 경험을 지속적인 절차적 규칙과 교훈으로 통합하는 방식에서 영감을 받았습니다.


문제: "에이전트 기억상실증(Agent Amnesia)"

모든 현대 AI 에이전트 프레임워크(LangChain, AutoGen, CrewAI, OpenAI Assistants)는 에이전트 기억상실증을 겪고 있습니다:

  • 새로운 채팅이나 서브에이전트 실행은 매번 완전히 처음부터 시작합니다.

  • 에이전트가 월요일에 오류를 만나거나 코드베이스 규칙을 발견하면, 화요일에 똑같은 실수를 반복합니다.

  • 벡터 DB(RAG)는 정적 문서만 검색할 뿐 — 런타임 경험에서 학습하지 않습니다.


Related MCP server: cortex-engine

MCP 빠른 시작 — 10초

이것이 기본 사용 경로입니다. agent-sleep은 MCP 서버로 제공되므로, MCP를 지원하는 모든 에이전트(Antigravity, Claude Desktop, Cursor, Cline)는 코드를 작성하지 않고도 사용할 수 있습니다.

1단계 — 설치 및 설정 파일 생성

# Option A: zero-install (recommended)
uvx agent-sleep-mcp

# Option B: install first, then run the init helper
pip install "agent-sleep[mcp]"
agent-sleep init     # prints the correct config snippet for your platform

agent-sleep init은 OS를 자동으로 감지하고 MCP 클라이언트의 설정 파일에 붙여넣을 JSON 스니펫을 출력합니다. 수동 편집이 필요 없습니다.

2단계 — 설정 스니펫 붙여넣기

init 명령은 정확히 무엇을 어디에 붙여넣어야 하는지 출력합니다. macOS에서 Claude Desktop의 출력 예시:

{
  "mcpServers": {
    "agent-sleep": {
      "command": "uvx",
      "args": ["agent-sleep-mcp"]
    }
  }
}

이 내용을 ~/Library/Application Support/Claude/claude_desktop_config.json에 붙여넣고 Claude를 재시작하면 완료됩니다.

3단계 — 에이전트에게 사용하도록 요청

"Before we start, check your memory for anything relevant to this task."
"Record that we use pytest fixtures — not unittest — in this project."
"Run a sleep consolidation so you remember today's lessons next session."

메모리는 프로젝트 디렉토리의 .agent_sleep/memory.db에 자동으로 저장됩니다(기본적으로 gitignore 처리됨).


저장된 내용 확인 — CLI

LLM을 거치지 않고도 에이전트가 학습한 내용을 확인할 수 있습니다:

# See all memories and rules for the current project
agent-sleep show

# Clear a project's memory (with confirmation prompt)
agent-sleep reset

# Target a specific scope or DB
agent-sleep show --scope my_api --db /path/to/memory.db

작동 방식: 3단계 파이프라인

          [ ONLINE EXECUTION PHASE ]
            Agent executes tool calls
                       │
                       ▼
┌──────────────────────────────────────────────┐
│  1. EPISODIC RECORDING                       │
│     memory.record_episode(...)               │  Fast, minimal overhead.
│     Records goal, action, outcome, errors.   │  Stores execution events.
└──────────────────────┬───────────────────────┘
                       │
             (Session ends / Agent idle)
                       │
                       ▼
          [ OFFLINE SLEEP CONSOLIDATION ]
┌──────────────────────────────────────────────┐
│  2. SLEEP CONSOLIDATOR (8-Stage Pipeline)    │
│     SleepConsolidator.run(session_id)        │
│                                              │
│     • Priority Replay (prediction error)     │
│     • Deterministic Episodic Distillation    │  Grounding first:
│     • Procedural Recipe Extraction           │  distills facts & lessons
│     • How-Memory Trajectory Abstraction      │  before optional LLM
│     • Behavioral Rule Promotion (seen ≥2x)   │  generalization passes.
│     • Epistemic Status (observed vs verified)│
│     • Episodic Compression over time         │
│     • Self-Competence EMA Tracking           │
└──────────────────────┬───────────────────────┘
                       │
              (Next session / New task)
                       │
                       ▼
          [ ONLINE SELECTIVE RECALL ]
┌──────────────────────────────────────────────┐
│  3. SELECTIVE SEMANTIC RECALL                │
│     memory.recall(new_task)                  │  Pre-computed vector BLOBs.
│     Returns only relevant lessons & rules    │  Prevents prompt dilution.
│     filtered by project scope & relevance.   │
└──────────────────────────────────────────────┘

주요 기능 (v0.1.2-alpha)

  • 사전 계산된 벡터 BLOB: 쿼리를 한 번 임베딩하고 사전 계산된 저장 벡터와 비교하여, 회상 중 반복적인 텍스트 임베딩을 제거합니다.

  • 인식론적 메모리 수명주기: 메모리 진행 단계(RAWOBSERVEDREPEATEDVERIFIEDACTIVE)를 추적하고, 모순되거나 실패율이 높은 메모리를 자동으로 격리합니다.

  • 검증 가능한 인과 귀속 및 효용 피드백: 구조화된 증거 기록(retrievalaction changeoutcome attribution)을 통해 검색된 메모리가 실제로 향후 실행에 도움이 되었는지 평가합니다.

  • 증거 다양성 인과 가설: 독립적인 소스와 환경 전반의 증거 다양성 스케일링을 사용하여 반복되는 실패를 인과 메커니즘으로 증류합니다.

  • 베이지안 자기 역량 모델: 복합 도메인 전반의 도메인 역량과 베이지안 베타 분포 불확실성을 추정하여 호스트 에이전트에게 적응형 의사결정 지원(검증 강도, 재시도 예산)을 제공합니다.

  • 일급 규칙 특이성 엔진: 계층적 우선순위(specific verified > general verified > specific candidate > general candidate)와 동적 예외 억제를 통해 규칙 충돌을 해결합니다.

  • 범위 및 프로젝트 격리: 다중 계층 네임스페이스(scope="repo_a", scope="global"). 프로젝트별 지식은 엄격히 격리되며, 보편적 관용구와 도구 실패 모드는 선택적으로 global을 통해 공유할 수 있습니다.

  • 필수 무거운 의존성 제로: 표준 SQLite와 결정적 해시 기반 bag-of-words 폴백을 사용하여 즉시 작동합니다. 설치 시 sentence-transformers(all-MiniLM-L6-v2)로 원활하게 업그레이드됩니다.


벤치마크 및 평가

1. 통제된 전이 시뮬레이션 (benchmarks/run.py)

반복되는 아키텍처 함정이 있는 12개의 순차적 소프트웨어 작업에서 메모리 통합, 벡터 검색, 지식 전이를 평가합니다:

지표

메모리 OFF

메모리 ON

개선 효과

통과율 (Pass@12)

67%

92%

+25퍼센트 포인트

작업당 평균 LLM 호출

14.7

8.5

-42% (호출 감소)

반복 실수

8

2

-75% (실수 감소)

참고: 통제된 전이 시뮬레이션은 메모리 검색과 함정 회피의 결정적 인지-제어 역학을 평가합니다.

2. 표준 6방향 절제 벤치마크 (benchmarks/agent_eval/runner.py)

8개의 표준화된 소프트웨어 엔지니어링 작업에서 메모리 기반 에이전트 제어 역학의 통제된 샌드박스 평가:

실험 조건

통과율 (제로샷)

작업당 평균 LLM 호출

반복 함정

메모리 유용률

NO_MEMORY (기본 기억상실증)

12.5%

3.6

4

0.0%

RAW_TRANSCRIPT (비통합)

12.5%

3.6

4

0.0%

VECTOR_RAG (단순 의미론적)

12.5%

3.6

4

0.0%

AGENT_SLEEP_CORE (에피소드 증류)

25.0%

2.9

2

12.5%

AGENT_SLEEP_EPISTEMIC (코어 + 출처 추적)

37.5%

2.5

1

25.0%

AGENT_SLEEP_FULL (전체 인지 아키텍처)

75.0%

1.4

0

75.0%

python benchmarks/agent_eval/runner.py

[!NOTE] 과학적 및 백엔드 공개:

  • 샌드박스 벤치마크는 통제된 테스트 스위트에서 에이전트 제어 역학, 토큰 효율성, 오류 회피를 평가합니다.

  • 임베딩 백엔드: 고정밀 벡터 유사도는 sentence-transformers(all-MiniLM-L6-v2)에 의존합니다. 의존성이 없으면 라이브러리는 자동으로 결정적 해시 기반 bag-of-words 임베딩으로 폴백합니다.

  • 전체 재현 프로토콜과 지표 로그는 benchmarks/agent_eval/results.json에 문서화되어 있습니다.


Python 라이브러리 사용법

MCP를 통하지 않고 자체 에이전트 코드에서 메모리 시스템을 구동하려는 경우, Python API가 완전히 지원됩니다.

from agent_sleep import AgentMemory, SleepConsolidator

# 1. Initialize memory scoped to your project/repo
memory = AgentMemory(session_id="session_01", scope="payment_service")

# 2. Record actions and outcomes during your agent's loop
memory.record_episode(
    goal="Refactor payment processor to async",
    action="edit_file('processor.py', ...)",
    outcome="failure",
    failure_reason="SyntaxError: 'await' outside async function",
)

# 3. Trigger sleep consolidation when idle or at session end
consolidator = SleepConsolidator(scope="payment_service")
report = consolidator.run(session_id="session_01")
# -> {'episodes_processed': 1, 'memories_written': 1, 'rules_promoted': 0, ...}

# 4. Next session: recall relevant context before executing
context = memory.recall("Add Stripe webhook handler")
print(context)
# [MEMORY CONTEXT]
# Relevant past experience:
#   ⚠ [LESSON] Caution on task: Refactor payment processor to async:
#     A previous attempt failed: SyntaxError: 'await' outside async function.
# [END MEMORY CONTEXT]

설치

MCP 지원 빠른 설치:

pip install "agent-sleep[mcp]"

전체 의미론적 임베딩 포함(권장):

pip install "agent-sleep[all]"

GitHub에서(최신 알파):

pip install git+https://github.com/thevisionhub/agent-sleep.git

개발용 편집 가능 설치:

git clone https://github.com/thevisionhub/agent-sleep.git
cd agent-sleep
pip install -e ".[all]"

MCP 도구 참조

도구

호출 시점

agent_sleep_recall

계획 또는 실행 전 — 중요하지 않은 작업을 수행하기 전에 교훈, 규칙, 인과 함정, 자기 역량 지침을 검색합니다

agent_sleep_record

실행 중 — 각 도구 실패 또는 이정표 이후

agent_sleep_consolidate

세션 종료 후 또는 에이전트가 유휴 상태일 때

agent_sleep_status

언제든지 — 메모리 상태, 인식론적 분석, 대기 중인 에피소드를 검사합니다

agent_sleep_feedback

검색된 지식 적용 후 — 인과 결과 귀속을 기록하고 효용 점수를 업데이트합니다

agent_sleep_specialize_rule

기존 규칙에 대한 예외나 경계 조건을 발견할 때

모든 도구는 기본적으로 scope를 현재 작업 디렉토리 이름으로, db_path를 프로젝트 루트의 .agent_sleep/memory.db로 설정합니다. 일반적인 경우 설정이 필요 없습니다.


테스트 실행

pytest tests/ -v

발견되기 — 레지스트리 등록

agent-sleep을 MCP 레지스트리에 제출하는 데는 각각 약 5분이 소요되며, 메모리 도구를 찾는 개발자에게 도달하는 가장 빠른 방법입니다:

  • Smithery — GitHub URL을 붙여넣고 짧은 설명을 추가하면 완료됩니다.

  • modelcontextprotocol/servers — README의 "Community Servers" 아래에 항목을 추가하는 PR을 엽니다.

  • Cursor — MCP 서버도 표시합니다. 최신 제출 프로세스는 현재 문서를 확인하세요.


라이선스

MIT 라이선스 — 개인, 상업, 연구 목적으로 무료 사용 가능합니다.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thevisionhub/agent-sleep'

If you have feedback or need assistance with the MCP directory API, please join our Discord server