Skip to content
leeyc blog Search
← Back to blog

Hermes Agent - 자가 개선하는 AI 에이전트

Hermes Agent란?

Hermes Agent는 Nous Research에서 만든 오픈소스 AI 에이전트다. 일반적인 챗봇이나 IDE 코파일럿과 달리, 서버에 상주하면서 스스로 학습하고 점점 더 능숙해지는 자율 에이전트를 지향한다.

핵심 철학은 단순하다. 오래 실행할수록 더 똑똑해진다.

에이전트 실행 → 작업 수행 → 경험에서 스킬 생성 → 스킬 자동 개선 → 반복

왜 주목할 만한가?

특징설명
자가 개선 루프경험에서 스킬을 자동 생성하고, 사용하면서 개선
영속적 메모리세션을 넘어 기억을 유지하고 사용자 프로필을 구축
멀티 플랫폼CLI, Telegram, Discord, Slack, WhatsApp, Signal, Email 지원
유연한 인프라$5 VPS부터 GPU 클러스터, 서버리스까지
200+ 모델 지원OpenRouter, OpenAI, Anthropic, 커스텀 엔드포인트
MIT 라이선스완전 오픈소스

하네스 아키텍처 (Harness Architecture)

Hermes Agent의 핵심은 에이전트 하네스 구조다. 에이전트의 입력, 출력, 도구 호출, 메모리, 서브에이전트를 하나의 실행 프레임워크로 묶어 관리한다.

전체 구조

