실제로 전송되는 항목
페르소나, 지침 및 스킬
Hermes는 마이그레이션을 위한 매핑 테이블을 제공합니다. 페르소나는 workspace/SOUL.md에서 ~/.hermes/SOUL.md로 "직접 복사(Direct copy)"됩니다. 워크스페이스 지침은 AGENTS.md로 이동하지만, 테이블에 "--workspace-target 플래그 필요"라고 명시되어 있으므로 실행 시 프로젝트가 있는 위치를 마이그레이션 도구에 알려주어야 합니다.
스킬은 워크스페이스 스킬, 관리형 스킬, 개인 교차 프로젝트 스킬을 포함한 4개의 OpenClaw 위치에서 가져오며, 모두 ~/.hermes/skills/openclaw-imports/에 저장됩니다. 동일한 이름의 스킬이 Hermes에 이미 존재하는 경우, 기본 충돌 모드는 skip이므로 기존 Hermes 스킬이 그대로 유지됩니다.
메모리 및 사용자 프로필
이 부분은 주의 깊게 읽어야 합니다. OpenClaw의 장기 메모리는 workspace/MEMORY.md에서 ~/.hermes/memories/MEMORY.md로 이동하며, 여기서 "항목으로 파싱되고, 기존 항목과 병합 및 중복 제거"됩니다. 사용자 프로필도 "메모리와 동일한 항목 병합 로직"을 따릅니다.
그다음 메모리의 형태를 바꾸는 부분이 등장합니다. workspace/memory/*.md에 있는 일일 메모리 파일도 ~/.hermes/memories/MEMORY.md로 이동하며, "모든 일일 파일이 메인 메모리로 병합됨"이라는 참고 사항이 붙습니다.
이것이 왜 중요한지 이해하기 위해 각 프로젝트가 이 파일들을 어떻게 정의하는지 비교해 보겠습니다.
OpenClaw에서 "MEMORY.md는 세션 시작 시 사용할 수 있어야 하는 프로필 이외의 영구적인 사실, 상시 결정 사항 및 짧은 요약을 위한 간결하고 정제된 레이어입니다. 원시 대화 기록, 일일 로그 또는 포괄적인 아카이브가 아닙니다." 일일 노트는 다릅니다. "memory/YYYY-MM-DD.md 파일은 작업 레이어입니다. 나중에 유용할 수 있는 상세한 일일 노트, 관찰 내용, 세션 요약 및 원시 컨텍스트입니다." OpenClaw는 이 파일들을 항상 로드하는 대신 검색 가능한 상태로 유지합니다. "이 파일들은 memory_search 및 memory_get을 위해 인덱싱되지만, 매 턴마다 부트스트랩 프롬프트에 주입되지는 않습니다." 시간이 지나면서 "일일 노트의 유용한 내용은 기본 dreaming 스윕에 의해 MEMORY.md로 추출됩니다."
Hermes에서 MEMORY.md는 에이전트의 개인 노트를 보관하며 2,200자의 글자 수 제한이 있습니다. "둘 다 ~/.hermes/memories/에 저장되며 세션 시작 시 고정된 스냅샷으로 시스템 프롬프트에 주입됩니다." 그리고 Hermes는 제한에 도달했을 때 일어나는 일을 명확히 밝히고 있습니다. "메모리는 자동으로 압축되지 않습니다. 쓰기 작업이 제한을 초과하면 memory 도구는 항목을 자동으로 삭제하는 대신 에러를 반환합니다."
즉, OpenClaw가 프롬프트에서 제외했던 작업 레이어가 Hermes에서는 항상 로드되는 작은 파일로 병합됩니다. 마이그레이션 가이드는 병합과 중복 제거에 대해 설명하지만, 병합된 항목이 메모리 제한을 초과할 때 어떤 일이 발생하는지는 설명하지 않습니다. 이것이 아래의 준비 단계가 중요한 이유입니다. 제한은 Hermes의 config.yaml에 있는 memory_char_limit을 통해 구성할 수 있지만, 이를 늘리면 매 세션마다 시스템 프롬프트가 커지게 됩니다.
반대로, OpenClaw가 Hermes에서 가져올 때는 메모리 전용 가져오기에 대해 반대의 접근 방식을 취합니다. 가져온 파일은 "에이전트의 부트스트랩 MEMORY.md에 병합되지 않고" 인덱싱된 리콜을 위해 별도로 유지됩니다. 어느 쪽도 틀린 선택은 아닙니다. 두 가지 설계 방식이 있을 뿐이며, 어떤 방식으로 이동하는지 알면 무엇을 정리해야 할지 파악할 수 있습니다.
수동 검토를 위해 아카이브되는 항목
일부 OpenClaw 설정은 직접적인 대응 항목이 없어 사용자가 직접 처리할 수 있도록 저장됩니다. Hermes는 "이 항목들은 수동 검토를 위해 ~/.hermes/migration/openclaw/<timestamp>/archive/에 저장됩니다"라고 설명합니다. 이 목록에는 IDENTITY.md(SOUL.md에 병합 권장), HEARTBEAT.md(주기적 작업에 cron 작업 사용 권장), cron 작업, 플러그인, 훅, 채널 바인딩, 그리고 Hermes가 "hermes honcho를 통해 구성"하라고 안내하는 메모리 백엔드 구성이 포함됩니다.
세션 타이밍도 변경됩니다. "유휴 및 일일 리셋 타이머는 가져오지 않습니다. Hermes 대화는 명시적인 /new 또는 /reset이 있을 때까지 유지됩니다." 매일 아침 에이전트에게 새로운 시작을 제공하기 위해 일일 리셋에 의존했다면, 이제는 이러한 경계를 직접 만들어야 합니다. Hermes는 세션이 시작될 때만 메모리를 다시 읽기 때문에 정확히 이러한 습관을 권장합니다. "작업 완료, 주제 변경, 하루의 시작과 같은 자연스러운 경계에서 /new를 실행하세요."
외부 메모리 제공업체
OpenClaw에서 외부 메모리 백엔드를 사용한 경우, 이는 마이그레이션되지 않고 아카이브됩니다. Hermes에서는 "한 번에 하나의 외부 제공업체만 활성화할 수 있으며, 내장 메모리는 항상 그와 함께 활성화됩니다." Hermes는 외부 제공업체를 부가적인 것으로 설명합니다. "내장 메모리(MEMORY.md / USER.md)는 이전과 똑같이 계속 작동합니다." 이전 후에 제공업체를 신중하게 재구성할 계획을 세우세요.
수동 마이그레이션
1단계: 마이그레이션 전에 OpenClaw 메모리 정리하기
드라이 런(dry run)으로 시작하세요. 마이그레이션은 아무것도 쓰지 않고 계획을 보여주는 --dry-run을 지원하며, 기본적으로 "적용하기 전에 단일 복원 지점 아카이브가 작성"됩니다. 계획, 특히 메모리 섹션을 읽어보세요.
그런 다음 도구가 여전히 작동하는 OpenClaw 측에서 정리를 진행합니다.
workspace/MEMORY.md를 열고 상시 결정 사항, 영구적인 사실, 규칙 등 모든 세션 시작 시 로드하고 싶은 내용이 포함되어 있는지 확인하세요. 오래된 내용은 모두 제거합니다.
workspace/memory/를 살펴보세요. 이 일일 파일들은 곧 항상 로드되는 파일로 병합될 예정입니다. 각 파일에 대해 영구적인 내용이 포함되어 있는지 자문해 보세요. 만약 그렇다면, 여러분의 언어로 MEMORY.md에 짧은 한 줄로 요약해 넣으세요. 화요일에 일어난 일에 대한 로그라면 2,200자 제한의 메모리에 들어갈 자리가 없습니다. 대신 원본 일일 파일은 개인 아카이브에 보관하세요.
주간 작업에 항상 필요한 파일 경로와 같이 영구적이지만 하나의 반복 작업에만 중요한 세부 정보가 있을 수 있습니다. Hermes는 이러한 정보에 대해 다른 보관처를 제안합니다. "반복 작업의 매 실행마다 에이전트가 필요로 하는 위치의 경우, 메모리 항목보다는 스킬이 더 나은 보관처인 경우가 많습니다. 관련이 있을 때만 로드되며 2,200자 제한을 두고 경쟁하지 않기 때문입니다." 이러한 항목들을 지금 기록해 두면, 이전 후에 메모리에 억지로 밀어 넣는 대신 스킬로 전환할 수 있습니다.
USER.md도 같은 방식으로 확인하세요. 프로젝트가 아니라 여러분 자신에 대해 설명해야 합니다. Hermes 문서에 따르면 SOUL.md와 USER.md는 "서로에게 영향을 주지 않는 별개의 시스템"이므로, 자신에 대한 사실은 프로필에 속하고 말투와 정체성은 SOUL.md에 속합니다.
마지막으로, IDENTITY.md와 HEARTBEAT.md에서 다시 만들고 싶은 내용을 기록해 두세요. 이 파일들은 적용되지 않고 아카이브되기 때문입니다. 이전 전에 OpenClaw 에이전트가 이전 실행 기록을 계속 놓쳤다면, why OpenClaw forgets previous runs에서 캡처해야 할 유용한 체크리스트를 확인해 보세요.
2단계: 마이그레이션 실행 및 전송 결과 확인
AGENTS.md가 배치되도록 워크스페이스 대상을 설정하여 마이그레이션을 실행합니다. 기본적으로 마이그레이션은 계획에 충돌이 있을 때 적용을 거부하여 기존 Hermes 설정을 보호합니다. 덮어쓰기 옵션을 바로 사용하기보다는 충돌 내용을 검토하세요.
완료되면 Hermes 체크리스트의 1단계부터 시작하세요. "마이그레이션 보고서를 확인합니다. 완료 시 마이그레이션됨, 건너뜀, 충돌 항목의 수가 인쇄됩니다." 그런 다음 ~/.hermes/memories/MEMORY.md 및 USER.md를 직접 읽어보세요. 정리한 내용과 비교해 봅니다. 누락된 항목이 있다면 에이전트를 통해 가장 중요한 항목부터 하나씩 다시 추가하세요.
아카이브 폴더를 검토하고 필요한 항목을 다시 만드세요. 정체성 노트를 SOUL.md에 병합하고, 하트비트 임무를 cron 작업으로 전환하고, 외부 메모리 제공업체를 재구성합니다.
그런 다음 새 세션을 시작합니다. Hermes는 "가져온 스킬과 메모리 항목은 현재 세션이 아닌 새 세션에서 적용된다"고 명시하고 있습니다. 프로젝트 규칙이나 상시 결정 사항 등 메모리에 의존하는 내용을 에이전트에게 질문하고 답변을 확인하세요.
마지막으로 프로젝트 지침을 확인하세요. Hermes는 세션당 하나의 프로젝트 컨텍스트 유형만 로드하며, "세션당 하나의 프로젝트 컨텍스트 유형만 로드됩니다(가장 먼저 일치하는 항목이 우선 적용됨)." 이때 .hermes.md가 AGENTS.md보다 우선합니다. 프로젝트에 두 파일이 모두 있는 경우 Hermes 전용 파일이 우선 적용됩니다.
모든 것이 정상적으로 작동하면, Hermes는 두 설정이 혼동되지 않도록 남은 OpenClaw 디렉터리의 이름을 바꾸는 hermes claw cleanup을 제공합니다.
더 나은 방법: 영구적인 컨텍스트를 개별 에이전트의 메모리 파일 외부에 보관하기
수동 마이그레이션도 작동하며, 1단계의 정리가 이를 가능하게 만듭니다. 하지만 이는 근본적인 문제도 보여줍니다. 에이전트마다 메모리가 저장되는 위치, 크기 제한, 로드되는 항목에 대한 고유한 방식이 있습니다. 이전할 때마다 다음 컨테이너에 맞게 지식을 재구성해야 합니다.
결정, 규칙 및 그 배경 이유와 같은 영구적인 부분은 개별 에이전트의 메모리 파일 내부에 있을 필요가 없습니다. 직접 관리하는 한 곳에 보관하고, 각 에이전트의 내장 메모리는 단기적이고 에이전트 전용인 노트 작성 등 본연의 역할에 집중하도록 하세요.
MemoryLake는 이를 위해 구축되었습니다. 한 번만 관리하면 사용하는 에이전트에 연결할 수 있는 메모리 레이어입니다.
사용자가 직접 자신의 언어로 항목을 작성합니다. OpenClaw 워크스페이스, Hermes 메모리 파일 또는 다른 벤더의 저장소에서 아무것도 읽거나 쓰거나 삭제하지 않습니다.
1단계: API 키 생성
로그인하고 대시보드에서 키를 생성합니다. 이 키는 OpenClaw 및 Hermes 설치와는 별개로 MemoryLake 워크스페이스에 속합니다.

2단계: 첫 번째 메모리 업로드
1단계에서 일일 노트로부터 추출한 영구적인 내용과 정제된 MEMORY.md에서 가져온 상시 결정 사항으로 시작하세요. 날짜가 기입된 항목당 하나의 사실을 입력합니다.

3단계: AI 및 에이전트 연결
Hermes 및 사용하는 다른 에이전트를 연결합니다. Hermes는 MCP를 통해 외부 도구 서버에 연결할 수 있으므로, 내장 메모리를 가득 채우지 않고도 컨텍스트를 사용할 수 있습니다.

실제 변화하는 점
첫 번째 차이점은 중요한 내용이 병합 결과에 좌우되지 않는다는 것입니다. 영구적인 컨텍스트는 글자 수 제한에 우연히 맞아서가 아니라, 여러분이 직접 정제했기 때문에 유지됩니다.
두 번째는 내장 메모리가 가볍게 유지된다는 점입니다. Hermes의 MEMORY.md는 작고 최신 상태로 유지되며, 이는 해당 설계가 의도한 바와 일치합니다.
세 번째는 일일 세부 정보를 계속 사용할 수 있다는 점입니다. 원본 노트는 아카이브에 보관되며, Hermes는 자체 세션 기록을 검색 가능한 상태로 유지합니다. "모든 CLI 및 메시징 세션은 FTS5 전체 텍스트 검색을 지원하는 SQLite(~/.hermes/state.db)에 저장됩니다."
네 번째는 향후 이전이 더 쉬워진다는 점입니다. 나중에 다른 에이전트를 추가하거나 OpenClaw로 돌아가더라도 동일한 컨텍스트가 함께 이동합니다. 옵션을 비교하는 팀은 the best memory setups for OpenClaw agents에서 시작할 수 있으며, 공유 레이어에 대한 더 넓은 관점은 MCP and memory: the missing layer에서 확인할 수 있습니다.
OpenClaw에서 Hermes Agent로 이동하기 위한 모범 사례
먼저 드라이 런을 실행하세요. 무엇이든 적용하기 전에 계획의 메모리 섹션을 읽어보세요.
병합 전에 일일 노트를 정리하세요. 영구적인 사항을 MEMORY.md로 추출하고 나머지는 아카이브하세요.
워크스페이스 대상을 설정하세요. Hermes는 AGENTS.md를 배치하는 데 이 설정이 필수라고 명시하고 있습니다.
USER.md는 사용자 자신에 대해, SOUL.md는 말투에 대해 작성하세요. Hermes에서 이 둘은 별개의 시스템입니다.
아카이브된 임무를 신중하게 다시 만드세요. 하트비트는 cron 작업이 되고, 정체성 노트는 SOUL.md에 병합됩니다.
새 세션을 시작하여 테스트하세요. 가져온 메모리는 새 세션에서 적용됩니다.
자신만의 세션 경계를 만드세요. Hermes 대화는 /new 또는 /reset을 실행할 때까지 유지됩니다. OpenClaw의 메모리가 처음부터 할 수 있었던 일과 할 수 없었던 일에 대해서는 what OpenClaw's memory can and can't do를 참조하세요. Claude에서 OpenClaw로 전환한 경우, migrating Claude memory to OpenClaw에서 이전 여정을 확인할 수 있습니다. OpenClaw 자체 내부의 영구 메모리 옵션에 대해서는 OpenClaw memory를 참조하세요.
결론
Hermes Agent의 hermes claw migrate는 OpenClaw에서 페르소나, 지침, 스킬, 메모리 및 사용자 프로필을 가져오고, 직접적인 대응 항목이 없는 것은 사용자가 검토할 수 있도록 아카이브합니다. 계획해야 할 세부 사항은 메모리입니다. 프롬프트에서 제외되었던 작업 레이어인 OpenClaw의 일일 노트가 Hermes의 단일 MEMORY.md로 병합되며, 이는 모든 세션에 주입되고 크기가 제한되며 자동으로 압축되지 않습니다.
마이그레이션하기 전에 정리하세요. 일일 노트를 짧고 최신 상태인 MEMORY.md로 추출하고, 원본 파일은 개인 아카이브에 보관하고, 드라이 런을 실행한 다음, 이전 후 보고서와 메모리 파일을 확인하세요.
영구적인 컨텍스트를 직접 관리하는 곳에 보관하면 다음 마이그레이션은 메모리 구출 작전이 아니라 단순한 구성 작업이 됩니다.