본문으로 건너뛰기

메모리 제공자

anchor alias

메모리 제공자

Hermes 에이전트는 내장된 MEMORY.md와 USER.md를 넘어 에이전트에 지속적이고 세션 간 공유되는 지식을 제공하는 8개의 외부 메모리 제공자 플러그인과 함께 제공됩니다. 한 번에 하나의 외부 제공자만 활성화될 수 있으며 — 내장 메모리는 항상 함께 활성화됩니다.

빠른 시작

hermes memory setup      # interactive picker + configuration
hermes memory status # check what's active
hermes memory off # disable external provider
``hermes plugins` → 플러그인 제공자 → 메모리 제공자를 통해 활성 메모리 제공자를 선택할 수도 있습니다.

또는 `~/.hermes/config.yaml`에서 수동으로 설정할 수 있습니다:

```yaml
memory:
provider: openviking # or honcho, mem0, hindsight, holographic, retaindb, byterover, supermemory

작동 방식

메모리 제공자가 활성화되면, Hermes는 자동으로:

  1. 시스템 프롬프트에 공급자 컨텍스트를 주입함 (공급자가 아는 것)
  2. 각 턴 전에 관련 기억을 사전 불러오기 (배경, 비차단)
  3. 각 응답 후 대화를 제공자에게 동기화
  4. 세션 종료 시 메모리를 추출합니다 (지원하는 제공자를 위한 기능)
  5. 내장 메모리 쓰기를 외부 제공자에게 반영
  6. 공급자별 도구를 추가하여 에이전트가 기억을 검색, 저장 및 관리할 수 있도록 합니다

내장 메모리(MEMORY.md / USER.md)는 이전과 똑같이 계속 작동합니다. 외부 제공자는 추가적인 역할을 합니다.

사용 가능한 제공자

호인초

방언적 추론, 세션 범위의 컨텍스트 주입, 의미 기반 검색, 지속적 결론을 활용한 AI-네이티브 교차 세션 사용자 모델링. 기본 컨텍스트에는 이제 사용자 표현과 동료 카드와 함께 세션 요약이 포함되어, 에이전트가 이미 논의된 내용을 인식할 수 있게 되었습니다.

에 가장 적합세션 간 컨텍스트가 있는 다중 에이전트 시스템, 사용자-에이전트 정렬
필요pip install honcho-ai + API 키 또는 자체 호스팅 인스턴스
데이터 저장혼초 클라우드 또는 자체 호스팅
비용Honcho 요금제(클라우드) / 무료(자가 호스팅)

도구 (5): honcho_profile (피어 카드 읽기/업데이트), honcho_search (의미 기반 검색), honcho_context (세션 context — 요약, 표현, 카드, 메시지), honcho_reasoning (LLM-합성), honcho_conclude (결론 생성/삭제)

아키텍처: 2단계 컨텍스트 주입 — 기본 계층(세션 요약 + 표현 + 피어 카드, contextCadence에서 새로고침)과 변증법적 보조 계층(LLM 추론, dialecticCadence에서 새로고침). 변증법 계층은 기본 컨텍스트가 존재하는지 여부에 따라 콜드 스타트 프롬프트(일반 사용자 정보)와 웜 프롬프트(세션 범위 컨텍스트)를 자동으로 선택한다.

세 개의 직교 구성 노브가 비용과 깊이를 독립적으로 제어합니다:

  • contextCadence — 기본 레이어가 새로 고쳐지는 빈도 (API 호출 빈도)
  • dialecticCadence — 변증법 LLM이 작동하는 빈도(LLM 호출 빈도)
  • dialecticDepth — 변증법 호출당 .chat() 회 통과 횟수 (1–3, 추론의 깊이)

설정 마법사:

hermes memory setup        # select "honcho" — runs the Honcho-specific post-setup

레거시 hermes honcho setup 명령은 여전히 작동합니다(현재는 hermes memory setup로 리디렉션됨), 하지만 Honcho가 활성 메모리 공급자로 선택된 후에만 등록됩니다.

