허메스 AI 어시스턴트 - 설치, 설정, 워크플로우 및 문제 해결

개발자를 위한 Hermes Agent 설치 및 빠른 시작

Page content

Hermes Agent은(는) 로컬 머신이나 저비용 VPS에서 실행되는 자체 호스팅(Self-hosted) 및 모델 독립형(Model-agnostic) AI 어시스턴트입니다. 이 도구는 터미널 및 메시징 인터페이스를 통해 작동하며, 반복적인 작업을 재사용 가능한 스킬(Skill)로 변환함으로써 시간이 지남에 따라 성능을 향상시킵니다.

Hermes는 로컬 LLM, 검색(Retrieval), 메모리, 라우팅 및 관찰성(Observability)을 통합된 로컬 인프라로 묶는 또 다른 자체 호스팅 어시스턴트 스택인 OpenClaw와 기능적으로 매우 유사합니다. 많은 개발자들은 2026년 4월 Anthropic이 OpenClaw의 Claude 구독 접근을 차단한 이후 Hermes로 이동했습니다. OpenClaw의 부상과 몰락 타임라인은 왜 Hermes가 제공업체 의존성 없이 지속적인 자체 호스팅 자동화를 원하는 사용자에게 자연스러운 목적지가 되었는지를 설명합니다.

Hermes를 둘러싼 자체 호스팅 어시스턴트, 검색 및 로컬 인프라의 더 넓은 그림을 보고 싶다면, AI 시스템 개요에서 Hermes가 해결하려는 문제들과 동일한 주제를 연결해 볼 수 있습니다.

배포 트레이드오프와 런타임 선택에 대해서는 2026년 LLM 호스팅: 로컬, 자체 호스팅 및 클라우드 인프라 비교에서 호스팅 지도를 제공하고, Hermes가 실행된 후의 처리량(Throughput) 및 대기 시간(Latency) 측면은 2026년 LLM 성능: 벤치마크, 병목 현상 및 최적화에서 다룹니다. 셸 명령어(hermes gateway, hermes memory, hermes doctor, 슬래시 단축키 등)의 간략한 지도는 Hermes Agent CLI 치트시트를 사용하세요. 모바일에서의 메시징이 주요 진입점이라면, 음성 스택 및 플랫폼별 설정을 위해 전화기를 통한 Hermes 음성 제어를 사용하십시오.

peronal-ai-assistant on laptop

저의 편향된 견해: Hermes는 가끔 열어보는 탭이 아니라 인프라로 취급될 때 가장 흥미롭습니다. 서비스가 안정적으로 실행되고 안정적인 홈 디렉토리를 갖추게 되면, 사용자의 프롬프트는 단순한 ‘채팅’보다는 ‘운영(Ops)‘에 가까워집니다.

Hermes Agent란 무엇이며 왜 중요한가

Hermes Agent는 Nous Research가 구축한 오픈소스 AI 에이전트입니다. 이 도구는 지속적으로 실행되도록 설계되었으며, 도구(터미널, 파일, 웹 등)를 사용하고 스킬 및 메모리 시스템을 통해 시간이 지남에 따라 자체 동작을 개선합니다.

이 가이드의 나머지 부분을 형성하는 두 가지 설계 선택 사항을 명시하는 것이 중요합니다.

첫째, Hermes는 단일 모델 제공업체에 고정되어 있지 않습니다. 공식 설정 흐름은 여러 제공업체 및 OpenAI 호환 엔드포인트를 모두 지원하며, 전환은 코드 수정이 아닌 hermes model 명령어를 통해 이루어집니다.

둘째, Hermes는 ‘대화’와 ‘실행’ 사이에 명확한 경선을 그립니다. 에이전트는 종일 대화할 수 있지만, 행동이 필요할 때는 명시적인 도구와 구성 가능한 실행 백엔드를 통해 이를 수행합니다. 이것이 바로 안전성, 재현성 및 문제 해결의 핵심 영역입니다.

비용과 라이선싱은 상쾌할 정도로 단순합니다. Hermes Agent 자체는 MIT 라이선스 하의 무료 소프트웨어입니다. 호스팅된 모델을 사용하는 경우, 지속적인 비용은 제공업체가 청구하는 비용과 동일합니다. 로컬 모델을 실행하면 API 수수료를 완전히 피할 수 있습니다.

Hermes 설정이 외부 도구 계층을 통해 Claude를 사용하는 경우, Anthropic 구독 변경을 참조하면 API 기반 청구가 이제 예상되는 경로인 이유에 대한 유용한 참고 자료를 얻을 수 있습니다.

