옵시디언 기반 에르메스 에이전트 구축

Source: raw/articles/Clippings/옵시디언 기반 에르메스 에이전트 구축.md Type: local (Claude.ai 대화 클리핑 — 27개 메시지) By: unknown (사용자 + Claude 대화 기록) Valid as of: 2026-04-29

핵심 Takeaway

  • hermes-agent Profiles = 완전 독립 CLI 에이전트: hermes profile create dap-pm --clone으로 SOUL·메모리·스킬·세션이 완전 분리된 에이전트 생성. dap-pm chat = hermes -p dap-pm chat alias 자동 생성. terminal.cwd 절대 경로로 Obsidian 볼트와 1:1 매핑 가능 (출처: STEP 1 프로필 생성)
  • delegate_task = 임시 서브에이전트(SOUL·MEMORY·SKILLS 미상속): Hermes는 2026-04 현재 공식 멀티에이전트 미지원. delegate_task는 frozen snapshot 방식 — 각 프로필에 축적된 기억·진화가 전달되지 않음. 공식 로드맵: Issue #344(L0→L2 컨텍스트 공유) + Issue #377(공유 메모리 풀) (출처: 에이전트 간 협업 섹션)
  • Router 패턴 — shell 직접 호출로 프로필 완전 활성화: coordinator가 dap-pm chat -q "..." shell 호출 → SOUL+MEMORY+SKILLS 완전 로드 → 메모리 진화 보존. delegate_task(백지 임시 에이전트)와의 결정적 차이 (출처: 메모리·진화 보존 + 단일 진입점 섹션)
  • Shared 볼륨 + Cron 비동기 에이전트 협업: ~/vault-shared/inbox/for-dap-pm/ inbox 폴더 + 요청 파일(from/to/reply_to 프론트매터) + 5분 주기 cron 감시. Cron이 해당 프로필을 온전히 활성화하므로 협업 경험이 MEMORY에 누적 → 독립적 진화 유지 (출처: Shared 볼륨 기반 에이전트 간 협업 섹션)
  • LLM-wiki + Hermes 스킬 산출물 통합 — 마크다운 래퍼 패턴: 스킬 산출물(SVG·JSON·HTML·MP4)은 raw/에 불변 보존 + wiki/artifacts/에 마크다운 래퍼 페이지로 Obsidian 통합. 카파시의 “LLM=프로그래머, Obsidian=IDE, wiki=코드베이스” 원칙과 일치 (출처: 스킬 산출물 → LLM-wiki 볼트 통합 설계 섹션)

상세 요약

Hermes Agent 기본 구조

hermes-agent의 핵심 파일 구조:

파일/폴더역할
SOUL.md에이전트 인격·어조·커뮤니케이션 스타일 정의
memories/MEMORY.md환경 사실·컨벤션·학습 내용 저장 (최대 2,200자)
memories/USER.md사용자 프로필·선호도·커뮤니케이션 스타일 (최대 1,375자)
skills/복잡한 작업(5회+ 툴 호출) 완료 후 자동 저장되는 재사용 워크플로우
config.yaml프로필 설정 (terminal.cwd 등)

Obsidian 저장소에 AGENTS.md를 두면 hermes 실행 시 자동 로드됨. 하위 디렉토리 AGENTS.md도 점진적으로 발견·로드.

Profiles — 다중 SOUL 에이전트

hermes profile create dap-pm --clone    # API 키 복사, 메모리·세션은 신규
hermes profile create ax-instructor --clone
 
# 볼트 1:1 매핑 (절대 경로 필수)
dap-pm config set terminal.cwd /Users/yourname/vault-dap
ax-instructor config set terminal.cwd /Users/yourname/vault-ax
  • CLI alias 자동 생성: 프로필 생성 시 ~/.local/bin/<프로필명> alias 자동 생성
  • dap-pm chat = hermes -p dap-pm chat (완전 동일)
  • 각 프로필은 자체 SOUL·MEMORY·sessions·skills·cron 완전 독립

에이전트 간 협업 3패턴

패턴구현메모리 진화복잡도
delegate_task임시 서브에이전트 생성❌ (백지 상태)낮음
Shared 볼륨inbox 폴더 + 요청 파일✅ (cron이 프로필 완전 활성화)낮음
Router (coordinator)shell 호출로 프로필 직접 실행✅ (프로필 자체 활성화)중간

공식 멀티에이전트 로드맵: GitHub Issue #344 (창업자 teknium1 직접 작성) — L0(격리)→L1(결과 자동 주입)→L2(공유 메모리 풀) 3단계. Issue #377(공유 메모리 풀). 출시 일정 미정.

Router 패턴 상세

coordinator chat (단일 진입점)
  │ 작업 유형 판단
  ├─ DAP 관련 → shell: "dap-pm chat -q '...'"
  │                    ↓ SOUL + MEMORY + SKILLS 완전 로드
  │                    결과 파일 저장 → coordinator가 읽어 전달
  └─ AX 관련 → shell: "ax-instructor chat -q '...'"
                       ↓ 동일하게 완전 활성화

트레이드오프: -q 방식은 단발 호출 → 대화 이어가기 불편. 실용적 운영: 뭘 해야 할지 모를 때 coordinator, 역할 확실할 때 프로필 직접 호출.

Shared 볼륨 비동기 협업 구조

ax-instructor ──→ ~/vault-shared/inbox/for-dap-pm/ ←── dap-pm cron 감시(5분)
dap-pm        ──→ ~/vault-shared/inbox/for-ax-instructor/ ←── ax-instructor cron 감시(5분)

요청 파일 프론트매터: from, to, requested_at, priority, reply_to 처리 완료 후 done/ 폴더로 이동. 응답 지연 최대 5분.

LLM-wiki 통합 — 마크다운 래퍼 패턴

스킬 산출물 (원본)        raw/에 보존 (불변)
                                ↓
                        wiki/artifacts/에 마크다운 래퍼 페이지 생성
                        (frontmatter + 임베드/링크 + 위키링크)

산출물 유형별 처리:

  • plan 스킬 → .md 직접 통합 가능
  • architecture-diagram → HTML 원본 raw/ + wiki/에 임베드 링크
  • excalidraw → JSON 원본 raw/ + Obsidian excalidraw 플러그인 연동
  • manim-video → MP4 raw/ + wiki/에 경로 링크

Slack 연동

에이전트마다 별도 Slack 앱(Bot Token) 필요. hermes -p dap-pm slack manifest --write로 manifest 자동 생성. dap-pm gateway install && dap-pm gateway start로 독립 서비스 실행.

추천 공식 스킬

우선순위스킬프로필용도
⭐⭐⭐qmd둘 다볼트 RAG 검색 (BM25+벡터+LLM 리랭킹)
⭐⭐⭐plandap-pm운영 변경 계획서 자동화
⭐⭐⭐arxiv + Cronax-instructor주간 논문 브리핑 자동화
⭐⭐architecture-diagramdap-pmDAP 아키텍처 시각화
⭐⭐webhook-subscriptionsdap-pm장애 이벤트 자동 대응

연결되는 위키 페이지