MemoryLake
모든 글로 돌아가기
Pain Point2026년 5월 22일8 분 소요

OpenClaw는 왜 에이전트 상태를 잊어버릴까요?

OpenClaw를 재시작하면 에이전트가 이전에 하던 일을 이어갈 것이라고 기대합니다. 그러나 에이전트는 낯선 사람처럼 당신을 맞이합니다. 어제의 반쯤 완성된 계획은 사라졌습니다. 중간 변수, 부분적인 추론, 열린 하위 작업 모두 초기화되었습니다. 디스크에 있는 Markdown 메모는 여전히 존재하지만, 그것들을 연결했던 실시간 에이전트 상태는 사라졌습니다.

이것이 에이전트 상태 잊어버리기 문제이며, OpenClaw의 로컬 우선 설계를 포기하지 않고 이를 해결할 수 있는 깔끔한 방법이 있습니다.

간단한 답변

OpenClaw는 에이전트 상태를 잊어버리는데, 이는 작업 상태가 세션 동안 모델의 컨텍스트 창에 존재하고, 에이전트가 명시적으로 MEMORY.md 또는 일일 메모에 기록한 것만이 재시작 간에 살아남기 때문입니다. 열린 하위 작업이나 저장되지 않은 중간 변수가 포함된 일시적인 추론은 세션이 끝나는 순간 사라집니다. 외부 记忆 레이어는 매 단계마다 실시간 상태를 캡처하며, 압축 시점에만 캡처되지 않습니다.

OpenClaw가 에이전트 상태를 잊어버리는 이유

OpenClaw의 설계는 로컬 우선 및 파일 기반입니다. 프로젝트의 기억 문서에 따르면, 에이전트는 작업 공간에 일반 Markdown 파일을 작성하여 정보를 지속하며, 모델은 디스크에 저장된 것만 기억합니다.

세 가지 구조적 선택이 에이전트 상태 손실을 초래합니다:

1. 상태는 기록될 때만 살아남습니다. OpenClaw는 중요한 컨텍스트를 记忆 파일에 저장하도록 에이전트에게 상기시키는 조용한 턴을 실행합니다. 이는 에이전트가 중요하다고 인식하는 것에 대해서는 작동합니다. 그러나 수정할 예정이었던 반쯤 완성된 계획이나 사용할 예정이었던 도구 결과에 대해서는 작동하지 않습니다.

2. 활성 추론 프레임은 모델의 컨텍스트 창에 존재합니다. 세션이 진행되는 동안, 플래너, 도구 버퍼 및 작업 스크래치패드는 모델의 프롬프트에 존재합니다. 세션이 끝나거나 압축이 발생하면, 그 프레임은 MEMORY.md에 명시적으로 플러시되지 않는 한 사라집니다.

3. 상태는 파일이지 구조화된 저장소가 아닙니다. MEMORY.md와 일일 메모는 사람이 편집할 수 있는 Markdown입니다. 이는 휴대성과 검토에는 좋지만, "단계 47에서 변수 X의 정확한 값은 무엇이었나요?"라는 질문에는 적합하지 않습니다. 데이터의 형태는 산문이며, 상태 그래프가 아닙니다.

결과적으로: 에이전트는 어제 무엇을 했는지 "어느 정도" 기억하지만, 오늘 무엇을 하려고 했는지는 정확히 잊어버립니다.

OpenClaw가 에이전트 상태를 잊어버릴 때 잃는 것

상태 손실은 며칠 간의 자율 작업을 며칠 간의 초기화로 바꾸는 실패 모드입니다:

  • 재개는 추측이지 로드가 아닙니다. 작업 중간에 재시작하면 에이전트의 정신 모델을 작성한 메모에서 다시 구축해야 합니다. 저장하지 않은 것은 사라지고, 에이전트는 무엇을 잊어버렸는지 모릅니다.
  • 장기 작업은 조용히 저하됩니다. 며칠 또는 몇 주에 걸쳐 설계된 작업은 매 압축마다 작은 상태 손실을 축적합니다. 일주일 후, 에이전트의 작업 이해는 실제 프로젝트 상태와 멀어집니다.
  • 병렬 에이전트는 상태를 공유할 수 없습니다. 관련 작업에서 두 개의 OpenClaw 에이전트를 실행하면 각각의 로컬 Markdown 디렉토리가 있습니다. 상태를 조정하려면 파일을 수동으로 병합해야 하며, 병합 과정에서 뉘앙스가 사라집니다.

