전체 글/개념

Hermes에서 메모리를 관리하는 방법

USER.md, MEMORY.md, 프로젝트 폴더, Skill, 대화 기록을 언제 써야 하는지 차례대로 설명합니다.

2026-09-04 / 7분 / 개념


Hermes에게 어떤 내용을 기억해 달라고 하면, Hermes는 그 내용을 어디에 적어 두고 기억하는 걸까요?

Hermes가 사용하는 파일을 살펴보면 ~/.hermes/memories/MEMORY.md라는 파일이 있습니다. 이 파일에는 Hermes가 작업하면서 알게 된 중요한 정보가 담깁니다. 자주 쓰는 폴더의 위치나 도구를 사용할 때 주의할 점처럼, 다음 대화에서도 다시 쓸 내용입니다.[1]

그렇다면 기억할 내용은 모두 MEMORY.md에 넣는 것이 합리적일까요? 이 파일에는 기본적으로 2,200자까지만 저장할 수 있습니다.[1] 사용자에 관한 정보와 프로젝트 자료, 반복하는 작업 순서까지 모두 담기에는 자리가 부족합니다.

MEMORY.md에 남길 정보와 다른 곳으로 보낼 정보를 하나씩 구분하면 답이 드러납니다. 사용자 정보, 프로젝트 지식, 작업 순서와 지난 대화는 서로 다른 장소에 보관됩니다.

먼저 MEMORY.md와 USER.md를 구분한다

Hermes가 오래 기억하는 정보는 기본적으로 ~/.hermes/memories/ 폴더의 두 파일에 들어갑니다. MEMORY.md에는 Hermes가 작업하면서 알게 된 내용을 적습니다. 자주 쓰는 폴더 위치, 프로젝트에서 지키는 규칙, 도구를 쓸 때 주의할 점이 여기에 해당합니다. USER.md에는 이름, 역할, 관심 분야, 원하는 답변 방식처럼 사용자에 관한 사실을 적습니다. 기본 한도는 각각 2,200자와 1,375자입니다.[1]

Hermes는 새 대화를 시작할 때 이 두 파일을 읽습니다. 대화 도중에 메모리를 고치면 파일에는 바로 저장됩니다. 하지만 이미 진행 중인 대화가 그 파일을 자동으로 다시 읽지는 않습니다. 바뀐 내용은 새 대화를 시작할 때부터 적용됩니다.[1]

저장소무엇을 두는가예시
USER.md사용자에 관한 사실역할, 관심 분야, 원하는 답변 방식
MEMORY.md여러 대화와 프로젝트에서 다시 쓸 짧은 정보자주 쓰는 폴더, 도구의 제약, 공통 규칙

SOUL.md도 새 대화를 시작할 때 읽지만, 메모리를 저장하는 파일은 아닙니다. 이 파일은 Hermes가 어떤 태도와 방식으로 행동할지를 정합니다. USER.md는 사용자에 관한 정보를, MEMORY.md는 Hermes가 작업하면서 배운 정보를 맡습니다.[2]

기억을 추가하기 전에 저장할 곳을 고른다

새 정보를 저장하기 전에 어디에서 다시 쓸지 생각합니다. 사용자에 관한 정보인지, 여러 프로젝트에서 필요한 정보인지, 한 프로젝트에만 필요한 정보인지 구분합니다. 반복해서 따라야 할 작업 순서인지, 나중에 검색만 하면 되는 지난 대화인지도 살펴봅니다.

MEMORY.md가 가득 차도 오래된 내용이 다른 곳으로 자동 이동하지는 않습니다. Hermes는 새 내용을 쓰지 못했다는 오류를 냅니다. 그러면 기존 내용을 줄이거나 비슷한 항목을 합친 뒤 다시 저장해야 합니다. Hermes가 알아서 오래된 기억을 버리지는 않습니다.[1]

중요한 정보라고 해서 모두 MEMORY.md에 넣을 필요는 없습니다. 한 프로젝트에서만 쓰는 내용은 그 프로젝트 폴더에 적는 편이 낫습니다. 나중에 어디에서 다시 찾을지만 MEMORY.md에 짧게 남기면 됩니다.

프로젝트 지식은 프로젝트 폴더로 보낸다

프로젝트 폴더에는 Hermes가 그 작업에서 따라야 할 안내 파일을 둘 수 있습니다. Hermes는 여러 종류의 안내 파일을 발견해도 모두 섞어 읽지 않습니다. .hermes.md/HERMES.md, AGENTS.override.md, AGENTS.md, CLAUDE.md, .cursorrules 순서로 확인하고, 먼저 맞는 한 종류를 고릅니다. AGENTS.md 방식은 폴더마다 다른 규칙을 이어서 읽을 수도 있습니다.[3]

프로젝트는 꼭 코드 작업일 필요가 없습니다. 목표와 기간이 있고, 여러 대화에 걸쳐 자료와 결정이 쌓인다면 별도 폴더를 만들 수 있습니다. 1년 동안 투자 원칙을 기록하는 일, 강의 과정을 설계하는 일, 책 한 권을 조사하고 쓰는 일도 같은 방식으로 관리할 수 있습니다.

예를 들어 1년짜리 투자 프로젝트라면 처음에는 이 정도면 됩니다.

investing-2026/
├── .hermes.md
├── README.md
├── investment-policy.md
├── decision-log.md
├── portfolio/
└── research/

.hermes.md에는 프로젝트의 목표와 하지 말아야 할 일을 씁니다. 자료를 확인하는 방법과 중요한 문서의 위치도 적습니다. investment-policy.md에는 미리 정한 투자 원칙을 남깁니다. decision-log.md에는 결정을 내릴 때 본 정보와 생각이 바뀔 조건을 적습니다. 거래 내역과 조사 자료는 각각 다른 파일에 쌓습니다.