설정: $HERMES_HOME/honcho.json (프로필-로컬) 또는 ~/.honcho/config.json (글로벌). 해결 순서: $HERMES_HOME/honcho.json > ~/.hermes/honcho.json > ~/.honcho/config.json. 설정 참조Honcho 통합 가이드를 참조하세요.

Full config reference
열쇠기본값설명
apiKey--app.honcho.dev에서 API 키
baseUrl--자체 호스팅된 Honcho의 기본 URL
peerName--사용자 피어 신원
aiPeer호스트 키AI 동료 신원(프로필당 하나)
workspace호스트 키공유 작업 공간 ID
contextTokensnull (대문자 없음)턴마다 자동 주입된 컨텍스트의 토큰 예산. 단어 경계에서 잘림
contextCadence1context() API 호출 간 최소 턴 수 (기본 레이어 새로고침)
dialecticCadence2peer.chat() LLM 호출 간 최소 턴 수. 권장 1–5. hybrid/context 모드에만 적용됩니다
dialecticDepth1방언 호출당 .chat() 회의 반복 횟수. 1–3으로 제한됨. 0회 반복: 차가운/따뜻한 프롬프트, 1회 반복: 자체 감사, 2회 반복: 조정
dialecticDepthLevelsnull패스별 추론 수준의 선택적 배열, 예: ["minimal", "low", "medium"]. 비례 기본값을 재정의합니다
dialecticReasoningLevel'low'기본 추론 수준: minimal, low, medium, high, max
dialecticDynamictrue모델은 true 시 도구 매개변수를 통해 호출별로 추론 수준을 재정의할 수 있습니다
dialecticMaxChars600시스템 프롬프트에 주입된 변증법 결과의 최대 문자 수
recallMode'hybrid'hybrid (자동 주입 + 도구), context (주입만), tools (도구만)
writeFrequency'async'메시지를 플러시할 시기: async (백그라운드 스레드), turn (동기), session (종료 시 배치), 또는 정수 N
saveMessagestrue메시지를 Honcho API에 영구 저장할지 여부
observationMode'directional'directional (모두 켬) 또는 unified (공유 풀). observation 객체로 재정의
messageMaxChars25000메시지당 최대 문자 수(초과 시 분할)
dialecticMaxInputChars10000peer.chat()에 대한 변증법적 쿼리 입력의 최대 문자 수
sessionStrategy'per-directory'per-directory, per-repo, per-session, global
Minimal honcho.json (cloud)
{
"apiKey": "your-key-from-app.honcho.dev",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"peerName": "your-name",
"workspace": "hermes"
}
}
}
Minimal honcho.json (self-hosted)
{
"baseUrl": "http://localhost:8000",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"peerName": "your-name",
"workspace": "hermes"
}
}
}
Migrating from hermes honcho

이전에 hermes honcho setup를 사용했다면, 구성과 모든 서버 측 데이터는 그대로 있습니다. 설정 마법사를 통해 다시 활성화하거나 수동으로 memory.provider: honcho를 설정하여 새로운 시스템에서 재활성화하면 됩니다.

다중 피어 설정:

Honcho는 대화를 피어들이 메시지를 교환하는 것으로 모델링합니다 — 하나의 사용자 피어와 하나의 AI 피어가 각각 Hermes 프로필에 있으며, 모두 작업 공간을 공유합니다. 작업 공간은 공유된 환경입니다: 사용자 피어는 프로필 전체에서 글로벌하며, 각 AI 피어는 고유한 정체성을 가집니다. 각 AI 피어는 자신의 관찰을 바탕으로 독립적인 표현/카드를 구축하므로, coder 프로필은 코딩 중심을 유지하고, writer 프로필은 동일한 사용자에 대해 편집 방향을 유지합니다.

매핑:

개념그것이 무엇인지
작업 공간공유 환경. 하나의 작업 공간에 있는 모든 Hermes 프로필은 동일한 사용자 ID를 봅니다.
사용자 피어 (peerName)인간. 작업 공간의 프로필 간에 공유됨.
AI 동료 (aiPeer)Hermes 프로필당 하나. 호스트 키 hermes → 기본; 다른 것들은 hermes.<profile>.
관찰페어별 토글로 Honcho가 누구의 메시지를 기반으로 어떤 모델을 사용할지 제어합니다. directional (기본값, 네 가지 모두 켜짐) 또는 unified (단일 관찰자 풀).

