헤르메스 에이전트는 네 개의 기억을 가지고 있어 당신을 잊지 않는다.

발행: (2026년 5월 24일 AM 02:37 GMT+9)
11 분 소요
원문: Dev.to

Source: Dev.to

이 글은 Hermes Agent Challenge: Write About Hermes Agent 에 대한 제출물입니다.
인간 뇌의 네 가지 고전적 기억 체계에 Hermes의 파일 구조를 매핑한 인지과학 투어이며, 다른 모든 에이전트가 흉내 내는 문제를 조용히 해결하는 아키텍처를 찾아냈습니다.

나는 마케팅처럼 들릴 수도 있지만 사실인 주장을 하고 싶습니다.
Hermes Agent가 “스스로 개선한다”는 이유 때문에 인상적인 것이 아니라, (우연이든 의도이든) 그 아키텍처가 인간 뇌가 기억을 저장하는 방식과 일치하기 때문입니다. 매핑을 보면 이 프로젝트는 교묘한 파이썬 래퍼가 아니라 논문처럼 보이기 시작합니다: 복리 효과를 내는 에이전트를 원한다면 인간이 사용하는 동일한 기억 체계를 제공해야 합니다.

나는 추천·의도 시스템을 구축하는 ML 엔지니어이며, 흥미로운 에이전트와 3주 차 이후에도 버틸 수 있는 에이전트 사이의 차이를 고민하는 데 많은 시간을 보냅니다. 지금까지 읽은 Hermes에 관한 글들은 대부분 표면만 다룹니다—“기억을 유지한다, 스킬이 있다, 크론이 있다.” 모두 맞지만, 더 유용한 질문을 하지 않습니다:

  • 왜 이런 구성을 선택했는가?
  • 왜 이 파일들인가?
  • 2026년에 설계된 시스템이 1970년대 인지심리학 논문과 이렇게 닮은 이유는?

이것이 바로 오늘의 포스트입니다. 커피 한 잔 하세요.


오늘날 프로덕션에 배포된 모든 에이전트가 겪는 동일한 실패 모드

월요일: 프로젝트, 스택, 항상 모델을 방해하는 세 가지 제약을 정성껏 설명합니다. 에이전트가 작업을 성공적으로 수행하고, 우리는 기뻐합니다.
화요일: 새 세션을 열면 에이전트는 우리를 전혀 모릅니다. 다시 설명하고, 다시 교정하고, 같은 컨텍스트를 다시 붙여넣습니다. 사람들은 에이전트가 “데모처럼 느껴진다”고 말합니다. 이는 지속 가능한 무언가를 만들지 못하고 매일 아침마다 같은 컨텍스트 비용을 지불한다는 뜻입니다.

이 문제에 대한 일반적인 해결책은 모두 부실합니다.

  • 더 큰 컨텍스트 윈도우 – 비용이 많이 들고, 에이전트가 실제로 오래 살아야 하는(수개월, 턴이 아니라) 기간에 맞게 확장되지 않으며, 대화가 끝나는 순간 기억을 잃습니다.
  • 벡터 데이터베이스 – 검색에는 유용하지만 정체성에는 전혀 도움이 되지 않습니다. RAG 스토어는 “누구와 대화하고 있는가”를 알지 못하고, 단지 마지막 질문과 유사한 8개의 청크만 제공합니다.
  • 파인튜닝 – 느리고 비싸며, 에이전트의 신념을 업데이트하는 속도가 GPU 구매 속도와 동일합니다(화요일이 아니라).

이것들은 모두 “텍스트를 더 빠르게 검색한다”는 변형일 뿐이며, 기억이 아닙니다. 인간 뇌가 이렇게 작동하지 않는 이유는 최소 네 가지 서로 독립적인 기억 체계가 존재하고, 각각 다른 문제를 해결하기 때문입니다. 1970~80년대 인지심리학자들(Tulving, Squire, Cohen 등)은 뇌 손상 환자들이 하나의 기억 체계만 잃고 나머지는 유지되는 현상을 통해 이를 구분했습니다. 이 시스템들은 진정으로 독립적입니다.

따라서 간단히 말하면, Hermes Agent가 작동하는 이유는 네 가지 기억 체계를 모두 갖추고, 각각을 별도로 관리하며, 디스크에 저장해 언제든 읽을 수 있기 때문입니다.


기억 체계 한눈에 보기

시스템저장 내용예시
Procedural memory (절차 기억)어떻게 하는지자전거 타기, 터치 타이핑, 수동 변속기 운전
Semantic memory (의미 기억)세계에 대한 사실파리는 프랑스의 수도, 미토콘드리아는 세포의 발전소
Episodic memory (삽화 기억)개인이 겪은 사건어제 먹은 아침, 2019년에 있었던 논쟁
Working memory (작업 기억)현재 머릿속에 떠 있는 내용누군가 큰 소리로 말한 전화번호