여러 작업에서 함께 쓰는 MEMORY.md에는 한 줄이면 됩니다.

1년 투자 프로젝트의 원칙과 기록은 ~/projects/investing-2026에 있다.

이 한 줄만 있어도 나중에 원본을 찾을 수 있습니다. 다음 작업에서 Hermes에게 해당 폴더를 열어 달라고 요청하면 됩니다. 다만 경로를 적었다고 해서 그 폴더의 파일이 매번 자동으로 읽히는 것은 아닙니다.

지난 대화는 검색하고, 결정은 문서로 옮긴다

Hermes는 모든 대화를 ~/.hermes/state.db에 저장합니다. 이 파일에는 메시지, 도구를 사용한 기록, 대화를 시작할 때 사용한 설정, 토큰 수, 시간 정보가 들어갑니다. Hermes의 세션 검색을 사용하면 이 기록에서 단어나 문장을 찾아 과거 대화를 다시 열 수 있습니다.[4]

세션 검색은 “그때 무엇을 이야기했지?”를 확인할 때 유용합니다. 하지만 프로젝트의 최신 원칙과 현재 상태를 대화에만 남기면 찾기 어려워집니다. 같은 주제가 여러 대화에 흩어질 수 있고, 검토 중이던 생각과 최종 결정도 함께 남기 때문입니다.

과거 대화를 찾아 결정을 확인했다면, 그 결과를 decision-log.md처럼 현재 결정을 모아 둔 문서에 옮깁니다. 그러면 다음 대화에서는 지난 대화를 다시 모아 읽지 않고 그 문서에서 시작할 수 있습니다.

반복 작업은 Skill로 만든다

같은 일을 여러 번 한다면, 기억할 사실보다 작업 순서가 더 중요할 수 있습니다. 예를 들어 글을 쓸 때마다 프로젝트 규칙을 읽고, 기존 글과 문체를 맞추고, 출처와 빌드 결과를 확인해야 한다고 해보겠습니다. 이런 순서는 MEMORY.md에 한두 줄로 적기보다 Skill로 만드는 편이 알맞습니다.

Skill은 특정 작업을 하는 방법을 적어 둔 문서입니다. Hermes는 모든 Skill의 전체 내용을 항상 읽지 않습니다. 먼저 각 Skill의 짧은 설명만 보고, 지금 하는 일과 관련된 Skill만 골라서 읽습니다.[5] 글 작성이나 배포처럼 따라야 할 단계와 확인 항목이 있는 작업은 여기에 잘 맞습니다.

질문둘 곳
이 정보는 사용자에 관한 것인가?USER.md
여러 프로젝트에서 다시 쓸 짧은 정보인가?MEMORY.md
한 프로젝트의 규칙·자료·결정인가?프로젝트 폴더와 안내 문서
반복할 작업 순서와 확인 항목인가?Skill
지난 대화를 다시 찾으려는가?state.db와 세션 검색

외부 메모리는 마지막에 붙인다

MEMORY.md가 작다는 이유만으로 곧바로 외부 메모리 서비스를 붙일 필요는 없습니다. 외부 메모리는 많은 자료를 저장하고, 뜻이 비슷한 내용을 찾아 주는 별도 저장소입니다. 저장할 수 있는 양은 늘어나지만, 정보가 뒤섞일 수도 있습니다. 사용자 정보와 프로젝트 문서, 반복 작업의 순서가 한곳에 섞이면 어떤 내용이 최신인지 판단하기 어려워집니다.

먼저 MEMORY.md에는 짧은 정보와 원본의 위치만 남깁니다. 프로젝트마다 현재 원칙과 결정을 적은 문서를 만들고, 반복하는 작업은 Skill로 옮깁니다. 이렇게 정리한 뒤에도 여러 에이전트가 함께 찾아야 할 자료가 많다면 외부 메모리를 추가할 수 있습니다.

기존 메모리를 정리할 때는 MEMORY.md부터 살펴봅니다. 사용자 정보는 USER.md로 옮깁니다. 프로젝트에만 필요한 내용은 그 프로젝트 폴더로 옮깁니다. 반복하는 작업 순서는 Skill로 만들고, 대화에서 확정한 결정은 결정 기록에 적습니다. 마지막으로 MEMORY.md에는 자주 쓰는 폴더 위치와 여러 작업에 공통으로 필요한 정보만 남깁니다.

Hermes는 기억을 한 파일에만 적어 두지 않습니다. 사용자에 관한 사실은 USER.md에, 여러 작업에서 다시 쓸 짧은 정보는 MEMORY.md에 둡니다. 프로젝트 지식은 프로젝트 폴더에 두고, 반복하는 작업 순서는 Skill로 만듭니다. 지난 대화는 세션 검색으로 다시 찾습니다.

따라서 중요한 내용을 모두 MEMORY.md에 넣는 것은 합리적이지 않습니다. 그 정보가 누구에 관한 것인지, 어느 작업에서 다시 쓰일지, 나중에 어떤 방식으로 찾을지를 먼저 따져야 합니다. MEMORY.md에는 여러 작업에서 자주 쓰는 짧은 정보와 원본의 위치만 남기는 편이 좋습니다.

출처

  1. Hermes Agent, Persistent Memory
  2. Hermes Agent, Which File Does What?
  3. Hermes Agent, Context Files
  4. Hermes Agent, Sessions
  5. Hermes Agent, Skills System

구독하기

새 글을 메일로 받아보세요.

대략 일주일에 한 편, 개념 정리나 직접 써 본 오픈소스·툴 이야기를 보냅니다. 그 외의 메일은 보내지 않습니다.