새 프로필, 신선한 혼초 동료

hermes profile create coder --clone
``--clone``honcho.json`에서 `aiPeer: "coder"`, 공유 `workspace`, 상속된 `peerName`, `recallMode`, `writeFrequency`, `observation` 등과 함께 `hermes.coder` 호스트 블록을 생성합니다. AI 피어는 첫 번째 메시지 전에 존재하도록 Honcho에서 적극적으로 생성됩니다.

### 기존 프로필, Honcho 동료 백필 \{#how-it-works}

```bash
hermes honcho sync

모든 Hermes 프로필을 스캔하고, 호스트 블록이 없는 프로필에 대해 호스트 블록을 생성하며, 기본 hermes 블록의 설정을 상속하고, 새로운 AI 피어를 적극적으로 생성합니다. 멱등성 — 이미 호스트 블록이 있는 프로필은 건너뜁니다.

프로필별 관찰

각 호스트 블록은 관찰 구성을 독립적으로 재정의할 수 있습니다. 예시: AI 동료가 사용자를 관찰하지만 자기 모델링은 하지 않는 코드 중심 프로필:

"hermes.coder": {
"aiPeer": "coder",
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": false, "observeOthers": true }
}
}

관찰 토글(피어별 한 세트):

전환효과
observeMeHoncho는 자신의 메시지에서 이 피어의 표현을 생성합니다
observeOthers이 피어는 다른 피어의 메시지를 관찰한다 (피드가 피어 간 추론을 교차함)

observationMode를 통한 프리셋:

  • "directional" (기본) — 네 개의 플래그 모두 켬. 완전한 상호 관찰; 피어 간 변증법 활성화.
  • "unified" — 사용자 observeMe: true, AI observeOthers: true, 나머지는 거짓. 단일 관찰자 풀; AI는 사용자를 모델링하지만 자신은 아니며, 사용자는 오직 자신만 모델링함.

서버 측 토글은 Honcho 대시보드를 통해 설정된 것이 로컬 기본값보다 우선하며 — 세션 시작 시 다시 동기화됩니다.

전체 관찰 참조는 Honcho 페이지를 참조하세요.

Full honcho.json example (multi-profile)
{
"apiKey": "your-key",
"workspace": "hermes",
"peerName": "eri",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"workspace": "hermes",
"peerName": "eri",
"recallMode": "hybrid",
"writeFrequency": "async",
"sessionStrategy": "per-directory",
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": true }
},
"dialecticReasoningLevel": "low",
"dialecticDynamic": true,
"dialecticCadence": 2,
"dialecticDepth": 1,
"dialecticMaxChars": 600,
"contextCadence": 1,
"messageMaxChars": 25000,
"saveMessages": true
},
"hermes.coder": {
"enabled": true,
"aiPeer": "coder",
"workspace": "hermes",
"peerName": "eri",
"recallMode": "tools",
"observation": {
"user": { "observeMe": true, "observeOthers": false },
"ai": { "observeMe": true, "observeOthers": true }
}
},
"hermes.writer": {
"enabled": true,
"aiPeer": "writer",
"workspace": "hermes",
"peerName": "eri"
}
},
"sessions": {
"/home/user/myproject": "myproject-main"
}
}

설정 참조Honcho 통합 가이드를 참조하세요.


오픈바이킹

볼크엔진(ByteDance)의 컨텍스트 데이터베이스로, 파일시스템 방식의 지식 계층 구조, 단계별 검색, 6가지 카테고리로 자동 메모리 추출 기능을 제공합니다.

에 가장 적합구조화된 탐색이 가능한 자체 호스팅 지식 관리
필요pip install openviking + 서버 실행 중
데이터 저장자체 호스팅(로컬 또는 클라우드)
비용무료(오픈소스, AGPL-3.0)

도구: viking_search (의미 기반 검색), viking_read (계층형: 요약/개요/전체), viking_browse (파일 시스템 탐색), viking_remember (사실 저장), viking_add_resource (URL/문서 수집)

설정:

# Start the OpenViking server first
pip install openviking
openviking-server

# Then configure Hermes
hermes memory setup # select "openviking"
# Or manually:
hermes config set memory.provider openviking
echo "OPENVIKING_ENDPOINT=http://localhost:1933" >> ~/.hermes/.env

주요 특징:

  • 계층적 컨텍스트 로딩: L0 (~100 토큰) → L1 (~2천) → L2 (전체)
  • 세션 커밋 시 자동 메모리 추출(프로필, 환경설정, 엔터티, 이벤트, 사례, 패턴)
  • viking:// 계층적 지식 탐색을 위한 URI 스킴

메모0

서버 측 LLM 사실 추출과 시맨틱 검색, 재순위 매김, 자동 중복 제거.

에 가장 적합자동 메모리 관리 — Mem0이 추출을 자동으로 처리합니다
필요pip install mem0ai + API 키
데이터 저장멤0 클라우드
비용Mem0 가격

도구: mem0_profile (모든 저장된 기억), mem0_search (의미 검색 + 재순위화), mem0_conclude (말 그대로의 사실 저장)

설정:

hermes memory setup    # select "mem0"
# Or manually:
hermes config set memory.provider mem0
echo "MEM0_API_KEY=your-key" >> ~/.hermes/.env

설정: $HERMES_HOME/mem0.json

기본값설명
user_idhermes-user사용자 식별자
agent_idhermes에이전트 식별자

뒤늦은 통찰

지식 그래프, 엔티티 해상도 및 다중 전략 검색을 갖춘 장기 메모리. hindsight_reflect 도구는 다른 제공자가 제공하지 않는 교차 메모리 통합을 제공합니다. 세션 수준의 문서 추적과 함께 전체 대화 턴(도구 호출 포함)을 자동으로 유지합니다.

에 가장 적합엔티티 관계를 활용한 지식 그래프 기반 회수
필요클라우드: ui.hindsight.vectorize.io의 API 키. 로컬: LLM API 키 (OpenAI, Groq, OpenRouter 등)
데이터 저장Hindsight 클라우드 또는 로컬 임베디드 PostgreSQL
비용사후 가격 책정(클라우드) 또는 무료(로컬)

도구: hindsight_retain (엔티티 추출과 함께 저장), hindsight_recall (다중 전략 검색), hindsight_reflect (교차 메모리 합성)

설정:

hermes memory setup    # select "hindsight"
# Or manually:
hermes config set memory.provider hindsight
echo "HINDSIGHT_API_KEY=your-key" >> ~/.hermes/.env

설치 마법사는 종속 항목을 자동으로 설치하며 선택한 모드에 필요한 항목만 설치합니다 (hindsight-client는 클라우드용, hindsight-all는 로컬용). hindsight-client >= 0.4.22가 필요합니다(구버전일 경우 세션 시작 시 자동으로 업그레이드됩니다).

로컬 모드 UI: hindsight-embed -p hermes ui start

설정: $HERMES_HOME/hindsight/config.json

기본값설명
modecloudcloud 또는 local
bank_idhermes메모리 뱅크 식별자
recall_budgetmid세심함 기억하기: low / mid / high
memory_modehybridhybrid (context + 도구), 컨텍스트 (자동 주입만), tools (도구만)
auto_retaintrue대화 순서를 자동으로 저장
auto_recalltrue각 턴 전에 자동으로 기억을 불러오기
retain_asynctrue서버에서 비동기적으로 프로세스를 유지
retain_contextconversation between Hermes Agent and the User유지된 기억에 대한 맥락 레이블
retain_tags보존된 메모리에 적용된 기본 태그; 호출별 도구 태그와 병합됨
retain_source보존된 기억에 첨부된 선택적 metadata.source
retain_user_prefixUser자동 보관된 기록을 사용자에게 제출하기 전에 사용된 라벨
retain_assistant_prefixAssistant보조가 자동 보관된 전사에서 말을 시작하기 전에 사용되는 라벨
recall_tags리콜에서 필터링할 태그

전체 구성 참조는 플러그인 README를 참조하세요.


홀로그램의