Hermes Agent 설치

Hermes는 Linux, macOS 및 WSL2에 대한 빠른 설치 경로를 제공합니다. 공식 문서에서는 이를 의도적으로 단순하게 유지하고 있습니다.

Linux에서의 Hermes 설치

sudo apt-get update
sudo apt-get upgrade
sudo apt-get curl git
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

설치 후 셸을 다시 로드하고 CLI를 시작합니다.

source ~/.bashrc   # 또는 source ~/.zshrc
hermes

설치 프로그램은 얇은 래퍼(Wraper)에 불과한 것이 아닙니다. 설치 가이드에 따르면, 이 프로그램은 종속성, 리포지토리, 가상 환경 및 hermes 명령어를 설정한 후 사용자가 첫 번째 채팅 준비 상태로 진입할 수 있게 해줍니다.

Windows 및 Android 참고 사항

네이티브 Windows는 지원되지 않습니다. 문서에서는 WSL2를 사용하고 그 안에서 Hermes를 실행할 것을 권장합니다.

Android의 경우, Hermes는 Termux 설치 경로를 지원합니다. Termux를 감지하고 그에 따라 종속성 및 환경 설정을 적응하도록 설계되었습니다.

빠른 시작(Quickstart)

가장 빠른 첫 번째 실행은 단순히 hermes를 실행하는 것뿐이지만, 의미 있는 빠른 시작을 위해서는 모델 제공업체 선택 및 활성화할 도구 선택이라는 두 가지 추가 결정이 필요합니다.

제공업체 및 모델 선택

Hermes는 세 가지 보완적인 진입점을 제공합니다:

  • hermes model: 제공업체 및 기본 모델 선택
  • hermes tools: 도구 세트의 활성화 또는 비활성화
  • hermes setup: 주요 구성 영역에 대한 대화형 위저드 실행

최소한의 흐름은 다음과 같습니다:

hermes model
hermes tools
hermes

사실적으로 지원되는 항목에 관해서는, 공식 Quickstart는 다양한 제공업체를 나열하고 Hermes가 OpenAI 호환 API와 함께 작동함을 강조합니다. 이는 호스팅된 서비스와 자체 호스팅 엔드포인트를 모두 포함하므로 중요합니다.

도구 실행 조기 검증

Hermes를 습관화하기 전에, 사용자의 환경에서 도구 사용이 잘 작동하는지 확인하는 것이 가치가 있습니다. Quickstart는 첫 번째 기능으로 터미널 사용을 명시적으로 제안합니다.

실제로, 작은 “스모크 테스트(Smoke test)” 프롬프트는 두 가지 역할을 합니다: 터미널 도구를 확인하고 권한 프롬프트를 검증합니다.

예시 프롬프트:

Show my disk usage and the five largest directories.

Hermes가 터미널 도구를 실행할 수 없다면, 문제 해결(Troubleshooting) 섹션으로 건너뛰세요. 터미널 백엔드 구성 오류가 가장 흔한 원인 중 하나이며, 구성을 보면 해결책은 대개 명확합니다.

확장 가능한 구성

Hermes는 상태를 저장하는 위치와 구성을 해결하는 방식을 이해하는 사용자에게 보상을 줍니다. 또한 많은 “어제는 잘 작동했는데"라는 문제들이 여기서 비롯됩니다.

구성 및 상태의 위치

Hermes는 설정과 상태를 ~/.hermes에 저장합니다. 공식 구성 가이드는 구성(config.yaml), 비밀(.env), OAuth 자격 증명(auth.json), 정체성(SOUL.md) 및 메모리, 스킬, cron, 세션, 로그를 위한 폴더를 포함한 레이아웃을 문서화합니다.

이것이 중요한 이유는 두 가지입니다.

  • 사용자가 정확히 어디를 봐야 하는지 알기 때문에 디버깅이 기계적으로 이루어집니다.
  • 하나의 디렉토리가 사용자가关心的 에이전트 상태의 대부분을 포착하므로 백업이 직관적입니다.

구성 우선순위 및 config.yaml에서 비밀 유지

Hermes는 우선순위 순서로 구성을 해결합니다. 최상위에는 CLI 오버라이드가 있고, 그 다음은 config.yaml, 그 다음은 .env이며, 하단에는 기본값이 있습니다.

좋은 세부 사항으로, hermes config set은 값을 올바른 파일로 라우팅합니다: API 키는 .env로, 비비밀(non-secret) 설정은 config.yaml로 저장됩니다.

hermes config set model openrouter/meta-llama/llama-3.1-70b-instruct
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-v1-xxxxxxxx

