본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

[Hermes] Hermes agent 설치 (WSL2, Ubuntu 24.04 환경)

by 3604 2026. 6. 10.
728x90

TL;DR

  • Hermes Agent는 단순 챗봇이 아니라 Memory, Tool Calling, Context Compression을 활용하여 실제 작업을 수행할 수 있는 AI Agent Framework 임
  • 설치 : curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  • 추천 설정
    • LLM Provider: OpenAI Codex
    • TTS: Edge TTS
    • Terminal Backend: Docker
    • Max Iterations: 90
    • Tool Progress Mode: all
    • Compression Threshold: 0.6 ~ 0.8
    • Session Reset: Inactivity + Daily Reset
    • Inactivity Timeout: 1440 (24시간)
    • Daily Reset Hour: 4 (오전 4시)
    • 개인 사용자는 Telegram, 팀 또는 업무 환경에서는 Slack 연동을 추천

1. Hermes agent 란?

대화할 때마다 매번 이전 맥락을 새로 주입해야 하는 일반 챗봇과 달리, 스스로 학습하고 기억을 유지하는 AI Agent 가 각광받는 추세임. AI Agent 환경 구축에 대한 관심이 커지면서, 단순히 LLM에게 질문만 하는 수준을 넘어 실제로 작업을 수행할 수 있는 Agent Framework 들이 등장하고 있음.

 

그 중 Hermes Agent GitHubHarness 기반 Agent Framework 계열에 가까운 프로젝트라고 볼 수 있음.

 

여기서 Harness란 프롬프트 엔지니어링을 통해 질문을 잘 하는 것을 넘어, 아래와 같이 AI가 실제 업무를 수행하는 환경을 구축하고 통제하는 것을 의미함

 

  • 작업 지침 및 규칙: 에이전트가 지켜야 할 파일 구조, 코딩 포맷, 필수 문서화 규칙 등
  • 사용 가능 도구: API, 외부 데이터베이스(DB), 코드 검증기(Linter) 등 AI가 특정 작업을 실행할 수 있게 쥐어주는 도구
  • 안전 장치(가드레일): AI가 엉뚱한 방향으로 나아가거나 무한 루프에 빠지지 않도록 행동의 범위를 제한하는 설정
  • 피드백 루프: AI가 오류를 냈을 때, 사람이 AI를 탓하는 대신 그 실수를 시스템적으로 다시 반복하지 않도록 환경을 고치는 프로세스

 

Hermes Agent 역시

  • Tool Calling 기반 Agent 동작
  • Context Compression 및 Memory 관리
  • 다양한 메신저 플랫폼 연동
  • Docker 기반 Sandbox 지원

등을 지원하면서, 실제 작업 가능한 AI Agent 환경 구축에 초점을 맞추고 있음.

 

이번 글에서는 WSL2 Ubuntu 24.04 환경에서 Docker Backend 기반 Hermes Agent 설치 및 초기 설정 방법을 정리함.


2. Hermes 설치 (Quick Install 실행)

hermes 설치 자체는 매우 

 

1. Hermes 공식 설치 스크립트 실행.

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

그러면 Python 환경 구성, uv 설치 (Python 패키지 및 프로젝트 관리 도구), Hermes 설치, 실행 환경 설정이 자동으로 실행 됨

 

2. 설치 완료 후 확인:

hermes --help

정상 출력되면 설치 완료.


3. Hermes 초기 설정 (hermes setup)

설치가 완료되면 아래 명령어를 실행하여 초기 설정을 진행

hermes setup

초기 설정에서는 AI 모델, Agent의 동작 방식, 메모리 관리, 컨텍스트 압축, 메시징 플랫폼 연동 등을 함께 설정하게 됨

처음 보면 항목이 많아 보이지만, 대부분은 기본값 또는 권장 설정을 그대로 사용해도 무방함

 

3.1 LLM Provider 선택

Select provider:
  ↑↓ navigate  ENTER/SPACE select  ESC cancel
   ...
 → (●) OpenAI Codex  ← currently active
   ...
   (○) custom (direct API)
   (○) Custom endpoint (enter URL manually)
   (○) Configure auxiliary models...
   (○) Leave unchanged

Hermes가 사용할 메인 LLM Provider를 선택하는 단계.

 

OpenAI Codex OAuth를 사용하려면 "OpenAI Codex" 를 선택

