Hermes Agent Skills·Memory 차이: 저장할 내용·경로·변경 승인

Hermes Agent의 MEMORY.md·USER.md와 Skills에 둘 내용을 구분하고, 저장 위치와 변경 승인 명령을 CSV 검산 예시로 설명한다.

핵심 요약

  • Memory에는 매 세션 필요한 짧은 사실을, Skill에는 반복해서 쓸 긴 작업 절차를 둔다.
  • 저장했다는 답변만 믿지 말고 실제 메모리 저장 여부와 사용 중인 프로필을 확인한다.
  • Memory와 Skill의 자동 저장은 각각 승인 후 적용하도록 바꿀 수 있다.
이 글의 목차

Hermes Agent의 Memory에는 매 세션 알아야 할 짧은 사실을, Skill에는 필요할 때 불러올 긴 작업 절차를 저장한다. 예를 들어 “이 프로젝트는 pnpm을 쓴다”는 Memory, “테스트 → 빌드 → 배포 → URL 확인” 같은 절차는 Skill이다. 지난 대화의 구체적인 내용은 둘 다 아니고 session search로 찾는다.

AI 생성 편집 삽화: 짧은 사실을 상징하는 색인 카드와 재사용 절차를 상징하는 종이 공예 설명서 및 도구

무엇을 어디에 둘까

종류 넣을 것 예
MEMORY.md 환경, 프로젝트 규칙, 작업 중 배운 점 pnpm 사용, Docker에 sudo 불필요, 줄 길이 120자
USER.md 사용자의 선호와 역할 짧은 한국어 답변을 선호
Skill 여러 단계의 반복 절차 배포 순서, 데이터 검산 순서
session search 지난 대화의 구체적인 내용 “지난주에 이 오류를 어떻게 고쳤지?”
본문 표

큰 로그, 긴 코드, 한 번만 쓸 파일 경로는 Memory에 넣지 않는다. Memory는 세션마다 시스템 프롬프트에 들어가서, 쓸데없는 내용이 많으면 금방 차고 답에도 끼어든다. (Memory 문서, Skills 문서)

저장 위치와 크기

종류 Windows 기본 위치 macOS·Linux 기본 위치
Memory %LOCALAPPDATA%\hermes\memories ~/.hermes/memories/
Skill %LOCALAPPDATA%\hermes\skills ~/.hermes/skills/
본문 표

HERMES_HOME이나 프로필을 바꿨다면 그 홈 아래의 같은 폴더를 본다.

  • 기본 한도는 MEMORY.md 2,200자, USER.md 1,375자이고 설정으로 바꿀 수 있다. 넘으면 저장이 실패하니 오래된 사실을 지운다.
  • Memory는 세션을 시작할 때 스냅숏으로 읽는다. 승인돼 저장된 변경은 파일에 반영되지만 시스템 프롬프트의 스냅숏은 다음 새 세션부터 바뀐다. 메모리 도구 응답에서는 현재 저장 상태를 볼 수 있다.

저장했다는 답변과 실제 저장은 다를 수 있다. 기억을 요청했는데 다음 세션에서 잊었다면, 실제 memory 도구 호출이 있었는지와 승인 대기 상태를 확인한다. 다른 프로필의 파일을 보고 있지 않은지도 확인한다. 공식 문서가 안내하는 진단 순서다.

Skill은 Hermes가 스스로도 만든다

Hermes에는 skill_manage 도구가 있어, 에이전트가 여러 단계를 성공적으로 해냈거나, 실패 끝에 올바른 방법을 찾았거나, 사용자가 잘못된 접근을 고쳐 줬을 때 새 Skill을 만들거나 고친다. 한 번 해결로 끝내지 않고 다음에 더 빨리 쓰게 하는 구조다.

자동 저장을 승인 후 적용하기

기본값(write_approval: false)에서는 에이전트가 Memory와 Skill을 바로 저장·수정한다. 잘못된 가정이 남는 게 걱정되면 승인을 켠다. 둘은 따로 설정한다.

/memory approval on
/memory pending
/memory approve <id>
/skills approval on
/skills pending
/skills diff <id>
/skills approve <id>

