Dreaming (실험적)
Dreaming은memory-core의 백그라운드 메모리 통합 시스템입니다.
이 기능은 OpenClaw가 강한 단기 신호를 오래 유지되는 메모리로 옮기도록 도우면서,
과정을 설명 가능하고 검토 가능하게 유지합니다.
Dreaming은 옵트인 기능이며 기본적으로 비활성화되어 있습니다.
dreaming이 기록하는 내용
Dreaming은 두 종류의 출력을 유지합니다.memory/.dreams/의 기계 상태(recall 저장소, 단계 신호, 수집 체크포인트, 잠금).DREAMS.md(또는 기존dreams.md)의 사람이 읽을 수 있는 출력와memory/dreaming/<phase>/YYYY-MM-DD.md아래의 선택적 단계 보고서 파일.
MEMORY.md에만 기록됩니다.
단계 모델
Dreaming은 세 가지 협력 단계로 동작합니다.| 단계 | 목적 | 영구 기록 |
|---|---|---|
| Light | 최근 단기 자료 정렬 및 준비 | 아니요 |
| Deep | 오래 유지할 후보 점수화 및 승격 | 예 (MEMORY.md) |
| REM | 주제와 반복되는 아이디어 성찰 | 아니요 |
Light 단계
Light 단계는 최근 일일 메모리 신호와 recall 추적을 수집하고, 중복을 제거한 뒤, 후보 라인을 준비합니다.- 사용 가능한 경우 단기 recall 상태, 최근 일일 메모리 파일, 그리고 민감 정보가 제거된 세션 대화록을 읽습니다.
- 저장소에 인라인 출력이 포함된 경우 관리되는
## Light Sleep블록을 기록합니다. - 이후 deep 순위 산정을 위한 강화 신호를 기록합니다.
- 절대로
MEMORY.md에 기록하지 않습니다.
Deep 단계
Deep 단계는 무엇이 장기 메모리가 될지 결정합니다.- 가중치 기반 점수와 임계값 게이트를 사용해 후보의 순위를 매깁니다.
- 통과하려면
minScore,minRecallCount,minUniqueQueries가 필요합니다. - 기록 전에 실제 일일 파일에서 스니펫을 다시 가져오므로, 오래되었거나 삭제된 스니펫은 건너뜁니다.
- 승격된 항목을
MEMORY.md에 추가합니다. DREAMS.md에## Deep Sleep요약을 기록하고, 선택적으로memory/dreaming/deep/YYYY-MM-DD.md도 기록합니다.
REM 단계
REM 단계는 패턴과 성찰 신호를 추출합니다.- 최근 단기 추적에서 주제 및 성찰 요약을 생성합니다.
- 저장소에 인라인 출력이 포함된 경우 관리되는
## REM Sleep블록을 기록합니다. - deep 순위 산정에 사용되는 REM 강화 신호를 기록합니다.
- 절대로
MEMORY.md에 기록하지 않습니다.
세션 대화록 수집
Dreaming은 민감 정보가 제거된 세션 대화록을 dreaming 코퍼스에 수집할 수 있습니다. 대화록을 사용할 수 있는 경우, 일일 메모리 신호와 recall 추적과 함께 light 단계에 입력됩니다. 개인 정보와 민감한 내용은 수집 전에 제거됩니다.Dream Diary
Dreaming은 또한DREAMS.md에 서술형 Dream Diary를 유지합니다.
각 단계에 충분한 자료가 쌓이면 memory-core는 최선형 백그라운드 서브에이전트
턴(기본 런타임 모델 사용)을 실행하고 짧은 일지 항목을 추가합니다.
이 일지는 Dreams UI에서 사람이 읽기 위한 것이며, 승격 소스는 아닙니다.
검토 및 복구 작업을 위한 근거 기반 과거 백필 경로도 있습니다.
memory rem-harness --path ... --grounded는 과거YYYY-MM-DD.md노트에서 근거 기반 일지 출력을 미리 봅니다.memory rem-backfill --path ...는 되돌릴 수 있는 근거 기반 일지 항목을DREAMS.md에 기록합니다.memory rem-backfill --path ... --stage-short-term은 일반 deep 단계가 이미 사용하는 것과 동일한 단기 증거 저장소에 근거 기반의 오래 유지할 후보를 준비합니다.memory rem-backfill --rollback및--rollback-short-term은 일반 일지 항목이나 실시간 단기 recall을 건드리지 않고 이렇게 준비된 백필 아티팩트를 제거합니다.
Deep 순위 산정 신호
Deep 순위 산정은 6개의 가중치 기반 기본 신호와 단계 강화 신호를 사용합니다.| 신호 | 가중치 | 설명 |
|---|---|---|
| 빈도 | 0.24 | 항목이 축적한 단기 신호 수 |
| 관련성 | 0.30 | 항목의 평균 검색 품질 |
| 쿼리 다양성 | 0.15 | 해당 항목이 드러난 서로 다른 쿼리/일자 맥락 |
| 최신성 | 0.15 | 시간 감쇠 기반 신선도 점수 |
| 통합도 | 0.10 | 여러 날에 걸친 반복 강도 |
| 개념적 풍부함 | 0.06 | 스니펫/경로의 개념 태그 밀도 |
memory/.dreams/phase-signals.json에서 작은 최신성 감쇠 기반 부스트를 추가합니다.
스케줄링
활성화되면memory-core는 전체 dreaming 스윕을 위한 cron 작업 하나를 자동 관리합니다.
각 스윕은 단계를 순서대로 실행합니다: light -> REM -> deep.
기본 주기 동작:
| 설정 | 기본값 |
|---|---|
dreaming.frequency | 0 3 * * * |
빠른 시작
dreaming 활성화:슬래시 명령어
CLI 워크플로
미리 보기 또는 수동 적용에는 CLI 승격을 사용합니다.memory promote는 CLI 플래그로 재정의하지 않는 한 기본적으로 deep 단계 임계값을 사용합니다.
특정 후보가 왜 승격되거나 승격되지 않는지 설명합니다.
주요 기본값
모든 설정은plugins.entries.memory-core.config.dreaming 아래에 있습니다.
| 키 | 기본값 |
|---|---|
enabled | false |
frequency | 0 3 * * * |
Dreams UI
활성화되면 Gateway Dreams 탭에는 다음이 표시됩니다.- 현재 dreaming 활성화 상태
- 단계별 상태와 관리형 스윕 존재 여부
- 단기, 근거 기반, 신호, 오늘 승격 수
- 다음 예약 실행 시점
- 과거 재생 항목을 준비하는 별도의 근거 기반 장면 레인
doctor.memory.dreamDiary를 기반으로 하는 확장 가능한 Dream Diary 리더