OpenAI Codex 는 ChatGPT 계정으로 사용할 수 있으며 현재 기준 높은 성능을 보이는 GPT-5.5 사용이 가능하단 장점이 있음

 

Custom API 또는 endpoint 를 사용하기 위한 옵션도 있음

 

3.2 TTS(Text-to-Speech) Provider 선택

Select TTS provider:
- Edge TTS (free, cloud-based, no setup needed)

Hermes의 음성 출력 기능에 사용할 TTS 엔진을 선택

 

추천 : 기본으로 제공되는 Edge TTS 

 

무료, 별도 API Key 불필요, 한국어 지원, 설정 즉시 사용 가능함.

음성 기능을 사용하지 않더라도 나중을 위해 설정해 두는 것이 좋음

 

3.3 Terminal Backend 선택

Select terminal backend:
  ↑↓ navigate  ENTER/SPACE select  ESC cancel

   (○) Local - run directly on this machine (default)
   (○) Docker - isolated container with configurable resources
   (○) Modal - serverless cloud sandbox
   (○) SSH - run on a remote machine
   (○) Daytona - persistent cloud development environment
   (○) Singularity/Apptainer - HPC-friendly container

Hermes가 어떤 환경에서 작업을 수행할 것인지 결정하는 설정

  • Local : 현재 사용 중인 PC 또는 서버에서 직접 명령을 실행한다.
  • Docker : Docker 컨테이너 내부에서 명령을 실행한다.
  • Modal : 클라우드 기반의 Serverless Sandbox 환경에서 작업을 수행한다.
  • SSH : 원격 서버에 SSH로 접속하여 작업을 수행한다.
  • Daytona : 클라우드 기반의 영구 개발 환경(Persistent Development Environment)에서 작업을 수행한다.
  • Singularity / Apptainer : HPC(고성능 컴퓨팅) 및 연구용 클러스터 환경을 위한 컨테이너 런타임이다.

 

어떤 것을 선택해야 할까?

개인 PC에서 가볍게 사용 Local
실제 Agent 환경 운영 Docker
원격 서버 활용 SSH
클라우드 개발 환경 사용 Daytona
GPU 또는 클라우드 Sandbox 활용 Modal
연구소·HPC 클러스터 사용 Singularity / Apptainer

추천 : 일반적인 개발 및 Agent 활용 목적이라면 Docker, 빠르게 테스트해보고 싶다면 Local

 

3.4 Agent Settings

3.4.1 Max iterations

◆ Agent Settings
     Guide: https://hermes-agent.nousresearch.com/docs/user-guide/configuration

  Maximum tool-calling iterations per conversation.
  Higher = more complex tasks, but costs more tokens.
  Press Enter to keep 90. Use 90 for most tasks or 150+ for open exploration.
Max iterations [90]:

Agent가 한 번의 요청을 처리할 때 최대 몇 번까지 Tool을 호출할 수 있는지 결정

 

예를 들어, "사용자 질문 → 웹 검색 → 파일 분석 → 코드 생성 → 테스트 실행 → 결과 정리" 와 같이 여러 단계가 필요한 작업에서 사용됨. 값이 높을수록 복잡한 작업을 수행할 수 있지만 응답 시간 증가, Token 사용량 증가가 발생

 

추천 : 90 (공식 권장값이며 대부분의 작업에 충분)

150 이상은 장시간 리서치나 등의 작업을 수행할 때 고려해볼 수 있음

 

3.4.2 Tool Progress Display

  Tool Progress Display
  Controls how much tool activity is shown (CLI and messaging).
    off     — Silent, just the final response
    new     — Show tool name only when it changes (less noise)
    all     — Show every tool call with a short preview
    verbose — Full args, results, and debug logs
Tool progress mode [all]:

Agent가 현재 어떤 Tool을 사용하고 있는지 얼마나 자세히 표시할지 결정

off 최종 답변만 표시
new Tool 변경 시에만 표시
all 모든 Tool 호출 표시
verbose Tool 인자 및 결과까지 모두 표시

추천 : all
Agent가 무엇을 하고 있는지 확인할 수 있으면서도 지나치게 시끄럽지 않음. 개발 및 디버깅 단계에서는 가장 적절한 설정

 

3.4.3 Context Compression