Mem0의 AI 에이전트 记忆 상태 2026 보고서는 상태 연속성을 생산 에이전트 스택에서 가장 큰 격차로 지적합니다. OpenClaw의 파일 기반 记忆는 정직하고 투명합니다. 그러나 모델이 기억하고 기록하기로 선택한 것에 의해 제한됩니다.

OpenClaw의 내장된 우회 방법

이 프로젝트는 상태 손실을 부분적으로 해결하는 여러 기능을 제공합니다.

MEMORY.md 및 날짜가 있는 메모. 장기 사실은 MEMORY.md에 저장됩니다. 실행 중인 컨텍스트는 날짜가 있는 일일 파일에 저장됩니다. 시스템은 세션 시작 시 오늘과 어제의 메모를 자동으로 로드합니다. 내러티브 회상에는 유용하지만, 구조화된 실시간 상태에는 덜 유용합니다.

memory_search와 하이브리드 검색. OpenAI, Gemini, Voyage 또는 Mistral과 같은 임베딩 제공자를 구성하면 OpenClaw는 벡터 유사성과 키워드 매칭을 결합한 하이브리드 검색을 활성화합니다. 의미에 따라 과거 관찰을 찾는 데 강력합니다. 이전 세션의 정확한 추론 프레임을 재구성하는 데는 설계되지 않았습니다.

압축 전 저장 턴. 압축이 대화를 요약하기 전에 OpenClaw는 에이전트에게 중요한 컨텍스트를 记忆 파일에 저장하도록 상기시키는 조용한 턴을 실행합니다. 이는 에이전트가 중요하다고 인식하는 것을 포착하고, 인식하지 못하는 것은 놓칩니다.

이 기능들은 OpenClaw를 시장에서 가장 투명한 에이전트 记忆 시스템 중 하나로 만듭니다. 그러나 여전히 "저장된 것"과 "에이전트가 실제로 하고 있었던 것" 사이에는 격차가 남아 있습니다.

OpenClaw의 내장된 记忆의 한계

더 깊은 문제는 파일 기반의 모델 큐레이션 记忆가 무엇이 중요한지에 대한 모델의 판단을 상속받는다는 것입니다. 모델은 종종 이를 올바르게 판단하지만 때때로 잘못 판단하기도 합니다. 매 단계마다 전체 에이전트 상태를 자동으로 캡처하는 메커니즘은 없으며, 모델이 기록하기로 선택한 것만 캡처됩니다.

개인 에이전트의 경우 이는 수용 가능합니다. 여러 에이전트가 조정되고 실행이 몇 주에 걸쳐 이루어지는 생산 에이전트 스택에서는 이 격차가 드리프트, 중복 및 조용한 작업 포기로 나타납니다.

MemoryLake가 OpenClaw의 에이전트 상태 잊어버리기를 어떻게 해결하는가

MemoryLake는 OpenClaw의 Markdown 파일 옆에 구조화되고 쿼리 가능한 상태 레이어를 추가합니다. 에이전트는 두 곳에 기록하고, 정확한 회상이 필요한 모든 것을 위해 MemoryLake에 쿼리합니다.

  • 매 단계마다 전체 에이전트 상태 스냅샷. 계획, 열린 하위 작업, 중간 변수 및 도구 버퍼는 프로젝트의 구조화된 记忆로 저장됩니다. 재시작하면 에이전트는 종료 시점에 가졌던 정확한 프레임을 로드하며, Markdown 요약이 아닙니다.
  • 에이전트 记忆에 대한 Git 스타일 버전 관리. 모든 상태 변경은 커밋입니다. 단계 30과 단계 60 사이에 변경된 내용을 비교하거나 실행을 재생하거나, 긴 자율 루프가 잘못된 경우 알려진 좋은 상태로 롤백할 수 있습니다.
  • 교차 에이전트 공유 记忆. 관련 작업을 수행하는 두 개의 OpenClaw 에이전트는 동일한 프로젝트에서 읽고 씁니다. 조정은 쿼리이며, 파일 병합이 아닙니다. 동일한 记忆는 Claude, Cursor 또는 REST, MCP 또는 Python SDK를 통해 연결된 다른 에이전트에서도 작동합니다.

