세션이 열립니다. 시스템 프롬프트 위에 MEMORY 칸이 붙습니다. Hermes 문서 기준 2,200자, 약 800토큰. 옆에 USER.md는 1,375자, 약 500토큰. 둘 다 세션 시작 때 한 번 얼려서 넣습니다. 글 쓰다 메모리를 고치면 디스크에는 바로 남고, 프롬프트에는 다음 세션부터 보입니다.
같은 화면에 스킬 목록도 있습니다. 이름은 한 줄입니다. dttm-writing은 그 한 줄로만 앉아 있습니다. 초안을 쓰라고 해야 skill_view가 SKILL.md 전문을 엽니다.
같은 마크다운인데 칸이 둘입니다. 헷갈리면 매 턴 비싼 칸에 절차를 넣습니다.
작업지시서는 필요할 때 벽에서 떼어 읽습니다. 인수인계 수첩은 출근할 때마다 책상 위에 펼쳐 둡니다. 스킬이 지시서이고, 메모리가 인수인계입니다.
숫자는 문서의 한도입니다. 이 글의 측정이 아닙니다.
1. 메모리는 매번 앞에 붙습니다
Hermes는 MEMORY.md와 USER.md를 ~/.hermes/memories/에 둡니다. 한도는 위와 같습니다. 꽉 차면 memory 도구가 조용히 잘라 내지 않습니다. 쓰기가 거절되고, 같은 턴에서 자리를 비워야 합니다.
프롬프트에 넣는 방식은 세션 시작 스냅샷입니다. 중간이 바뀌지 않습니다. 접두 캐시를 깨지 않으려고 그렇게 잡았습니다. 그래서 “방금 기억하라고 했는데 왜 모르냐”는 질문이 나옵니다. 안 지운 게 아니라, 이번 세션 프롬프트가 이미 얼었기 때문입니다.
OpenClaw는 기억을 ~/.openclaw/memory/ 아래 마크다운으로 쌓습니다. 설정 기본값 max_context_tokens는 2,000. 대화가 열릴 때 검색해서 그 한도만큼 넣습니다. Hermes의 800+500과 숫자는 비슷해 보여도, 넣는 타이밍이 다릅니다. 한쪽은 고정 블록, 한쪽은 검색 할당입니다.
2. 스킬은 부를 때만 열립니다
Hermes 스킬은 ~/.hermes/skills/에 있습니다. agentskills.io 형식입니다. 문서는 progressive disclosure라고 적습니다. 목록에는 짧은 설명만 올라가고, 본문은 필요할 때 로드합니다. 슬래시로 한 메시지에 최대 5개까지 겹쳐 열 수 있습니다. 카탈로그는 번들 약 90, 선택 설치 약 60입니다. 90개를 매 턴 전문으로 넣지 않습니다.
OpenClaw 스킬도 마크다운입니다. 커뮤니티 아키텍처 표는 스킬 하나당 대략 100–500토큰, SOUL.md는 200–1,000토큰으로 적습니다. 게이트웨이·Brain·Hands 옆에 Skills가 따로 있습니다. 기억 파일과 같은 폴더가 아닙니다.
절차를 MEMORY.md에 넣으면 한도 2,200자를 작업지시서가 먹습니다. 사실을 스킬에만 적고 트리거를 안 걸면, 세션은 그 사실을 모릅니다. 칸이 틀린 겁니다.
3. 둘이 갈라지는 지점
프로필은 스킬과 기억을 같이 가릅니다. Hermes는 프로필마다 홈이 다릅니다. 두 프로세스가 같은 홈을 쓰면 기억이 서로 섞입니다. 문서가 말합니다. OpenClaw도 에이전트 단위로 기억 SQLite를 나눕니다.
허브 vs 로컬도 갈립니다. Hermes는 Skills Hub에서 절차를 받아 skills/에 심습니다. 기억은 허브가 없습니다. 그 머신에 남는 인수인계입니다.
「스킬이 곧 메모리입니다.」 마크다운이라는 점만 본 말입니다. 「MEMORY.md를 키우면 에이전트가 똑똑해집니다.」 한도 밖의 절차는 매 세션 청구서입니다.
작업지시서는 벽에 두고, 인수인계는 짧게 둡니다. 그 선택이 토큰입니다.
참고
- Hermes MEMORY 2,200자·USER 1,375자, 세션 시작 스냅샷: Persistent Memory
- 스킬 on-demand, progressive disclosure, 슬래시 최대 5, 번들 ~90: Skills System
- OpenClaw
max_context_tokens기본 2,000: Memory System - OpenClaw 프롬프트 층 크기 표(SOUL 200–1,000, 스킬 100–500/개): Architecture Overview