◆ Context Compression
  Automatically summarizes old messages when context gets too long.
  Higher threshold = compress later (use more context). Lower = compress sooner.
Compression threshold (0.5-0.95) [0.7]:

대화가 길어질수록 Context Window를 많이 사용하게 되는데, Hermes는 오래된 내용을 자동으로 요약하여 메모리에 저장하며, 이 기능은  Hermes의 핵심 기능 중 하나임

 

Threshold 값이 높을수록 더 늦게 압축→ 더 많은 Context 사용,
Threshold 값이 낮을수록 더 빨리 압축 → Context 절약

 

추천 : 0.6 ~ 0.8 (개발 및 리서치 작업 기준으로 가장 균형이 좋음)

너무 높은 값(0.8 이상)은 Context가 거의 가득 찬 뒤 압축이 수행되어 품질 저하가 발생할 수 있음

 

3.7 Session Reset Policy

Session reset mode:
  ↑↓ navigate  ENTER/SPACE select  ESC cancel

 → (●) Inactivity + daily reset (recommended - reset whichever comes first)
   (○) Inactivity only (reset after N minutes of no messages)
   (○) Daily only (reset at a fixed hour each day)
   (○) Never auto-reset (context lives until /reset or context compression)
   (○) Keep current settings

Hermes 세션은 시간이 지날수록 Context가 계속 누적됨.

이전 작업의 흔적이 계속 남아있으면 Token 사용량 증가, Context 오염, 응답 품질 저하가 발생할 수 있음

 

추천 : Inactivity + Daily Reset (가장 균형이 좋은 설정)

다음 조건 중 하나를 만족하면 세션이 초기화됨

  • 일정 시간 동안 사용하지 않음
  • 매일 지정한 시간 도달

초기화 전 중요한 정보는 Hermes Memory에 저장되므로 걱정할 필요는 없음

 

3.7.1 Inactivity Timeout

Inactivity timeout (minutes) [1440]:

마지막 메시지 이후 일정 시간 동안 활동이 없으면 세션을 자동으로 초기화하는 설정.

 

Hermes는 대화 기록을 계속 유지하기 때문에 세션이 너무 오래 지속되면 불필요한 Context가 누적될 수 있으며, 이를 방지하기 위해 일정 시간 이상 사용하지 않은 세션을 자동으로 정리할 수 있음

 

추천 : 1440 (24시간)

하루 작업 세션은 유지하면서도 다음 날에는 깨끗한 상태로 시작할 수 있음

 

3.7.2 Daily Reset Hour

Daily reset hour (0-23, local time) [4]:

매일 지정된 시간에 세션을 자동 초기화하는 설정

 

추천 : 4 (오전 4시)

대부분 사용하지 않는 시간대라 작업 흐름에 영향을 주지 않음

 

3.8 Messaging Platforms

Hermes의 강력한 기능 중 하나는 다양한 메신저 플랫폼과 연결할 수 있다는 점임

◆ Messaging Platforms
  Connect to messaging platforms to chat with Hermes from anywhere.
  Toggle with Space, confirm with Enter.

Telegram
Slack
Discord
WhatsApp
Signal
Email
Microsoft Teams
Google Chat
...
 

추천 : Telegram (개인용) 또는 Slack (개발팀/업무용)

설정이 어렵지 않으며 둘 다 동시에 연결하는 것도 가능

 

Telegram, Slack 연동 방법은 https://hundredbag.tistory.com/entry/Hermes-Hermes-Agent-%EC%97%90-Telegram-Slack-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0  을 참고

3.9 Service 설치

설정 마지막에는 Hermes를 백그라운드 서비스로 실행할지 결정함

 

추천 : User Service

sudo 불필요, 로그인 계정 기준 실행, 부팅 후 자동 시작 가능, 터미널 종료 후에도 계속 실행 가능.

설정 후에는 Slack이나 Telegram에서 언제든지 Hermes와 통신할 수 있음


여기까지 완료하면 기본적인 Hermes Agent 구축은 끝남.

이후에는 Memory, Skills, MCP, Cron Jobs, Multi-Agent 기능 등을 추가하여 보다 강력한 Agent 환경으로 확장할 수 있음

출처: https://hundredbag.tistory.com/entry/Hermes-Hermes-agent-설치-WSL2-Ubuntu-2404-환경 [컴라면:티스토리]

728x90