헬메스, 직접 실행 가능한 자기 개선 에이전트
출처: Dev.to
이 글은 Hermes Agent 챌린지에 대한 제출물입니다.
많은 AI 에이전트는 수명이 짧습니다. 하나를 설정하면 몇 가지 작업을 처리하고는, 지난 주에 무슨 일을 했는지 전혀 기억하지 못하고, 매 세션마다 컨텍스트를 다시 제공해야 하며, 설계되지 않은 무언가와 연결하려 하면 바로 무너집니다. 에이전트 시장에는 인상적인 데모는 많지만, 장기적인 실제 도구로서는 버티지 못하는 경우가 대부분입니다.
Nous Research가 만든 Hermes Agent는 MIT 라이선스로 공개되었으며, 문제에 대해 근본적으로 다른 접근 방식을 취합니다. 단일 인상적인 데모에 최적화된 것이 아니라 시간이 지날수록 스스로를 확장하도록 설계되었습니다. 실행 시간이 길어질수록 여러분의 프로젝트와 선호도에 대한 컨텍스트가 쌓이고, 더 많은 작업을 맡길수록 재사용 가능한 스킬이 생성됩니다. 코딩 코파일럿도, 챗봇 래퍼도, 일회성 파이프라인도 아닙니다. 인프라에 상주하며 메신저 플랫폼을 통해 여러분에게 다가오고, 사용할수록 점점 더 능력이 향상되는 지속형 에이전트입니다.
작성 시점에 이 프로젝트는 GitHub에서 160,000개의 스타를 받았으며 v0.14.0 버전을 제공하고 있습니다. 이는 아직 어린 도구에 비해 의미 있는 신호입니다. 이 글에서는 Hermes가 실제로 어떻게 동작하는지, 로컬에서 실행하고 실제 도구와 연결하는 방법, 그리고 OpenClaw와 LangGraph와 비교했을 때 어떤 장점이 있는지를 살펴보며, 언제 Hermes를 선택할지에 대한 솔직한 판단을 돕고자 합니다.
Hermes Agent가 실제로 무엇인지
설정 과정을 살펴보기 전에 아키텍처에 대해 잠시 짚고 넘어가면, Hermes가 어떻게 동작하는지 이해함으로써 왜 설정 단계가 중요한지 알 수 있습니다.
Hermes의 핵심은 Nous Research가 “폐쇄형 학습 루프(closed learning loop)”라고 부르는 구조입니다. 복잡한 작업을 Hermes에 맡기면, 단순히 작업을 완료하고 버리는 것이 아니라 그 상호작용에서 재사용 가능한 스킬을 자동으로 생성합니다. 이 스킬은 구조화된 절차이며, 이후 세션에서 기억하고 개선할 수 있습니다. 스킬은 ~/.hermes/skills/ 디렉터리 아래에 저장되며 인덱싱돼 에이전트가 존재를 기억하지 않아도 검색·호출할 수 있습니다. 시간이 지나면서 Hermes는 여러분의 워크플로에 맞춘 절차 라이브러리를 점점 확장합니다.
스킬 시스템과 함께 Hermes는 대화 간 지속 메모리를 유지합니다. 여기에는 프로젝트 컨텍스트, 사용자 선호도, SQLite FTS5 기반의 검색 가능한 세션 히스토리(LLM 요약 리콜 포함)가 포함됩니다. 두 주 뒤에 프로젝트를 다시 열어도 Hermes는 모든 내용을 처음부터 다시 설명할 필요 없이 관련 이전 컨텍스트를 찾아줍니다.
메모리 외에도 아키텍처는 격리된 서브 에이전트를 지원합니다. 작업에 병렬 구성 요소가 있으면 Hermes는 자체 터미널 환경과 Python RPC 세션을 가진 자식 에이전트를 독립적으로 스폰하고, 결과를 집계합니다. 이는 단일 대화 스레드에서 컨텍스트 폭발을 피하고 싶을 때, 장기 연구나 코드 작업에 특히 유용합니다.
마지막으로 Hermes는 에이전트를 메신저 플랫폼에 연결하는 게이트웨이 프로세스를 제공합니다. 노트북 터미널에서 작업을 시작하고, 통근 중에 Telegram으로 전환해도 같은 세션을 끊김 없이 이어갈 수 있습니다. 이러한 크로스‑플랫폼 연속성은 대부분의 에이전트 프레임워크가 다루지 못하는 부분입니다.
Hermes Agent 로컬 설정
설치 과정은 Linux, macOS, WSL2, Termux에서 모두 간단합니다. 단일 curl 명령으로 의존성 체인(uv, Python 3.11, Node.js, ripgrep, ffmpeg 등)을 자동 설치합니다.
1단계: 설치
터미널을 열고 다음을 실행하세요:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
설치가 끝나면 쉘을 다시 로드해 hermes 명령을 사용할 수 있게 합니다:
source ~/.bashrc # 또는: source ~/.zshrc
Windows 사용자는 초기 베타 단계인 PowerShell 지원을 이용할 수 있지만, WSL2가 더 검증된 경로입니다. PowerShell 원‑라인 명령은 다음과 같습니다:
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)
2단계: 모델 제공자 선택
Hermes의 가장 유용한 설계 결정 중 하나는 기본 모델에 락인되지 않았다는 점입니다. 대화를 시작하기 전에 다음을 실행해 모델을 선택합니다:
hermes model
대화형 선택기가 열리며 제공자와 모델을 설정할 수 있습니다. Hermes는 OpenAI, Anthropic, OpenRouter(200 개 이상의 모델 지원), Nous Portal, NVIDIA NIM, Hugging Face 등과 Kimi, MiniMax, z.ai 등 여러 옵션을 지원합니다. 완전 오프라인 실행을 원한다면 로컬 Ollama 엔드포인트를 지정할 수도 있습니다. 이후 제공자를 바꾸려면 다시 hermes model만 실행하면 됩니다. 별도의 코드 수정이나 환경 변수 조작이 필요 없습니다.
예를 들어 OpenRouter API 키를 설정하려면 설정 마법사에서 한 번만 입력하면 ~/.hermes/.env에 안전하게 저장됩니다. 매 세션마다 키를 내보낼 필요가 없습니다.
3단계: 설정 마법사 실행
직접 config 파일을 편집하는 대신, Hermes는 가장 중요한 설정을 단계별로 안내하는 마법사를 제공합니다:
hermes setup
마법사는 선호 모델, 활성화할 툴셋, 실행 백엔드(아래에서 자세히 설명) 및 메신저 게이트웨이 설정을 묻습니다. OpenClaw에서 마이그레이션하는 경우, ~/.openclaw 디렉터리를 자동 감지해 설정·메모리·스킬·API 키를 한 번에 가져올 수 있습니다.
4단계: 에이전트 시작
설정이 끝나면 인터랙티브 세션을 시작합니다:
hermes
전체 TUI가 열리며 다중 라인 편집, 슬래시 명령 자동완성, 스트리밍 툴 출력, 대화 히스토리를 지원합니다. 여기서 자연어로 작업을 입력하면 활성화된 툴을 활용해 Hermes가 reasoning 과정을 보여줍니다.
Hermes를 툴에 연결하기
이 부분이 Hermes의 핵심 가치입니다. 툴 생태계는 “툴셋”이라는 이름의 그룹으로 구성되며, 필요에 따라 켜고 끌 수 있습니다. 사용 가능한 툴과 토글 상태를 확인하려면:
hermes tools
기본 제공 툴셋에는 웹 검색, 브라우저 자동화, 비전·이미지 생성, 텍스트‑투‑스피치, 파일 작업, 셸 실행, 다중 모델 추론 등 40개가 넘는 툴이 포함됩니다. 별도 설정 없이도 일상적인 에이전트 워크플로 대부분을 커버합니다.
실행 백엔드
Hermes는 일곱 가지 서로 다른 실행 백엔드를 지원합니다: local, docker, ssh, singularity, modal, daytona, vercel sandbox. 대부분의 에이전트는 로컬 셸에서 바로 명령을 실행하는데, 이는 개인 사용에는 괜찮지만 격리·재현성·서버리스 비용 구조가 필요할 때는 한계가 있습니다.
예를 들어 민감한 파일을 다루거나 매 실행마다 깨끗한 환경이 필요하면 Docker 백엔드로 전환하면 됩니다:
hermes config set sandbox docker
프로덕션 워크로드에서 세션 사이에 에이전트를 휴면 상태로 두고 실제 실행 시에만 컴퓨팅 비용을 발생시키고 싶다면 modal·`day