MemoryLake는 LoCoMo 장기 컨텍스트 벤치마크에서 94.03%를 기록했으며, 2026년 현재 발표된 결과 중 최고이며, 밀리초 단위의 검색과 AES-256 종단 간 암호화를 제공합니다.

MemoryLake를 OpenClaw에 연결하는 3단계

  1. 프로젝트를 생성하고 컨텍스트를 로드합니다. MemoryLake에 로그인하고, 프로젝트 관리에서 프로젝트 생성 버튼을 클릭한 후 "OpenClaw — 에이전트 상태"라는 이름을 지정합니다. 문서 드라이브를 통해 참조 문서(프로젝트 사양, 실행 문서, 이전 MEMORY.md 내보내기)를 업로드합니다. Memories 탭을 사용하여 에이전트에 상시 규칙과 초기 상태 스키마를 제공합니다.
  2. MCP 서버 엔드포인트를 생성합니다. 프로젝트 내의 MCP 서버 탭을 열고, MCP 서버 추가 버튼을 클릭한 후 "OpenClaw 통합"이라는 이름을 지정하고 생성 버튼을 클릭합니다. MemoryLake는 API 키 ID, 비밀 및 엔드포인트 URL을 반환합니다. 비밀은 한 번만 표시되므로 즉시 복사합니다.
  3. OpenClaw를 연결합니다. OpenClaw의 도구 또는 서버 구성에서 MemoryLake를 MCP 호환 记忆 제공자로 추가하고, 엔드포인트 URL과 Bearer 토큰을 붙여넣습니다. 또는 사용자 정의 스킬에서 REST API를 호출하여 매 단계마다 에이전트 상태를 스냅샷할 수 있습니다. Python SDK는 여러 OpenClaw 에이전트를 병렬로 실행하는 경우 클러스터 수준의 작업을 지원합니다.

자주 묻는 질문

OpenClaw는 지속적인 에이전트 상태를 가지고 있나요?

OpenClaw는 에이전트가 MEMORY.md 및 날짜가 있는 메모 디렉토리에 기록한 내용을 지속합니다. 열린 하위 작업 및 중간 변수와 같은 실시간 작업 상태는 자동으로 캡처되지 않습니다. 에이전트가 명시적으로 저장하지 않은 것은 세션 종료 시 사라집니다.

OpenClaw가 재시작 간에 에이전트 상태를 기억하게 하려면 어떻게 해야 하나요?

매 단계마다 외부 记忆 레이어에 전체 에이전트 상태를 스냅샷합니다. MemoryLake는 계획, 하위 작업, 도구 버퍼 및 변수를 구조화된 记忆로 저장하여 에이전트가 매 세션 시작 시 로드합니다.

OpenClaw는 세션 간에 무엇을 하고 있었는지 왜 잊어버리나요?

활성 추론 프레임이 세션 동안 모델의 컨텍스트 창에 존재하고, Markdown 파일에 기록되는 큐레이션된 하위 집합만이 살아남기 때문입니다. 나머지는 세션이 끝나면 사라집니다.

OpenClaw는 다른 에이전트와 에이전트 상태를 공유할 수 있나요?

네이티브로는 불가능합니다. 각 OpenClaw 인스턴스는 자체 로컬 Markdown 디렉토리를 가지고 있습니다. MemoryLake를 사용하면 여러 에이전트가 동일한 프로젝트에서 읽고 쓸 수 있어 상태가 진정으로 공유됩니다.

OpenClaw의 记忆 한계는 무엇인가요?

파일 크기에 대한 고정 한계는 없지만, 실제 회상은 로드 시 모델의 컨텍스트 창에 맞는 것과 하이브리드 검색이 표면화하는 것에 의해 제한됩니다. MemoryLake는 수십억 개의 토큰에 확장되는 검색으로 그 한계를 제거합니다.