컴포지션 대수 쿼리를 위해 FTS5 전체 텍스트 검색, 신뢰도 점수, HRR(홀로그래픽 축소 표현)을 갖춘 로컬 SQLite 사실 저장소.

에 가장 적합고급 검색 기능을 갖춘 로컬 전용 메모리, 외부 종속 없음
필요아무 것도 아님( SQLite는 항상 사용 가능). HRR 대수에는 NumPy가 선택 사항임.
데이터 저장로컬 SQLite
비용무료

도구: fact_store (9가지 동작: 추가, 검색, 탐색, 관련, 추론, 반박, 업데이트, 제거, 목록), fact_feedback (신뢰 점수를 훈련하는 유용/유용하지 않음 평가)

설정:

hermes memory setup    # select "holographic"
# Or manually:
hermes config set memory.provider holographic

구성: config.yaml 아래 plugins.hermes-memory-store

기본값설명
db_path$HERMES_HOME/memory_store.dbSQLite 데이터베이스 경로
auto_extractfalse세션 종료 시 자동으로 사실 추출
default_trust0.5기본 신뢰 점수 (0.0–1.0)

독특한 능력:

  • probe — 개체 특정 대수적 회상 (사람/사물에 대한 모든 사실)
  • reason — 여러 엔티티에 걸친 구성적 AND 쿼리
  • contradict — 상충되는 사실의 자동 감지
  • 비대칭 피드백을 통한 신뢰 점수 계산 (+0.05 유용함 / -0.10 유용하지 않음)

리테인DB

하이브리드 검색(Vector + BM25 + 재순위화)을 지원하는 클라우드 메모리 API, 7가지 메모리 유형 및 델타 압축.

에 가장 적합이미 RetainDB의 인프라를 사용하고 있는 팀들
필요RetainDB 계정 + API 키
데이터 저장리테인DB 클라우드
비용월 $20

도구: retaindb_profile (사용자 프로필), retaindb_search (의미 검색), retaindb_컨텍스트 (작업 관련 context), retaindb_remember (유형 + 중요도 저장), retaindb_forget (기억 삭제)

설정:

hermes memory setup    # select "retaindb"
# Or manually:
hermes config set memory.provider retaindb
echo "RETAINDB_API_KEY=your-key" >> ~/.hermes/.env

바이트로버

brv CLI를 통한 지속적인 메모리 — 계층화된 지식 트리와 단계적 검색(퍼지 텍스트 → LLM 기반 검색). 로컬 우선이며 선택적 클라우드 동기화 지원.

에 가장 적합CLI가 있는 휴대 가능하고 로컬 우선 메모리를 원하는 개발자
필요ByteRover CLI (npm install -g byterover-cli 또는 설치 스크립트)
데이터 저장로컬(기본) 또는 ByteRover 클라우드(선택적 동기화)
비용무료(로컬) 또는 ByteRover 가격(클라우드)

도구: brv_query (지식 트리 검색), brv_curate (사실/결정/패턴 저장), brv_status (CLI 버전 + 트리 통계)

설정:

# Install the CLI first
curl -fsSL https://byterover.dev/install.sh | sh

# Then configure Hermes
hermes memory setup # select "byterover"
# Or manually:
hermes config set memory.provider byterover

주요 특징:

  • 자동 사전 압축 추출(문맥 압축이 정보를 버리기 전에 인사이트를 저장함)
  • 지식 트리가 $HERMES_HOME/byterover/ (프로필 범위) 에 저장됨
  • SOC2 Type II 인증 클라우드 동기화(선택 사항)

슈퍼메모리

프로필 회상, 의미 검색, 명시적 기억 도구, 세션 종료 대화 수집을 지원하는 Supermemory 그래프 API를 이용한 의미 장기 기억.

에 가장 적합사용자 프로파일링 및 세션 수준 그래프 구축을 통한 의미적 회상
필요pip install supermemory + API 키
데이터 저장슈퍼메모리 클라우드
비용슈퍼메모리 가격

도구: supermemory_store (명시적 기억 저장), supermemory_search (의미 유사도 검색), supermemory_forget (ID 또는 최적 일치 쿼리로 잊기), supermemory_profile (지속 프로필 + 최근 문맥)