<id>에는 대기 목록의 실제 ID를 넣고, 거절은 reject <id>로 한다. Memory는 대화형 CLI의 직접 저장만 그 자리에서 승인을 묻고, 그 밖의 경로는 대기열에 쌓인다. Skill은 CLI·메신저·백그라운드 등 출처에 관계없이 모든 변경이 대기열에 쌓인다. 채팅에서 diff가 잘려 보이면 전체를 확인한 뒤 승인한다. Skill 승인은 위험 패턴 검사나 터미널 명령 승인과는 별개 설정이다.

예시: CSV 검산을 나눠 저장하기

주문 CSV를 반복해서 검산하는 경우다. 실제 고객 파일 대신 테스트 파일로 절차를 먼저 확인한다.

  • Memory: 금액 단위는 원이다. amount는 부가세 포함이다. 원본 파일을 덮어쓰지 않는다.
  • Skill: ① 열 이름과 인코딩 확인 ② 빈 값·숫자가 아닌 값 보고 ③ 유효한 행 합계 ④ 제외한 행과 이유를 별도 보고서에 기록 ⑤ 원본이 그대로인지 확인.

amount가 1000, 2000, 빈 값인 orders-test.csv로 돌려 합계 3,000원·제외 1행이 나오는지 본다. 빈 값을 0원으로 처리하거나 원본을 고쳤다면 그 절차는 Skill로 저장하지 않는다. 맞으면 다음처럼 요청한다.

주문 금액 단위는 원이고 amount는 부가세 포함이라는 사실을 Memory에 저장해줘.
방금 성공한 CSV 검산 절차는 orders-csv-check Skill로 만들어줘. 3000원·제외 1행이라는 시험 기준도 넣어줘.

새 세션에서 orders-csv-check Skill을 불러와 orders-test.csv를 검산해줘라고 해서 같은 결과와 원본 보존을 확인한다. 이것은 작은 시험 사례이며 다른 데이터도 모두 맞힌다는 보장은 아니다. 중복 거래·빈 금액·환불·반올림까지 확인하려면 CSV 집계 코드 검산 실습의 정답 표와 실행 가능한 테스트를 함께 사용하면 됩니다.

외부 Memory 연결

hermes memory setup으로 외부 memory provider를 연결하고 hermes memory status로 상태를 본다. 한 번에 하나만 켤 수 있고, 기본 MEMORY.md·USER.md와 함께 동작한다. 외부 서비스형이라면 대화가 그쪽에 동기화될 수 있으니 저장 위치를 먼저 확인한다. (Memory Providers)

hermes memory off는 외부 provider만 끈다. 기본 파일까지 끄려면 config.yaml의 memory 섹션에 memory_enabled: false, user_profile_enabled: false를 넣는다. provider를 꺼도 외부 서비스에 이미 저장된 데이터는 남으니, 지우려면 그 서비스의 삭제 절차를 따른다.

안 될 때

  • 엉뚱한 것을 기억한다 → MEMORY.md에 이전 프로젝트의 경로나 규칙이 남아 있는지 본다.
  • Skill이 안 불린다 → Skill 목록에 있는지와 이름·설명을 확인한다. 언제 쓰는지 구체적으로 적고 이름을 지정해 불러 본다.
  • 결과가 매번 다르다 → Memory와 Skill에 충돌하는 지시가 있는지 보고, 겹치는 내용은 한쪽에만 둔다.

팀에서 같이 쓰려면? 팀 공통 절차는 버전 관리하는 Skill로 두고, 공통 사실의 원본은 팀 문서나 저장소 한곳에 둔다. 여러 에이전트가 하나의 Hermes 홈 파일을 동시에 고치게 하지 않는다. 공유 메모리를 지원하는 외부 provider를 쓰는 방법도 있다.

설치와 모델 연결은 Hermes Agent 설치·Provider 설정에 있다. 모델을 바꾼 뒤에는 위 테스트로 같은 결과가 나오는지 다시 본다.

  • Hermes Agent
  • Nous Research
  • Hermes Skills
  • Hermes Memory
  • Hermes Agent 활용 팁

첫 댓글을 남겨 보세요.

댓글은 공개됩니다. 개인정보·광고·비방성 내용은 남기지 마세요. 운영 기준은이용 안내에서 확인할 수 있습니다.