Hermes는 또한 ${VAR_NAME} 구문을 통해 config.yaml 내부의 환경 변수 대체를 지원합니다. 이는 특정 값을 환경에 유지하면서도 구조화된 구성에서 참조하고 싶을 때 유용합니다.

샌드박스 및 실행 백엔드

Hermes는 셸 명령어가 실제로 실행되는 위치를 정의하는 여러 터미널 백엔드를 지원합니다. 구성 가이드는 local, docker, ssh, modal, daytona, singularity를 나열합니다.

의견이 있지만 맹목적인 종교적 신념은 아닌 방식으로 이를 생각하는 방법은 다음과 같습니다:

  • local은 가장 빠르고 간단하지만 격리되어 있지 않습니다
  • docker는 실용적인 안전 및 재현성 계층입니다
  • ssh는 채팅 장치를 컴퓨팅 박스에서 분리하는 깔끔한 방법입니다
  • modal 및 daytona는 “서버리스이지만 충분히 지속적"인 워크플로우에 적합합니다
  • singularity는 HPC 친화적인 옵션입니다

최소한의 Docker 백엔드 예시:

# ~/.hermes/config.yaml
terminal:
  backend: docker
  docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
  docker_volumes:
    - "/home/user/projects:/workspace/projects"
  docker_forward_env:
    - "GITHUB_TOKEN"

문서에서는 Docker 백엔드를 위한 보안 강화(예: 기능 제거 및 권한 상승 비활성화)에 대해서도 설명합니다.

스킬, 메모리 및 프로필

Hermes는 가치를 누적시키기 위한 두 가지 관련 메커니즘을 가지고 있습니다.

스킬(Skills)은 절차적 메모리입니다. Hermes는 자체 스킬을 생성, 업데이트 및 삭제할 수 있으며, 복잡한 작업을 완료한 후 접근 방식을 스킬로 저장할 것을 제안할 수 있습니다.

내장 메모리는 ~/.hermes 아래의 MEMORY.md 및 USER.md와 같은 파일로 저장되며, Hermes는 더 깊은 회상을 위해 외부 메모리 제공업체도 사용할 수 있습니다. 메모리 문서에는 여러 제공업체 플러그인이 나열되어 있으며, 메모리 제공업체 가이드에는 대화형 설정 흐름이 문서화되어 있습니다. 메모리 아키텍처(동결 스냅샷, 문자 제한, 8개의 외부 제공업체 및 유한 메모리 뒤의 철학)가 작동하는 방식에 대한 전체 기술적 분석은 Hermes Agent Memory System: How Persistent AI Memory Actually Works를 참조하세요.

동일한 머신에서 여러 독립 에이전트를 원한다면, Hermes 프로필은 격리를 제공합니다. 각 프로필은 자체 구성, 비밀, 메모리, 세션, 스킬, cron 작업 및 게이트웨이 상태를 가진 고유한 디렉토리를 갖습니다.

역할별(엔지니어, 연구원, 운영자 및 실행 워크플로우)로 프로덕션에서 잘 작동하는 스킬에 대한 더 깊은 분석은 Hermes AI Assistant Skills for Real Production Setups을 참조하세요. SKILL.md 파일 자체(YAML 메타데이터, 점진적 공개 수준, 조건부 가시성 및 허브 설치)를 작성하거나 디버깅할 준비가 되었을 때는 Hermes Agent Skill Authoring — SKILL.md Structure and Best Practices를 사용하세요.

일반적인 워크플로우

Hermes를 유지할 에이전트처럼 취급한다면, 워크플로우는 서비스 엔지니어링처럼 보이기 시작합니다.

안정적인 기준선

부패하지 않는 기준선은 다음과 같습니다:

  1. CLI에서 설치 및 첫 번째 채팅 실행.
  2. hermes model로 제공업체 및 모델 선택 후 비용 확인.
  3. 도구 세트 구성 및 터미널 실행이 로컬인지 샌드박스인지 결정.
  4. 기본값을 일정 시간 사용한 후에만 SOUL.md를 빠르게 변경합니다. 정체성 변경은 시스템 프롬프트에서 “슬롯 1"이므로 사람들이 생각하는 것보다 더 중요합니다.

축적되는 일상적 사용

Hermes에는 웹 UI가 아닌 터미널 UI가 있으며, 슬래시 명령어, 재개 가능한 세션 및 스트리밍 도구 출력을 장시간 세션을 위해 설계되었습니다.

