AI VIDEO BRIEFING

Hermes AI 에이전트 아키텍처 분석: 에이전트 루프·컨텍스트·메모리·게이트웨이

Hermes AI 에이전트의 내부 구조를 단계별로 해설한다. 에이전트 루프, 컨텍스트 구성과 압축, SQLite·외부 메모리, 메시징 게이트웨이, 크론 작업까지 직접 만들 때 참고할 설계 원리를 정리했다.

Hermes AI 에이전트 뜯어보기: 에이전트 루프부터 메모리·게이트웨이까지 영상 대표 이미지

핵심 메시지

  • Hermes는 사용자가 메시지를 보낼 때마다 컨텍스트를 새로 구성하고, LLM이 도구를 다 쓸 때까지 반복하는 단순한 에이전트 루프로 동작한다.
  • 응답이 끝나면 메모리 업데이트 단계가 대화에서 기억할 만한 것을 골라 저장해, 쓸수록 학습하는 에이전트가 된다.
  • 컨텍스트는 성격을 정의하는 soul.md, 사용자 정보를 담는 user.md, 임의 사실을 쌓는 memory.md 같은 마크다운 파일을 중심으로 만들어진다.
  • 게이트웨이는 텔레그램·슬랙·이메일 등 다양한 메신저와 에이전트를 연결하고, SQLite에서 대화 기록을 불러와 컨텍스트를 매번 재구성한다.
  • 크론 작업은 매분 도는 tick 함수가 jobs.json을 확인해 예약된 일을 실행하고 결과를 홈 메신저로 알려준다.

쉽게 이해하기

Hugging Face의 발표자는 Hermes 에이전트를 직접 만들거나 더 잘 쓰고 싶은 사람을 위해 전체 구조를 높은 수준에서 훑는다. 핵심은 의외로 단순하다. AI 에이전트 코어(에이전트 루프)가 중심에 있고, CLI·게이트웨이·API 세 가지 경로로 여기에 접속한다. 코어에는 도구, 스킬, 메모리가 기본 탑재돼 바로 쓸 수 있다.

에이전트 루프는 미니멀한 형태다. 사용자가 메시지를 보내면 내부 메모리와 준비된 프롬프트로 컨텍스트를 만들고, 메시지 기록과 함께 LLM에 보낸다. LLM이 도구를 호출하면 실행해 결과를 돌려주고, 더 이상 도구가 필요 없을 때 최종 답을 낸다. 마지막에는 메모리 업데이트 단계가 붙어, 기억할 가치가 있는 내용을 메모리에 기록한다.

컨텍스트는 시스템 프롬프트 역할의 soul.md(성격·말투·목표), 에이전트가 대화에서 알아낸 사용자 정보를 자동으로 갱신하는 user.md, 도구 사용법이나 워크플로 같은 임의의 사실을 쌓는 memory.md로 구성된다. 여기에 도구·스킬 설명과 최신 메시지, 그리고 외부 메모리를 설정했다면 과거 대화 요약이 더해진다.

컨텍스트 압축은 메시지 기록이 컨텍스트 창의 일정 비율(기본 50%)을 넘으면 이전 메시지를 요약해 대체하는 방식이다. 토큰 수는 첫 메시지에서는 전체 글자 수를 4로 나눠 어림하고, 이후에는 LLM 응답의 usage 값으로 더 정확히 잰다. 압축 검사는 매 턴 전과 컨텍스트 창 오류 시에 일어난다.

게이트웨이는 텔레그램·슬랙·이메일 등으로 에이전트와 대화하게 해주는, Hermes를 대중화시킨 부분이다. 비동기 루프가 각 메신저를 폴링하거나 웹훅으로 수신하고, SQLite에서 세션 ID 기준으로 대화 기록을 불러와 컨텍스트를 다시 쌓는다. 세션 매니저는 작업 중에 새 메시지가 오면 중단·조정(steer)·대기 중 무엇으로 처리할지 결정한다.

주요 인사이트

  • 에이전트의 "지능"은 정교한 모델 한 줄이 아니라, 컨텍스트를 어떻게 구성하고 압축하느냐는 엔지니어링에서 크게 갈린다. Hermes의 풍부한 압축 프롬프트(목표·제약·완료 작업·차단 요소 등 다중 섹션)가 그 예다.
  • 메모리는 세 갈래다. 항상 컨텍스트에 붙는 마크다운 파일, 모든 세션 전사를 보관하고 유사도 검색용 텍스트 테이블까지 둔 SQLite, 그리고 MemZero·Super memory·Honcho 같은 선택적 외부 메모리 제공자다.
  • 외부 메모리는 첫 응답 이후에 다음 질문을 예측해 미리 조회한다. 그래서 한 번에 못 떠올리면 후속 메시지에서 관련 기억이 따라오는, 사람과 비슷한 회상 패턴을 보인다.
  • 문서와 실제 구현이 어긋날 수 있다. 크론 작업이 SQLite에 저장된다고 적혀 있지만 실제로는 ~/.hermes/cron/jobs.json 평문 JSON에 들어 있었다는 점은 코드를 직접 확인하는 일의 중요성을 보여준다.

자주 묻는 질문

Hermes의 컨텍스트 압축은 언제, 어떤 기준으로 일어나나?

메시지 기록이 컨텍스트 창의 기본 50% 임계값(설정에 따라 70~80%로 조정 가능)을 넘으면 이전 메시지를 요약해 대체한다. 검사는 매 턴(LLM 호출) 전과, LLM이 컨텍스트 창 오류를 반환했을 때 두 시점에서 이뤄진다.

Hermes는 메모리를 어떻게 관리하나?

세 가지다. soul.md·user.md·memory.md 같은 마크다운 파일은 항상 컨텍스트에 붙고, SQLite 데이터베이스는 모든 세션 전사와 유사도 검색용 텍스트를 보관하며, MemZero·Super memory·Honcho 같은 외부 메모리 제공자는 선택적으로 연결해 회상 능력을 키운다.

게이트웨이는 어떤 역할을 하나?

텔레그램·슬랙·이메일·SMS 등 여러 메신저로 에이전트와 대화하게 해준다. 들어온 단일 메시지를 받아 SQLite에서 세션 기록을 불러와 전체 대화 컨텍스트를 재구성하고, 세션 매니저로 메시지 중단·조정·대기를 처리한다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식