이 네 가지 기억 체계 외에 정체성이라는, 다른 기억들이 의미를 갖게 하는 기반이 있습니다. 정체성이 없으면 “기억”은 단지 다른 사람들의 영상일 뿐입니다.


Hermes Agent 디렉터리 구조 (신규 설치 기준)

~/.hermes/
├── SOUL.md           # 정체성 (기반)
├── memories/
│   ├── USER.md       # 당신은 누구인가 (에이전트가 보는 나)
│   └── MEMORY.md     # 현재 내 세계에 사실인 것
├── skills/           # 어떻게 하는지 (각 SKILL.md 하나씩)
├── sessions/         # SQLite + FTS5: 모든 대화, 검색 가능
└── cron/             # 새 세션에서 실행되는 예약 작업

다음 섹션에서는 각 파일·디렉터리가 어떤 인지 체계에 해당하는지, 경계가 왜 그렇게 잡혔는지, 그리고 각각이 어떤 오류를 방지하는지 차례로 살펴보겠습니다. 마지막으로 아직 dev.to에선 다루지 않은 Curator(v0.12에 추가) 기능이 에이전트의 ‘수면’ 역할을 어떻게 수행하는지도 설명합니다.


SOUL.md – 시스템 프롬프트의 첫 번째 파일

Hermes 아키텍처 문서에서는 이를 “slot #1”이라 부릅니다. 여기에는 에이전트의 성격, 커뮤니케이션 스타일, 역할, 제약이 들어갑니다. 대부분의 설정에서 1,000~3,000자 정도입니다.

“당신은 시니어 리서치 애널리스트다. 짧은 단락으로 답한다. 사과하지 않는다. ‘leverage’라는 단어는 절대 쓰지 않는다.”

이것을 단순히 시스템 프롬프트라고만 생각하면 오해합니다. 핵심은 SOUL.md에 들어 있지 않은 내용—예: 프로젝트 세부사항, 이름, 주간 변동 사항—이 다른 파일에 들어간다는 점입니다. SOUL.md천천히 변하는 부분으로, 텔레그램 봇이 코드 리뷰를 읽을 때와 고객 지원 답변을 초안할 때의 일관성을 보장합니다.

같은 머신에 여러 Hermes 프로필을 두고 각각 다른 SOUL.md를 사용할 수 있습니다. 재무 운영 에이전트와 리서치 에이전트는 같은 기본 모델을 쓰지만, 서로 다른 동료처럼 행동합니다. 이는 인간의 성격이 같은 신경 하드웨어 위에 다른 자기 개념을 얹어 행동을 다르게 하는 것과 동일합니다.

방지되는 현상: 톤 드리프트. 첫날은 날카롭던 에이전트가 30일 차에 장황하고 회피적인, 대시(—)를 남발하는 존재로 변하는 것을 막아줍니다.


memories/USER.md & memories/MEMORY.md

몇 주 사용한 뒤 ~/.hermes/memories/USER.md를 열면 다음과 같은 내용이 있을 수 있습니다(예시, 실제와는 다름).

- Name: Manikant
- Role: ML/AI engineer
- Communication: prefers terse responses, no apology preambles
- Working on: prompt-recommendation pipelines, intent taxonomy
- Avoid: marketing language, "leverage", em-dashes in code blocks

그리고 MEMORY.md는 이렇게 구성됩니다.

- Active project: CCx personalization pipeline
- Stack: Databricks, FastAPI on AKS, Redis, OneLLM
- p95 target: sub-1s on warm path
- Recent issue: Kong/Okta 403 — fixed by adding personalization_services scope

두 파일은 누구인지(천천히 변함)와 현재 어떤 상황인지(중간 정도 변함)를 각각 담고 있습니다. 세션 시작 시 시스템 프롬프트에 고정된 스냅샷 형태로 주입됩니다.

이는 **의미 기억(Semantic memory)**에 해당합니다—에이전트가 재연산 없이도 선언할 수 있는 선언적 사실들. 뇌가 “나는 소프트웨어 엔지니어다”와 “빌드가 현재 고장났다”를 구분하는 이유와 동일합니다. 하나는 **

0 조회
Back to Blog

관련 글

더 보기 »

내 스킬

프로젝트를 위한 AI 지시문을 만들고, 설치하고, 관리하세요 — 코딩이 필요 없습니다. CREATE 이름을 정하고, 카테고리를 선택하고, 원하는 것을 설명하세요 — 마법사가 자동으로 구성합니다.