실제로, 유용한 리듬은 다음과 같습니다:

  • 프로젝트의 명명된 세션에서 작업 실행
  • 컨텍스트가 너무 커지면 압축
  • Hermes가 반복적인 루틴을 스킬로 변환하도록 허용
  • 도구 실행이 감사 가능하도록 유지하기 위해 “질문"과 “행동” 사이의 정신적 경계 유지

24/7 접근을 위한 메시징 게이트웨이

메시징 게이트웨이는 Hermes를 터미널 앱이 아닌 어시스턴트처럼 느끼게 하는 부분입니다. 문서에서는 이를 여러 플랫폼에 연결하고, 세션을 처리하며, cron 작업을 실행하고, 메시지를 전달하는 단일 프로세스로 설명합니다.

설치는 hermes gateway setup을 통해 호출되며, 게이트웨이는 포그라운드에서 실행되거나 사용자 서비스로 실행될 수 있습니다. CLI 참조는 run, install, start, stop, status, restart와 같은 게이트웨이 하위 명령어를 문서화합니다.

다중 에이전트 백로그 및 제어된 일정 수립에 대해서는 Kanban in Hermes Agent for Self Hosted LLM Workflows를 참조하세요. 여기에서는 디스패처 제한, 의존성 체인 및 cron 기반 배칭에 대해 다룹니다.

도구를 사용하는 봇의 보안은 중요합니다. 게이트웨이 문서는 특정 플랫폼에 대한 허용 목록(Allowlist) 및 hermes pairing approve를 통해 승인이 필요한 일회성 페어링 코드를 발급하는 DM 페어링 흐름을 설명합니다.

문제 없는 업데이트

Hermes 업데이트는 일류 명령어입니다. 업데이트 가이드는 hermes update, 구성 마이그레이션 확인 및 hermes doctorhermes gateway status를 포함한 작은 업데이트 후 검증 루틴을 문서화합니다.

hermes update
hermes doctor
hermes gateway status

문제 해결 및 진단

대부분의 Hermes 실패는 신비롭지 않습니다. 사람들이 모델 계층만 확인하고 런타임 계층을 무시하기 때문에 신비로워 보입니다.

빠른 삼진법(Triage) 명령어

CLI 참조는 세 가지 명령어를 핵심 루프로 명시적으로 위치시킵니다:

  • hermes doctor: 대화형 진단
  • hermes status: 빠른 개요
  • hermes dump: 공유 가능하고 적화된 설정 요약

로그의 경우, hermes logs~/.hermes/logs에 저장된 파일을 tail합니다.

hermes doctor --fix
hermes status
hermes dump --show-keys
hermes logs errors -f

일반적인 설치 실패

FAQ 및 문제 해결 가이드는 Python 버전 문제, uv 미발견, sudo 설치와 사용자 설치 혼합으로 인한 권한 문제 등 여러 반복적인 문제와 그 해결책을 나열합니다.

이러한 오류를 만나면, 문서는 Python 업그레이드, uv 설치 및 sudo 없이 Hermes 재설치와 같은 구체적인 해결 단계를 제공합니다.

제공업체 및 모델 문제

API 키가 작동하지 않을 때, FAQ는 구성 확인, hermes model 재실행 또는 hermes config set을 통한 직접 키 설정을 권장합니다. 또한 일반적인 함정을 지적합니다: 키는 제공업체별입니다.

“모델을 찾을 수 없음” 문제의 경우, FAQ는 유효한 식별자를 선택하기 위해 hermes model을 사용하라고 하며 구성 및 세션별 오버라이드를 모두 보여줍니다.

속도 제한 및 컨텍스트 길이 문제도 다룹니다. FAQ는 429 오류 대기, 제공업체 또는 모델 전환, 압축 또는 새 세션을 통한 컨텍스트 압력 감소를 제안합니다.

터미널 백엔드 및 게이트웨이 문제

터미널 명령어가 즉시 실패하면, 구성 가이드에는 “일반적인 터미널 백엔드 문제” 섹션이 포함되어 있으며 Docker 미실행 및 누락된 SSH 변수를 포함한 백엔드별 일반적인 원인을 지적합니다. 또한 샌드박스 구성에 의문이 있을 때 로컬로 폴백하는 것이 유효한 디버깅 동작임을 명시합니다.

게이트웨이 문제의 경우, 메시징 가이드는 안전 기본값으로 허용 목록 및 페어링을 강조합니다. 즉, 많은 “봇이 침묵하는” 사건들은 실제로 권한 부여가 역할을 수행하고 있는 것입니다.

참고 자료

구독하기

시스템, 인프라, AI 엔지니어링에 관한 새 글을 받아보세요.