┌─────────────────────────────────────────────────────────────┐
│                    Hermes Agent Harness                      │
│                                                             │
│  ┌───────────┐    ┌──────────────┐    ┌──────────────────┐  │
│  │  Input     │ →  │  Agent Core  │ →  │  Output / Action │  │
│  │  Gateway   │    │  (LLM Loop)  │    │  Dispatcher      │  │
│  └───────────┘    └──────────────┘    └──────────────────┘  │
│       ↑                  ↕                     ↓            │
│  ┌─────────┐      ┌──────────────┐     ┌──────────────┐    │
│  │ Multi-   │      │  Tool        │     │  Messaging   │    │
│  │ Platform │      │  Registry    │     │  Gateway     │    │
│  │ Clients  │      │  (40+ Tools) │     │  (7 platforms│    │
│  └─────────┘      └──────────────┘     └──────────────┘    │
│                          ↕                                  │
│  ┌─────────────────────────────────────────────────────┐    │
│  │              Execution Backends                      │    │
│  │  Local │ Docker │ SSH │ Daytona │ Singularity │Modal │    │
│  └─────────────────────────────────────────────────────┘    │
│                          ↕                                  │
│  ┌──────────┐   ┌──────────────┐   ┌───────────────────┐   │
│  │ Memory   │   │  Skills      │   │  Subagent         │   │
│  │ System   │   │  Engine      │   │  Orchestrator     │   │
│  └──────────┘   └──────────────┘   └───────────────────┘   │
└─────────────────────────────────────────────────────────────┘

하네스의 역할

하네스는 에이전트의 전체 라이프사이클을 제어하는 프레임워크다.

  1. 입력 수집: 다양한 플랫폼에서 사용자 입력을 통합 수신
  2. 에이전트 실행: LLM 루프를 실행하고 도구 호출을 관리
  3. 실행 환경 격리: 6가지 백엔드로 안전한 코드 실행 보장
  4. 출력 분배: 결과를 적절한 플랫폼으로 전달
  5. 학습 루프: 작업 결과에서 스킬을 추출하고 메모리에 저장

메모리 시스템

Hermes Agent의 메모리는 세 가지 레이어로 구성된다.

메모리 구조

┌────────────────────────────────────────┐
│            Memory Architecture          │
│                                        │
│  ┌──────────────────────────────────┐  │
│  │  SOUL.md   - 페르소나/성격 정의   │  │
│  └──────────────────────────────────┘  │
│  ┌──────────────────────────────────┐  │
│  │  MEMORY.md - 에피소드 기억        │  │
│  │  (FTS5 전문 검색 + LLM 요약)      │  │
│  └──────────────────────────────────┘  │
│  ┌──────────────────────────────────┐  │
│  │  USER.md   - 사용자 프로필        │  │
│  │  (Honcho 변증법적 모델링)         │  │
│  └──────────────────────────────────┘  │
└────────────────────────────────────────┘
메모리 유형파일설명
페르소나SOUL.md에이전트의 성격과 행동 방식 정의
에피소드MEMORY.md과거 대화에서 학습한 사실과 경험
사용자 모델USER.md사용자와의 상호작용에서 구축한 프로필

특히 FTS5 기반 세션 검색은 과거 대화를 전문 검색하고, LLM이 요약하여 관련 컨텍스트를 현재 대화에 주입하는 구조다.


서브에이전트 시스템

Hermes Agent의 가장 강력한 기능 중 하나는 서브에이전트 분리 실행이다.

┌─────────────────────────────────────────┐
│          Main Agent                      │
│                                         │
│   "이 3가지 작업을 병렬로 처리해"         │
│          ↓          ↓          ↓         │
│   ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│   │Subagent 1│ │Subagent 2│ │Subagent3│ │
│   │독립 대화  │ │독립 대화  │ │독립 대화│ │
│   │독립 터미널│ │독립 터미널│ │독립 터미널│ │
│   │Python RPC│ │Python RPC│ │Python RPC│ │
│   └──────────┘ └──────────┘ └─────────┘ │
│          ↓          ↓          ↓         │
│       결과 통합 → 메인 에이전트 응답       │
└─────────────────────────────────────────┘

서브에이전트 특징


실행 백엔드

6가지 실행 환경을 지원하며, 보안 수준에 따라 선택할 수 있다.

백엔드격리 수준특징
Local없음빠르지만 격리 없음
Docker컨테이너읽기 전용 루트, 네임스페이스 격리
SSH원격 서버별도 머신에서 실행
Daytona서버리스유휴 시 하이버네이션, 온디맨드 기동
Singularity컨테이너HPC 환경용
Modal서버리스하이버네이션 지원, 비용 최적화

Docker 백엔드는 읽기 전용 루트 파일시스템, Linux 기능 제거, 네임스페이스 격리 등의 보안 기능을 기본 적용한다.


스킬 시스템

스킬은 Hermes Agent의 절차적 메모리다. 복잡한 작업을 수행한 뒤 자동으로 스킬을 생성하고, 이후 유사한 작업에서 재사용한다.

스킬 라이프사이클

작업 수행 → 패턴 인식 → 스킬 자동 생성 → 저장
    ↑                                      ↓
    └──── 유사 작업 시 스킬 호출 ← 스킬 개선 ←┘

스킬 생태계


메시징 게이트웨이

하나의 게이트웨이 프로세스로 7개 플랫폼을 동시에 관리한다.

┌──────────────────────────────────────┐
│         Messaging Gateway             │
│                                      │
│  Telegram ─┐                         │
│  Discord  ─┤                         │
│  Slack    ─┤→ Gateway Process → Agent │
│  WhatsApp ─┤                         │
│  Signal   ─┤                         │
│  Email    ─┤                         │
│  Home     ─┘                         │
│  Assistant                           │
└──────────────────────────────────────┘

크론 스케줄링

자연어로 자동화 작업을 예약할 수 있다.

# 자연어 크론 설정 예시
"매일 오전 9시에 서버 상태 보고서를 Telegram으로 보내줘"
"매주 금요일 오후 6시에 이번 주 GitHub 활동을 요약해줘"
"매일 자정에 데이터베이스를 백업하고 결과를 Slack에 알려줘"

게이트웨이를 통해 무인으로 실행되며, 결과를 설정한 플랫폼으로 전달한다.


연구/훈련 기능

Hermes Agent는 단순한 도구를 넘어 AI 연구 인프라로도 활용할 수 있다.

기능설명
배치 궤적 생성병렬 워커로 대량의 에이전트 궤적 데이터 생성
Atropos RL 통합강화학습 환경과 연동하여 에이전트 훈련
궤적 압축ShareGPT 포맷으로 내보내 모델 파인튜닝에 활용
체크포인팅중간 결과를 저장하여 연구 워크플로 지원

설치 및 시작

60초 퀵스타트

# 1. 설치 (Python, Node.js, 의존성 자동 처리)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc

# 2. 모델 설정
hermes model    # Nous Portal, OpenRouter, 커스텀 엔드포인트 선택

# 3. 실행
hermes

주요 CLI 명령어

명령어설명
hermes대화 시작
hermes model모델/프로바이더 선택
hermes tools도구 활성화 설정
hermes gateway메시징 게이트웨이 설정
hermes setup전체 설정 마법사
hermes update최신 버전으로 업데이트

대화 중 슬래시 명령어

명령어설명
/new, /reset새 대화 시작
/model [provider:model]런타임 모델 전환
/personality [name]페르소나 전환
/retry, /undo마지막 턴 되돌리기
/compress컨텍스트 압축
/skills사용 가능한 스킬 탐색

하네스 관점에서 본 Hermes Agent

에이전트 하네스의 핵심 역할은 에이전트의 실행을 구조화하고 제어하는 것이다. Hermes Agent의 하네스가 어떻게 이 역할을 수행하는지 정리하면 다음과 같다.

┌─────────────────────────────────────────────────────────┐
│                   Harness Layer                          │
│                                                         │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐  │
│  │ 입력 관리    │  │ 실행 제어    │  │ 출력/학습       │  │
│  │             │  │             │  │                 │  │
│  │ - 멀티 플랫폼│  │ - LLM 루프  │  │ - 결과 분배     │  │
│  │   입력 통합  │  │ - 도구 호출  │  │ - 스킬 추출     │  │
│  │ - 컨텍스트   │  │ - 서브에이전트│  │ - 메모리 저장   │  │
│  │   파일 로딩  │  │ - 백엔드 선택│  │ - 궤적 기록     │  │
│  │ - 메모리 주입│  │ - 보안 격리  │  │ - 크론 스케줄링  │  │
│  └─────────────┘  └─────────────┘  └─────────────────┘  │
└─────────────────────────────────────────────────────────┘

일반 에이전트 하네스 vs Hermes 하네스

구분일반 에이전트 하네스Hermes Agent 하네스
목적테스트/평가 프레임워크프로덕션 실행 프레임워크
메모리테스트 케이스 저장영속적 학습 메모리 (SOUL/MEMORY/USER)
실행 환경모킹/샌드박스6가지 프로덕션 백엔드
출력 처리평가/채점멀티 플랫폼 분배 + 스킬 생성
확장성테스트 케이스 추가스킬/도구/플랫폼 추가

정리

Hermes Agent는 “실행하면서 학습하는 에이전트” 를 하네스 아키텍처 위에 구현한 프로젝트다. 기존의 에이전트 하네스가 테스트와 평가에 초점을 맞췄다면, Hermes는 이를 프로덕션 실행 환경으로 확장했다.

에이전트 프레임워크를 평가하거나, 자체 에이전트 시스템을 설계할 때 Hermes의 하네스 구조는 좋은 참고 사례가 된다.


← Previous QMD - 로컬에서 돌아가는 마크다운 검색 엔진 Next → OpenEvals - LLM 평가 프레임워크 가이드