설정:

hermes memory setup    # select "supermemory"
# Or manually:
hermes config set memory.provider supermemory
echo 'SUPERMEMORY_API_KEY=***' >> ~/.hermes/.env

설정: $HERMES_HOME/supermemory.json

기본값설명
container_taghermes검색 및 쓰기에 사용되는 컨테이너 태그입니다. 프로필 범위 태그에 대해 {identity} 템플릿을 지원합니다.
auto_recalltrue턴 전에 관련된 메모리 컨텍스트를 주입하세요
auto_capturetrue응답 후 각 사용자-어시스턴트 대화를 저장했습니다
max_recall_results10맥스는 항목을 문맥에 맞게 형식화하기 위해 떠올렸다
profile_frequency50첫 번째 턴과 매 N 턴마다 프로필 사실을 포함하세요
capture_modeall기본적으로 작거나 사소한 회전은 건너뜁니다
search_modehybrid검색 모드: hybrid, memories, 또는 documents
api_timeout5.0SDK 및 인제스트 요청 시간 초과

환경 변수: SUPERMEMORY_API_KEY (필수), SUPERMEMORY_CONTAINER_TAG (구성을 덮어씀).

주요 특징:

  • 자동 컨텍스트 펜싱 — 캡처된 턴에서 회상된 기억을 제거하여 재귀적 메모리 오염을 방지
  • 세션 종료 대화 수집을 통한 더 풍부한 그래프 수준 지식 구축
  • 프로필 정보는 첫 번째 턴과 설정 가능한 간격마다 주입됩니다
  • 사소한 메시지 필터링(“ok”, “thanks” 등은 건너뜀)
  • 프로필 범위 컨테이너 — Hermes 프로필별로 메모리를 분리하기 위해 {identity}container_tag에서 사용합니다 (예: hermes-{identity}hermes-coder)
  • 다중 컨테이너 모드 — 에이전트가 명명된 컨테이너 간에 읽기/쓰기를 할 수 있도록 enable_custom_container_tags을(를) custom_containers 목록과 함께 활성화합니다. 자동 작업(동기화, 사전 가져오기)은 기본 컨테이너에서 계속 수행됩니다.
Multi-container example
{
"container_tag": "hermes",
"enable_custom_container_tags": true,
"custom_containers": ["project-alpha", "shared-knowledge"],
"custom_container_instructions": "Use project-alpha for coding context."
}

지원: Discord · support@supermemory.com


제공자 비교

제공자저장비용도구의존성독특한 특징
혼초구름유료5honcho-ai변증법적 사용자 모델링 + 세션 범위 컨텍스트
오픈바이킹셀프 호스팅무료5openviking + 서버파일 시스템 계층 구조 + 계층적 로딩
메모0구름유료3mem0ai서버 측 LLM 추출
뒤늦은 통찰(또는 회고)클라우드/로컬무료/유료3hindsight-client지식 그래프 + 반사 합성
홀로그램지역의무료2없음HRR 대수 + 신뢰 점수
RetainDB구름$20/mo5requests델타 압축
바이트로버로컬/클라우드무료/유료3brv CLI압축 전 추출
슈퍼메모리구름유료4supermemory컨텍스트 펜싱 + 세션 그래프 수집 + 멀티 컨테이너

프로필 격리

각 제공자의 데이터는 프로필별로 격리됩니다:

  • 로컬 스토리지 제공업체(Holographic, ByteRover)는 프로필마다 다른 $HERMES_HOME/ 경로를 사용합니다
  • 설정 파일 제공자 (Honcho, Mem0, Hindsight, Supermemory)는 $HERMES_HOME/에 설정을 저장하므로 각 프로필은 자체 자격 증명을 가집니다
  • 클라우드 제공업체 (RetainDB)가 프로필 범위 프로젝트 이름을 자동으로 도출함
  • 환경 변수 제공자(OpenViking)는 각 프로필의 .env 파일을 통해 구성됩니다

메모리 제공자 만들기

자신만의 메모리 제공자 플러그인을 만드는 방법은 개발자 가이드: 메모리 제공자 플러그인을 참조하세요.