Hermes Agent(1) 시작하기 : 쓸수록 똑똑해지는 AI 에이전트(자가학습 메커니즘) - Hermes Agent로 반복 업무 자동화하기
- -
안녕하세요! 갓대희 입니다.

Claude에게 프로젝트 구조를 설명했는데, 다음 세션에서 또 처음부터 설명하고 있는 자신을 발견한 적 있는가? 대부분의 AI 에이전트는 세션이 끝나면 모든 맥락을 잃는다.
Hermes Agent는 이 문제를 정면으로 다룬다. 슬로건이 "The agent that grows with you"인데, 같은 유형의 작업을 반복하면 패턴을 마크다운 스킬 파일로 저장해서, 다음에 비슷한 요청이 들어오면 처음부터 하지 않고 학습된 방식으로 처리한다. 실측으로 동일 작업에서 40% 속도 향상이 보고됐다. (출처: The New Stack)
이 글에서는 직접 설치해보면서 겪은 내용을 중심으로, 자가학습이 실제로 어떻게 동작하는지, 비용은 얼마나 드는지, 그리고 솔직한 한계까지 정리한다.
3줄 요약
1. Hermes Agent는 반복 작업 패턴을 스킬로 자동 학습하고, 세션 간 기억을 유지하는 오픈소스 AI 에이전트다.
2. curl 한 줄로 설치, 터미널/Telegram/Discord 등 15+ 플랫폼에서 원격 제어 가능. 월 비용은 API 종량제 기준 $10~$80 수준.
3. 단, IDE 통합 없음, 토큰 오버헤드 73%, 미해결 보안 이슈(RCE), 50회 이상 반복해야 학습 효과 체감 — 프로덕션 투입 전 반드시 검토 필요.
이런 분에게 추천: 반복 작업을 자동화하고 싶은 개발자, VPS에서 24/7 에이전트를 돌리고 싶은 사람, OpenClaw에서 넘어올 곳을 찾는 사람
추천하지 않는 경우: IDE 안에서 인라인 코드 어시스턴트가 필요한 경우, 단발성 1회 작업, Windows 네이티브 환경
목차
- 프로젝트 개요 및 Nous Research 배경
- 설치 및 시작하기
- 핵심 기능 상세 (Image Generation 연결 포함)
- 기술 아키텍처 분석
- 소스코드 핵심 분석
- 활용법 및 통합
- 실전 사용 예시
- 제한사항 및 주의사항
- 트러블슈팅 Q&A
- 자율 에이전트 트렌드 맥락
1. 프로젝트 개요 및 Nous Research 배경
Nous Research는 어떤 곳인가
Nous Research는 공식 사이트, Hermes Agent 공식 문서, Hugging Face 조직 페이지를 통해 Hermes 계열 모델과 에이전트 소프트웨어를 공개하는 연구 조직임을 확인할 수 있다.
Hermes Agent 공식 소개 문구는 이를 "The self-improving AI agent built by Nous Research"라고 설명한다.
(출처: Nous Research 공식 사이트 + Hermes Agent 공식 문서 + Hugging Face NousResearch 조직 페이지)
저장소 지표 (2026-04-09 기준)
| 항목 | 규모 (실시간 변동) |
|---|---|
| GitHub 스타 | 41,273 |
| 포크 | 5,273 |
| 오픈 이슈+PR | 2,306 |
| 기본 브랜치 | main |
| 기여자 | 254 |
| 최신 릴리즈 | Hermes Agent v0.8.0 (v2026.4.8) |
| 라이선스 | MIT |
| 주 언어 | Python |
저장소 토픽 태그에는 anthropic, claude, openai, codex, openclaw, nous-research 등이 포함되어 있다.
커뮤니티 반응 : 두 달 만에 35,000 스타를 받은 이유

Hermes Agent는 2026년 2월 25일 v0.1.0 출시 이후 두 달 만에 35,000개 이상의 GitHub 스타를 기록했다.
단순한 인기가 아니라, 오픈소스 AI 커뮤니티에서 "이 방향이 맞다"는 신호가 집단적으로 터져 나온 결과다.
공식 론칭과 즉각적 바이럴
@NousResearch가 공식 론칭 트윗에서 "Meet Hermes Agent, the open source agent that grows with you"라는 메시지를 올리자마자 커뮤니티가 반응했다.
AI 전문 유튜버 Wes Roth는 다음 날 상세 분석 게시물에서 "unlike standard stateless bots, Hermes Agent features a multi-level memory system paired with persistent dedicated machine access(일반적인 stateless 봇과 달리, Hermes Agent는 다단계 메모리 시스템과 지속적인 전용 머신 접근 기능을 제공합니다.)"라며 기존 에이전트와의 차별점을 부각했다.

OpenRouter "trending all week"
출시 직후 OpenRouter가 "Hermes Agent가 이번 주 내내 트렌딩 중이며 여러 순위에 올라 있다"고 공식 확인했다.
유료 API 연동 기반의 실제 사용량 급증을 의미한다. 단순 스타가 아닌 실사용 트래픽이 급증했다는 외부 검증이다.
해커톤 187개 제출 — 플랫폼으로 확장되는 신호
출시 한 달여 만에 개최된 해커톤에 187개 프로젝트가 제출됐다($11,750 상금).
브라우저 사이드카 확장, 재귀적 LoRA 자가개선, 인지 압축 스킬 등 단순 사용을 넘어 플랫폼으로서 확장되고 있음을 보여준다. NousResearch는 "Thank you to all 187 submitters. We loved seeing the range of domains and all of the uses for Hermes Agent you found that we could never have designed around(187명의 모든 제출자분들께 감사드립니다. 여러분이 발견해주신 다양한 도메인과 Hermes Agent의 활용 사례들을 보는 것이 정말 즐거웠습니다. 저희는 절대 상상도 못 했던 그런 용도들이었어요.)"이라고 밝혔다.
OpenClaw 사용자의 이전 — "그냥 된다"
커뮤니티에서 가장 주목받는 흐름은 기존 OpenClaw 사용자의 대거 이전이다.
"I switched to Hermes and honestly so far so good! I migrated my crons, memories and keys in one night. That just works(Hermes로 바꿨는데, 솔직히 지금까지는 정말 좋네요! crons, memories, keys까지 하룻밤 만에 다 옮겼어요. 그냥 잘 됩니다.)"라는 후기가 반복 등장했다.
The New Stack 비교 분석은 OpenClaw가 잦은 업데이트로 기존 설정을 자주 깨뜨리는 반면, Hermes는 더 안정적이라는 사용자 경험을 구체적으로 기록했다.
Kevin Simback은 "내가 Hermes의 우위를 확신하지 못했던 이유는 OpenClaw 커뮤니티의 강점 때문이었는데, 이제는 자신 있게 말할 수 있다 — Hermes 커뮤니티가 압도적"이라고 밝혔다.
비기술 사용자도 진입 가능 — "나 같은 사람을 위해 만들어진 것 같다"
v0.4.0 업데이트 이후 "코드 없이, 복잡한 설정 없이, 그냥 더 나아졌다"는 비기술 사용자의 후기가 이어졌다.
코딩 없이도 쓸 수 있다는 점이 개발자 외 사용자에게도 문턱을 낮춘다.
(출처: buildmvpfast.com — v0.4.0 분석)
반복 작업에서의 실측 효과
The New Stack 분석에 따르면, Hermes가 동일 리서치 작업에서 스킬을 자동 생성한 이후 약 40% 속도 향상이 보고됐다.
스킬 학습 전후의 속도 차이가 실측으로 확인된 사례다.
(출처: The New Stack — OpenClaw vs. Hermes Agent 비교)
2. 설치 및 시작하기
원라이너 설치
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
이 한 줄이 전부다. 스크립트를 열어보면 순차적으로 꽤 많은 것을 처리한다.

install.sh가 하는 일
스크립트가 알아서 uv(패키지 매니저), Python 3.11, Node.js 22 LTS까지 깔아준다. ripgrep이나 ffmpeg 같은 부수 도구도 OS에 맞는 패키지 매니저를 찾아서 설치한다. Git clone은 SSH를 먼저 시도하고, 안 되면 HTTPS로 넘어간다. 가상환경도 자동 생성되고, systemd gateway 서비스도 원하면 함께 설치된다. 한마디로, curl 한 줄 치면 나머지는 스크립트가 처리한다.
지원 플랫폼
Linux, macOS, WSL2에서 동작한다. Windows 네이티브는 안 된다. install.sh가 Windows를 감지하면 PowerShell 인스톨러로 안내하고 멈춘다.
핵심 CLI 명령
hermes # 인터랙티브 CLI 시작
hermes update # 최신 버전으로 업데이트
hermes model # LLM 공급자 선택
hermes tools # 도구 설정 (Image Generation 등 외부 공급자 연결)
hermes gateway # 메시징 플랫폼 연결
hermes setup # 전체 설정 마법사
hermes auth # 자격증명 관리 (v0.8.0에서 구 'hermes login' 대체)
hermes setup은 설정 마법사로, v0.7.0에서 커스텀 엔드포인트를 덮어쓰지 않도록 개선됐다.
첫 실행 : 설치 후 실제 흐름
설치 후 실제로 겪게 되는 흐름을 정리한다. (출처: Hermes Quickstart 문서)
# 1. 설치
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# → Done: 77 new, 0 updated, 0 unchanged. 77 total bundled.
# → Skills synced to ~/.hermes/skills/
source ~/.zshrc # 또는 source ~/.bashrc
# 2. 첫 실행 → Setup Wizard 자동 시작
hermes
# → Starting setup wizard...
#
# "How would you like to set up Hermes?"
# → Quick setup — provider, model & messaging (recommended)
# Full setup — configure everything
#
# Quick setup: 공급자·모델 선택만 완료하면 바로 시작
# Full setup: 터미널 백엔드·메모리·압축 등 세부 설정까지 진행
#
# Quick setup → "Select provider:" 목록
# → Nous Portal (Nous Research subscription)
# OpenRouter (100+ models, pay-per-use)
# Anthropic (Claude models — API key or Claude Code) ← ⚠ 구독 토큰 사용 금지 (2026-04-04~), API 키만 허용
# OpenAI Codex
# Qwen OAuth (reuses local Qwen CLI login)
# GitHub Copilot (uses GITHUB_TOKEN or gh auth token)
# Hugging Face Inference Providers (20+ open models)
# More providers...
#
# ⚠ 2026-04-04부터 Claude Code 구독 토큰의 3자 서비스 사용이 금지됐다.
# Hermes에서 Anthropic 모델을 쓰려면 API 키(console.anthropic.com)를 발급받아야 한다.
#
# [선택사항] OpenClaw가 설치된 경우에만 표시 — 없어도 무관
# → "OpenClaw Installation Detected"
# Found OpenClaw data at ~/.openclaw
# → "Would you like to import from OpenClaw? [Y/n]:"
# Y: 메모리·스킬·크론·API 키 자동 이전 / N 또는 미설치: 다음 단계로
# 3. 바로 사용할 수 있는 기본 기능
❯ 현재 디스크 사용량 상위 5개 디렉토리 보여줘 # 터미널 명령 실행
❯ /help # 슬래시 명령 목록
❯ /personality pirate # 페르소나 변경
# 4. 세션 이어가기
hermes -c # 가장 최근 세션 재개
/를 입력하면 자동완성이 뜨며, /help, /tools, /model 등 슬래시 명령을 사용할 수 있다. 멀티라인 입력은 Alt+Enter 또는 Ctrl+J다.
ex) 설치 예시

- OpenClaw 연동 여부에 따라 OpenClaw에 되어있는 설정을 가져 갈 수 있는것으로 보인다.

- quick setup 으로 진행

⚠ 주의: Claude Code 구독 토큰의 3자 서비스 사용 금지 (2026-04-04 시행)
Anthropic은 2026년 4월 4일부터 Claude Free/Pro/Max 구독의 OAuth 토큰을 Hermes Agent, OpenClaw 등 제3자 도구에서 사용하는 것을 정책 위반으로 규정하고 기술적 차단을 적용했다. 구독 토큰은 Claude.ai 웹과 Claude Code 공식 CLI에서만 사용할 수 있다.
Hermes에서 Anthropic 모델을 쓰려면 API 키 방식(console.anthropic.com에서 발급, 종량제)을 사용해야 한다. 위반 시 사전 통보 없이 계정이 정지될 수 있다.
(출처: The Register, TechCrunch)
- 나의 경우 Anthropic - claude code 선택 (아래는 정책 변경 전 테스트 시점의 스크린샷이다)

- 구독모델 선택

- 챗 실행여부를 물어보면 Y로 진행해보자.

- 혹시 다음과 같이 오류가 발생하면, 보통 터미널 문제이다. 하기에 별도로 관련 내용도 작성해 두었다.

- 정상적으로 실행이 된 모습

config.yaml 기본 구조
설정 파일은 ~/.hermes/config.yaml이 단일 소스다. 우선순위: CLI 인자 > config.yaml > .env > 기본값.
(출처: Hermes Configuration 문서)
# ~/.hermes/config.yaml — 자주 사용하는 핵심 설정
agent:
max_turns: 90
reasoning_effort: "" # xhigh, high, medium, low, minimal, none
terminal:
backend: local # local | docker | ssh | modal | daytona | singularity
timeout: 180
persistent_shell: true
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
compression:
enabled: true
threshold: 0.50
summary_model: "google/gemini-3-flash-preview"
display:
tool_progress: all # off | new | all | verbose
show_cost: false
skills:
config: {}
security:
redact_secrets: true
hermes config edit로 편집하거나 hermes config set KEY VAL로 개별 항목을 변경할 수 있다. hermes config check는 업데이트 후 누락된 옵션을 찾아준다.
3. 핵심 기능 상세
다중 플랫폼 게이트웨이
터미널 CLI만 쓸 수도 있지만, Telegram, Discord, Slack, WhatsApp, Signal을 게이트웨이로 연결할 수 있다. 공식 문서는 14+ 플랫폼을 언급하는데, README에서 이름이 확인되는 건 이 5종이다. (출처: GitHub README)
예를 들어, Slack에서 "배포해줘"라고 보내면 에이전트가 서버에서 실행하고 결과를 돌려준다. 메시징 앱이 곧 에이전트 리모컨이 되는 셈이다.
Telegram 연동 미니 튜토리얼
가장 많이 쓰이는 Telegram 연동 방법을 정리한다. 5분이면 된다. (출처: Hermes Telegram 공식 문서)
Step 1: 봇 만들기
Telegram에서 @BotFather를 검색해서 대화를 시작한다.
/newbot을 보내면 이름과 username(끝이 bot으로 끝나야 함)을 물어본다. 완료되면 123456789:ABCdefGHI... 형태의 봇 토큰을 준다. 이 토큰은 비밀로 유지해야 한다.
상단 검색창에 @BotFather 검색 → 클릭해서 채팅 시작


채팅창에 /newbot 입력 후 전송


↓
BotFather가 질문하면 답변 입력
• "봇 이름?" → xxxx_bot (자유롭게)
• "봇 username?" → xxx
토큰 발급 완료! (채팅으로 토큰이 표시됨)

Step 2: 내 사용자 ID 확인
Telegram에서 @userinfobot에게 아무 메시지나 보내면 숫자 ID(예: 123456789)를 알려준다. username이 아니라 이 숫자 ID가 필요하다.


Step 3: Hermes에 연결
# 방법 1: 대화형 설정 (추천)
hermes gateway setup
# → Telegram 선택 → 봇 토큰 입력 → 사용자 ID 입력
# 방법 2: 수동 설정 (~/.hermes/.env에 추가)
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789 # 콤마로 여러 명 가능
# 게이트웨이 시작
hermes gateway
ex) > hermes gateway setup

- 아까 bot father가 발급해준 토큰 입력하고, user ids를 입력해주자.

Step 4: Home Channel 설정 (선택)
cron 작업 결과나 알림을 받을 채팅방을 지정할 수 있다. Home channel ID를 물어보는데, 비워두면 Skipped 처리 후 "Use your user ID as the home channel? [Y/n]"을 한 번 더 물어본다. Y를 누르면 봇과의 DM이 홈 채널이 되어 cron 결과가 DM으로 도착한다. 나중에 바꾸고 싶으면 채팅에서 /set-home을 입력하면 된다.

Step 5: 서비스 등록 + 테스트
설정이 끝나면 "Install the gateway as a launchd service?"를 물어본다. Y를 누르면 ~/Library/LaunchAgents/ai.hermes.gateway.plist에 서비스가 등록되고, 맥을 재부팅해도 게이트웨이가 자동으로 올라온다. (Linux에서는 systemd로 등록된다.)
"Start the service now?"에도 Y를 누르면 바로 시작된다. 이후 상태 확인과 로그는 다음 명령으로 가능하다:

hermes gateway status # 게이트웨이 상태 확인
tail -f ~/.hermes/logs/gateway.log # 실시간 로그 보기
Telegram에서 봇에게 메시지를 보내본다. 응답이 오면 성공이다.
ex) 하이 ~~ 라고 보내고 로그를 확인

- 로그에 찍히는 모습

- 응답이 왔다. 연결 성공~!

보안 주의: TELEGRAM_ALLOWED_USERS를 반드시 설정하라. 비워두면 기본적으로 모든 사용자가 거부된다. 봇 토큰이 유출됐다면 BotFather에서 /revoke로 즉시 폐기하라.
이제 Telegram에서 "현재 프로젝트 상태 요약해줘"라고 보내면 에이전트가 서버에서 실행하고 결과를 돌려준다. cron과 결합하면 "매일 아침 9시에 AI 뉴스 요약을 Telegram으로 보내줘" 같은 자동화도 가능하다.
40+ 내장 도구
README에는 "40개 이상"이라고 적혀 있는데, 실제로 tools/ 디렉토리를 열어보면 Python 파일이 50개 넘게 들어 있다(2026-04-07 기준). 파일 실행, 웹 검색, 코드 편집 같은 기본기부터 브라우저 제어, 이미지 분석까지 범위가 넓다.
Image Generation 연결하기 : Codex 인증 5단계
도구 중 Image Generation은 외부 공급자 연결이 필요하다. hermes tools 메뉴에서 공급자와 인증을 지정하면 바로 쓸 수 있다. 가장 간편한 방법은 이미 로그인된 Codex 인증을 재사용하는 것이다.
Step 1: 먼저 업데이트
hermes update
설정을 바꾸기 전에 업데이트부터 하는 습관을 들이자. 빠른 릴리즈 사이클(3~5일 간격) 특성상, 구 버전에서 공급자 설정이 달리 동작할 수 있다.
ex) > hermes update

업데이트 흐름은 단순히 최신 코드를 내려받는 것 이상이다. 로컬 수정사항이 있을 경우 아래 단계를 자동으로 처리한다.
① 로컬 변경사항 자동 스태시
로컬 수정이 감지되면 pull 전에 자동으로 git stash를 실행해 변경사항을 보존한다. 스태시 ref는 화면에 출력되므로 나중에 그대로 복원할 수 있다.
② 최신 커밋 pull
업스트림에서 새 커밋을 받아온다. 빠른 릴리즈 사이클 특성상 수백~수천 개의 커밋이 한 번에 들어오는 경우도 있다.
③ 스태시 복원 시도 → 충돌 가능
"Restore local changes now?" 프롬프트에서 Y를 선택하면 stash pop을 시도한다. 업스트림 변경과 충돌이 생기면 충돌 파일 목록을 보여주고, 스태시는 그대로 유지된다(nothing is lost).
④ 클린 상태로 리셋
충돌 발생 시 "Reset working tree to clean state?" 프롬프트가 뜬다. Y를 선택하면 working tree를 깨끗한 상태로 되돌려 Hermes가 바로 실행 가능한 상태가 된다. 로컬 수정은 스태시에 남아 있으므로 작업을 잃지 않는다.
⑤ 수동 복원
나중에 로컬 수정을 다시 적용하려면 출력된 stash ref를 사용한다.
git stash apply <stash-ref>
⚠ 충돌이 두렵다면: 공급자 설정 변경 전에 로컬 수정사항을 커밋하거나 별도 브랜치에 백업해두면 충돌 없이 클린하게 업데이트할 수 있다.
그리고 나의 경우 hermes agent 기본 model도 codex 5.5로 변경 해보려한다.
> hermes model : Oepnai Codex 선택

- gpt-5.5 선택


Step 2: tools 메뉴 진입
hermes tools
실행하면 인터랙티브 메뉴가 뜬다.
hermes tools
Manage tools
> Reconfigure an existing tool's provider or API key ← 여기 선택
View tool status
ex) > hermes tools
- 위처럼 선택

Step 3: 기존 tool 설정 다시 고르기
"Reconfigure an existing tool's provider or API key"를 선택한다. 이미 설치된 도구 중 공급자나 API 키를 바꾸고 싶은 항목을 이 메뉴에서 재설정한다.
Step 4: Image Generation tool 선택
Select a tool
Code Analysis
> Image Generation ← 선택
Web Search
Data Analysis

Step 5: 인증 공급자 선택 → 완료
Image Generation
Select authentication provider
> codex auth ← 선택
Other providers
"codex auth"를 고르면 이미 로그인된 Codex 자격증명을 그대로 재사용한다. 별도 API 키 입력 없이 끝난다.


설정 후 사용 방법
설정이 끝나면 Hermes CLI에서 자연어로 이미지 생성을 요청할 수 있다.
> "AI로 일하는 스마트한 습관을 주제로 카드뉴스 이미지 만들어줘"
에이전트가 Image Generation 도구를 호출해 이미지를 생성하고 결과 경로를 돌려준다. cron과 결합하면 정기 뉴스레터용 이미지 자동 생성도 가능하다.
ex)


- 꽤 오랜 시간이 걸린다

- 1분 42초 안에 완료

- 너무 심플한 프롬프트였지만 결과도 확인.

⚠ codex auth 선택 전 확인 사항
Codex CLI(cdd)가 먼저 로그인되어 있어야 한다. codex auth 옵션은 Codex의 인증 토큰을 Hermes가 위임받아 사용하는 방식이므로, Codex에 로그인이 안 된 상태라면 "Other providers"에서 API 키를 직접 입력해야 한다.
( 그리고 지금은 codex에서 제3자용 구독 인증 사용(API방식이 아니라 codex 인증을 사용한 방금 위 연동 방식이라고 이해하면 될 것 같다)을 막지 않는것으로 보이는데, 이런 트렌드는 자주 변경되니... 항상 조심하고 안전하게 사용하려면 API 연동 방식을 사용하자. 나의 경우 이미 Google Antigravity는 open code로 사용하다 영구 정지 먹었다. )
cron 스케줄러
"매일 아침 9시에 일일 보고서 만들어줘" 같은 반복 작업을 걸어둘 수 있다. 내부적으로는 gateway가 60초마다 tick()을 호출하고, 파일 기반 락(~/.hermes/cron/.tick.lock)으로 중복 실행을 막는다. 결과가 없으면 알림을 보내지 않는다.
(출처: cron/scheduler.py)
다만 60초 폴링이라서 실시간 반응이 필요한 작업에는 맞지 않다.
병렬 서브에이전트

하나의 작업을 여러 에이전트에 나눠서 동시에 처리할 수 있다. README 표현으로는 "Spawn isolated subagents for parallel workstreams"이다. (출처: GitHub README)
예를 들어 "테스트 작성해"와 "문서 업데이트해"를 동시에 돌릴 수 있다. 각 서브에이전트는 독립된 컨텍스트와 터미널 세션을 가지고 있어서 서로 간섭하지 않는다.
구현체는 tools/delegate_tool.py이고(출처: tools/delegate_tool.py), 소스코드를 보면 안전장치가 몇 가지 있다:
동시에 돌릴 수 있는 자식 에이전트는 최대 3개(MAX_CONCURRENT_CHILDREN = 3). 에이전트가 에이전트를 만들고 그 에이전트가 또 에이전트를 만드는 무한 재귀는 깊이 2단계(MAX_DEPTH = 2)에서 차단된다. 자식 에이전트에서는 delegate_task, memory, execute_code 같은 위험한 도구도 사용할 수 없다.
호출은 단일 작업(goal) 또는 배열 배치(tasks)로 delegate_task()에 넘기면 된다.
4. 기술 아키텍처 분석

언어 구성
코드베이스의 93%가 Python이다. 나머지는 TeX, Shell 등이 조금씩 섞여 있다.
(출처: GitHub API languages 엔드포인트 직접 조회, 비율은 직접 계산값)
디렉토리 구조
hermes-agent/
├── agent/ # 핵심 에이전트 루프·메모리·모델
│ ├── memory_manager.py
│ ├── memory_provider.py
│ ├── builtin_memory_provider.py
│ ├── skill_utils.py
│ ├── skill_commands.py
│ ├── smart_model_routing.py
│ ├── credential_pool.py
│ └── anthropic_adapter.py
├── gateway/ # 플랫폼별 메시징
│ ├── channel_directory.py
│ ├── config.py
│ ├── delivery.py
│ ├── session.py
│ └── platforms/
├── skills/ # 카테고리별 스킬 (24+ 폴더)
├── tools/ # 도구 모듈 (50+ Python 파일)
└── cron/ # 스케줄러
├── scheduler.py
└── jobs.py
(출처: GitHub API git/trees 직접 조회)
agent/가 에이전트 루프를 돌리고, gateway/가 메시징 입출력을 처리하고, skills/에 학습된 스킬이 쌓이고, tools/에 실행 도구가 모여 있다. 역할별로 디렉토리가 나뉘어 있어서 코드를 따라가기 수월하다.
UV 패키지 매니저
install.sh는 uv를 사용해 Python 가상환경과 의존성 설치를 구성한다.
5. 소스코드 핵심 분석
자가학습의 실제 구현: 스킬 시스템
스킬은 구조화된 마크다운 파일 형식으로 저장된다. agent/skill_utils.py가 YAML frontmatter를 파싱해 스킬 메타데이터를 관리한다.
# skill_utils.py 핵심 상수
PLATFORM_MAP = {"macos": "darwin", "linux": "linux", "windows": "win32"}
EXCLUDED_SKILL_DIRS = frozenset((".git", ".github", ".hub"))
def parse_frontmatter(content: str) -> Tuple[Dict[str, Any], str]:
...
(출처: agent/skill_utils.py)
macOS/Linux/Windows별로 스킬이 다르게 동작할 수 있어서, 플랫폼 매핑을 코드 수준에서 관리하고 있다.
스킬 파일 실물 예시
스킬은 ~/.hermes/skills/에 마크다운 파일로 저장된다. YAML frontmatter에 메타데이터, 본문에 절차를 기술하는 구조다.
(출처: Hermes Skills 문서)

---
name: my-deploy-script
description: 프로덕션 배포 자동화
version: 1.0.0
platforms: [macos, linux]
metadata:
hermes:
tags: [devops, deploy]
category: devops
requires_toolsets: [terminal]
---
# 프로덕션 배포
## When to Use
"배포해줘", "deploy to production" 등의 요청 시 활성화.
## Procedure
1. 현재 브랜치가 main인지 확인
2. 테스트 스위트 실행 (`npm test`)
3. 빌드 생성 (`npm run build`)
4. 원격 서버에 rsync로 전송
## Pitfalls
- main 외 브랜치에서 실행 시 경고 후 중단
- 테스트 실패 시 배포 차단
## Verification
배포 URL에 HTTP 200 응답 확인
스킬은 3단계로 로드된다:
Level 0(메타데이터 목록, ~3k 토큰)
→ Level 1(전체 내용 로드)
→ Level 2(참조 파일).
복잡한 작업(5회 이상 tool call) 완료 후 에이전트가 자율적으로 이런 파일을 생성하며, 설치된 스킬은 /my-deploy-script처럼 슬래시 명령으로 자동 등록된다.
agentskills.io 개방형 표준
복잡한 작업 후 에이전트가 경험을 구조화된 마크다운 스킬 파일로 자동 합성한다. README와 공식 Skills 문서는 Hermes가 agentskills.io 개방형 표준과 호환된다고 설명한다.
(출처: GitHub README + Hermes Skills 문서 + agentskills.io)
이 포맷은 Anthropic이 원안을 만들어 오픈 스탠다드로 공개한 것이다. Hermes 외에 Claude Code, GitHub Copilot, Cursor, OpenAI Codex, Gemini CLI 등 30개 이상의 에이전트 도구가 지원한다. Hermes에서 만든 스킬을 다른 플랫폼에서도 쓸 수 있고, 반대도 가능하다. 스킬이 특정 도구에 묶이지 않고 개발자가 가져갈 수 있는 구조다.
메모리 관리자 구조
agent/memory_manager.py를 보면, 기본 메모리(MEMORY.md + USER.md)는 항상 로드되고 빼낼 수 없다.
외부 플러그인 메모리(Honcho 등)는 1개만 연결할 수 있다. 두 번째를 연결하려 하면 경고가 뜨고 거부된다.
(출처: agent/memory_manager.py)
Honcho랑 다른 외부 메모리를 동시에 쓰고 싶다면, 현재로서는 방법이 없다.
install.sh 구조 요약
# install.sh 처리 순서 (요약)
1. OS 감지 → Windows는 PowerShell로 안내 후 중단
2. UV 없으면 다운로드 설치
3. Python 3.11 설치 (UV 경유)
4. Node.js 22 LTS 다운로드
5. ripgrep, ffmpeg 패키지 설치
6. Git clone (SSH → HTTPS fallback)
7. uv pip install (가상환경)
8. systemd gateway 서비스 선택 설치
6. 활용법 및 통합
자가학습의 실체 : 모델 훈련이 아니다

오해하기 쉬운 부분부터 짚고 넘어가자. Hermes의 "자가학습"은 LLM 모델 자체를 파인튜닝하는 게 아니다.
실제로는 반복 작업 패턴을 마크다운 파일로 구조화해서 저장하는 방식이다.
작업 중 도구 호출이 5회 이상 발생하거나, 에러를 복구하거나, 사용자가 수정을 가하면 에이전트가 그 과정을 분석해서 재사용 가능한 스킬 파일을 ~/.hermes/skills/에 저장한다.
(출처: Inside Hermes Agent - mranand.substack.com)
그래서 한 번만 쓰는 다양한 작업에서는 효과가 거의 없다. 같은 유형의 작업을 반복할수록 체감이 커진다.
커뮤니티 보고를 종합하면 대략 이렇다:
| 구분 | 학습 전 (처음 사용) | 학습 후 (10~20회 반복 후) |
|---|---|---|
| 브리핑 | 매번 같은 설명 반복 | 설명 없이 바로 시작 |
| 실행 속도 | 기준선 | 2~3배 향상 보고 |
| 질문 빈도 | 이미 답한 것도 다시 질문 | 알고 있는 것은 묻지 않음 |
| 세션 연속성 | 매 세션 처음부터 | 과거 세션 검색 가능 |
위 비교는 커뮤니티 보고 종합이며, 실제 효과는 작업 유형과 모델에 따라 달라진다.
(출처: Lushbinary Developer Guide, byteiota tutorial)
자가학습 5가지 메커니즘
1) FTS5 세션 검색 + LLM 요약
모든 CLI·메시징 세션이 ~/.hermes/state.db(SQLite)에 저장되며, FTS5 전문검색으로 과거 대화를 조회한다.
지난주에 X 배포 건 논의했나?"와 같은 cross-session 질의에 응답할 수 있다.
(출처: Hermes Sessions 문서)
단순히 대화를 저장하는 것과 검색까지 되는 것은 실사용에서 체감이 다르다.
2) 자율 스킬 생성
복잡한 작업(5회 이상 tool call) 완료 후 에이전트가 자율적으로 스킬 파일을 생성한다. 다음번에 비슷한 작업이 들어오면 학습된 스킬을 재사용한다.
3) 사용 중 스킬 자동 개선
기존 스킬을 실행하면서 더 나은 방법을 발견하면 스킬 자체를 갱신한다.
4) Honcho 기반 사용자 모델링
Honcho는 AI-native 메모리 백엔드인데, 대화를 통해 "이 사용자는 어떤 사람인가"를 추론해서 프로파일을 쌓아간다. v0.7.0에서 플러그인 시스템으로 전환됐다. 사용자 카드 조회(honcho_profile), 시맨틱 검색(honcho_search), LLM 합성 컨텍스트(honcho_context), 사실 저장(honcho_conclude) 4개 툴을 쓸 수 있다.
5) agentskills.io 개방형 표준 호환
앞서 설명한 스킬 표준. 다른 에이전트 플랫폼과 스킬을 공유할 수 있다.
터미널 백엔드 6종
에이전트가 명령을 실행하는 환경을 고를 수 있다. 로컬 머신에서 바로 돌릴 수도 있고, Docker로 격리할 수도 있고, 아예 서버리스에 맡길 수도 있다.
| 백엔드 | 특징 |
|---|---|
| local | 로컬 머신 직접 실행 |
| Docker | 컨테이너 격리 환경 |
| SSH | 원격 서버 연결 |
| Daytona | 서버리스 영속성·휴면 지원 |
| Singularity | HPC/클러스터 환경 |
| Modal | 서버리스 영속성·휴면 지원 |
local/Docker는 개발용, SSH는 서버 운영, Daytona/Modal은 서버리스, Singularity는 연구 클러스터용이다.
모델 공급자 전환
hermes model 한 번이면 코드 수정 없이 모델을 바꿀 수 있다.
Nous Portal, OpenRouter(200+ 모델), OpenAI, z.ai/GLM, Kimi/Moonshot, MiniMax, 커스텀 엔드포인트까지 지원한다. 오늘은 Claude로 쓰다가 내일은 로컬 모델로 바꾸는 게 가능하다.
ACP: 에디터 MCP 통합
VS Code, Zed, JetBrains에서 이미 쓰고 있는 MCP 서버가 있다면 Hermes에 그대로 연결할 수 있다.
에디터에서 설정한 MCP 도구들을 에이전트가 바로 가져다 쓰는 구조다.
OpenClaw 마이그레이션
OpenClaw 쓰고 있었다면 hermes claw migrate 한 줄로 옮길 수 있다.
페르소나, 메모리, 스킬, API 키, 워크스페이스 설정을 자동으로 가져온다. 처음부터 다시 설정할 필요 없다.
ex) 이미 openclaw에 연결했던 supabase 설정이 살아있는지 확인해 보았다. 대부분 잘 마이그레이션 되어 있는 모습

7. 사용 예시
시나리오 A: 처음 5분 — 터미널에서 바로 첫 작업 실행하기
Hermes를 처음 쓴다면 게이트웨이 설정 없이 터미널 CLI만으로 시작하는 게 가장 빠르다. API 키 하나면 충분하다.
(출처: Hermes Quickstart 공식 문서)
# 1. 설치 (완료 시 생략)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc # 또는 source ~/.bashrc
# 2. 초기 설정 (처음 한 번만)
hermes setup
# → LLM 공급자 선택: OpenAI / Anthropic / OpenRouter 중 택 1
# → API 키 입력
# → 게이트웨이: "CLI (터미널)"을 선택하면 메시지 앱 없이 바로 사용 가능
# 3. 에이전트 시작
hermes
# 4. 이제 자연어로 작업을 입력하면 된다
# 예시 입력:
# > "현재 디렉토리의 파이썬 파일 목록을 보여줘"
# > "README.md를 읽고 핵심 내용을 한국어로 요약해줘"
# > "날씨 API를 호출하는 파이썬 코드 작성 후 바로 실행해줘"
에이전트가 작업을 받아 터미널에서 직접 실행하고 결과를 반환한다.
처음에는 스킬 저장소가 비어 있지만, 같은 종류의 작업을 반복하면 에이전트가 패턴을 인식해서 스킬 파일을 자동으로 만든다. 다음번에 비슷한 요청이 들어오면 그 스킬을 재사용한다.
시나리오 B: 월 $5 클라우드 서버에서 개인 비서 에이전트 운영
VPS(Virtual Private Server)는 클라우드에서 빌려 쓰는 가상 서버다.
DigitalOcean, Vultr, Hetzner 같은 서비스에서 월 $5(약 7,000원) 정도면 가장 저렴한 서버 한 대를 빌릴 수 있다.
내 PC를 24시간 켜둘 필요 없이, 이 서버에 Hermes를 설치해두면 Telegram/Discord로 언제든 에이전트에게 지시할 수 있다.
README도 "$5 VPS, GPU 클러스터, 서버리스 인프라 어디서나 운용 가능"이라고 명시하고 있다.
아래는 구성 단계 예시이다.
# 1. VPS에 Hermes 설치
ssh user@your-vps
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
# 2. 저비용 모델 설정 (OpenRouter 예시)
hermes model # → OpenRouter 선택 후 API 키 입력
# 또는 직접 .env에 기입:
# echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.hermes/.env
# 3. Telegram 게이트웨이 연결
hermes gateway # → Telegram 선택 후 Bot Token 입력
# 4. systemd 서비스로 상시 실행 (install.sh가 자동 설정)
sudo systemctl enable hermes-agent
sudo systemctl start hermes-agent
# 5. Telegram에서 메시지 전송 → 에이전트가 서버에서 자율 실행 후 결과 반환
(출처: GitHub README + Quickstart 문서)
cron 스케줄러를 쓰면 매일 오전 보고서 생성, 매시간 모니터링 같은 작업을 자동으로 돌릴 수 있다. terminal.backend을 docker로 바꾸면 에이전트가 컨테이너 안에서만 실행되니까, VPS 본체를 건드릴 걱정이 줄어든다.
시나리오 C: Gemma 4 + Hermes + OpenClaw 조합
README에 Gemma 4와 Hermes, OpenClaw를 함께 사용하는 조합이 명시되어 있으며, 관련 YouTube 영상에서 시연된다
(영상 내 세부 내용은 직접 확인하지 않아 이 글에서 다루지 않는다).
OpenClaw에서 Hermes로 마이그레이션 후 Gemma 4를 로컬 또는 Nous Portal에서 모델로 선택하는 구성이 가능하다는 점은 README에서 확인된다.
시나리오 D: 언제 Hermes를 선택하고, 언제 다른 도구를 선택하는가
| 상황 | 권장 선택 |
|---|---|
| 장기 사용자 메모리가 필요한 개인 에이전트 | Hermes |
| 여러 메시징 플랫폼에 동일 에이전트 연결 | Hermes |
| 자율 스킬 생성·재사용이 핵심 요구사항 | Hermes |
| 단순 1회성 자동화 스크립트 | 오버스펙 — 경량 도구 권장 |
| Windows 네이티브 환경 필수 | Hermes 미지원 (WSL2로 우회 가능) |
| 기존 OpenClaw 기반 워크플로우 | hermes claw migrate로 전환 검토 |
정리하면, Hermes는 반복 사용하면서 학습시키는 용도에 맞다.
한 번 쓰고 버릴 자동화 스크립트나 Windows 네이티브 환경이라면 다른 도구가 낫다.
8. 제한사항 및 주의사항
Windows 네이티브 미지원
Windows에서 install.sh를 실행하면 "PowerShell 인스톨러를 쓰라"는 안내와 함께 멈춘다. 공식 지원은 Linux, macOS, WSL2뿐이다.
WSL2에서는 잘 돈다. 다만 /mnt/c/ 같은 Windows 네이티브 파일시스템을 쓰면 IO가 느리니까, WSL2 내부 경로에서 작업하는 게 좋다.

자가학습의 한계
에이전트가 잘못된 방법을 "학습"할 수도 있다. 예를 들어 프로덕션 DB에 직접 접속하는 패턴을 스킬로 저장해버리면, 다음에도 같은 방식으로 접근한다. 소스코드에 스킬 생성 후 검증 로직이 있긴 하지만, 초기에는 ~/.hermes/skills/에 생성된 스킬 파일을 직접 열어서 확인하는 습관을 들이는 게 안전하다.
그리고 10가지 서로 다른 작업을 한 번씩 하면 학습 효과는 거의 없다. 같은 유형의 작업을 최소 10~20회 이상 반복해야 눈에 띄는 개선이 생긴다. 로컬 70B 이하 모델에서는 도구 선택과 멀티스텝 계획 품질도 떨어지므로, 학습 효과를 기대하려면 Claude나 GPT급 모델을 쓰는 게 낫다.
외부 메모리 공급자 제약
앞서 설명한 대로, 외부 메모리 플러그인은 1개만 쓸 수 있다. Honcho를 연결했으면 다른 외부 메모리는 동시에 못 쓴다.
메모리 용량 제한
MEMORY.md는 2,200자(약 800 토큰), USER.md는 1,375자(약 500 토큰)가 상한이다. 용량 초과 시 에러가 발생하고 자동 삭제는 되지 않는다. 공식 문서는 80% 초과 시 수동으로 정리하라고 권고한다. 장기 사용 시 메모리를 주기적으로 정돈해야 하는 부담이 있다.
IDE 통합이 없다
VS Code 플러그인이 없고, Cursor처럼 인라인 자동완성도 안 된다. 터미널과 메시징 앱만 지원한다. 코드를 짜면서 옆에서 도움받고 싶은 사람에게는 맞지 않는다. MCP로 에디터를 연결할 수는 있지만, IDE에 녹아든 경험과는 다르다.
보안: 자격증명 보호
에이전트가 브라우저를 직접 제어하니까, 악의적인 프롬프트가 API 키 같은 자격증명을 빼가는 게 이론적으로 가능하다. v0.7.0에서 이를 막기 위해 브라우저 URL과 LLM 응답에서 시크릿 패턴을 스캔하는 레이어가 추가됐다. URL 인코딩, base64 인코딩 경로도 잡아내고, 보호 대상에 .docker, .azure, .config/gh 디렉토리까지 추가됐다.
다만 스캔이 모든 공격을 잡아낸다는 보장은 없으므로, Docker 백엔드로 격리하는 것이 안전하다.
보안: 미인증 RCE 취약점 (주의)
2026-04-09 기준, webhook을 통한 미인증 원격 코드 실행(RCE) 이슈(#6440)와 API 서버를 통한 미인증 RCE 이슈(#6439)가 공개 보고 상태다. 외부 네트워크에 노출된 환경에서 운영할 경우 반드시 해당 이슈의 패치 여부를 확인해야 한다.
토큰 오버헤드: 호출당 73%가 고정비

커뮤니티 분석(Issue #4379)에 따르면, 매 API 호출마다 도구 정의와 시스템 프롬프트가 고정으로 붙어서 호출당 약 73%가 고정 오버헤드다. 한 사용자가 3개 게이트웨이로 하룻저녁 돌렸더니 약 390만 토큰이 나갔다고 한다. API 키 종량제를 쓴다면 비용에 직접 영향이 있으므로, 불필요한 도구를 줄이는 progressive tool loading이 제안됐지만 아직 구현 중이다.
그래서 한 달에 얼마나 나오나?
소프트웨어 자체는 무료(MIT 라이선스)다. 비용이 나가는 건 API 사용료와 서버 호스팅비다.
| 사용 패턴 | 월 API 비용 (추정) | 비고 |
|---|---|---|
| 가벼운 사용 (하루 10회 대화) | $10~$30 | CLI 위주 |
| 중간 사용 (하루 50회) | $30~$80 | 게이트웨이 1~2개 |
| 헤비 사용 (게이트웨이 3개 상시) | $100~$400+ | Telegram은 CLI 대비 토큰 2~3배 |
| 로컬 모델 (Ollama) | $0 | 48GB+ RAM 필요, 70B 이하 모델은 품질 저하 |
위 수치는 커뮤니티 보고와 토큰 오버헤드 분석(Issue #4379)을 기반으로 한 추정이다. 실제 비용은 사용하는 모델, 공급자, 작업 복잡도에 따라 달라진다. 최신 API 가격은 각 공급자 공식 페이지에서 확인해야 한다.
비용 절감 팁: CLI를 기본으로 쓰고(Telegram 대비 토큰 절반), 미사용 도구 카테고리를 비활성화하면 요청당 ~3,500 토큰을 아낄 수 있다. 루틴 작업은 DeepSeek이나 Kimi 같은 저가 모델에 맡기고, 복잡한 작업에만 Claude/GPT를 쓰는 전략이 커뮤니티에서 추천된다.
빠른 릴리즈 속도의 양면
v0.1.0(2026-02-25)부터 v0.8.0(2026-04-08)까지 5주 만에 8번의 메이저 릴리즈를 냈다. 3~5일 간격이다. 활발한 개발의 신호이지만, 문서가 코드를 따라가지 못하는 구간이 생길 수 있고, 업데이트 후 기존 설정이 깨지는 경우도 보고되고 있다. 오픈 이슈+PR은 2026-04-09 기준 2,306개다.
Hermes vs Claude Code vs Cursor: 뭐가 다른가?
가장 많이 받는 질문이 "이미 Claude Code(또는 Cursor) 쓰고 있는데, Hermes는 뭐가 달라?"인 것 같다.
결론부터 말하면 카테고리 자체가 다르다.
Claude Code와 Cursor는 IDE 안에서 코드를 도와주는 "코딩 어시스턴트"이고, Hermes는 서버 위에서 알아서 돌아가는 "자율 에이전트"다.
| 비교 항목 | Hermes Agent | Claude Code | Cursor |
|---|---|---|---|
| 카테고리 | 자율 에이전트 | 코딩 어시스턴트 (CLI) | 코딩 어시스턴트 (IDE) |
| 장기 메모리 | MEMORY.md + USER.md + SQLite FTS5 | CLAUDE.md (프로젝트별) | .cursorrules |
| 자가학습 (스킬 자동 생성) | O | X | X |
| 24/7 자율 실행 | O (cron + 게이트웨이) | X | X |
| 메시징 플랫폼 연동 | Telegram, Discord, Slack 등 15+ | X | X |
| IDE 통합 | X (터미널 전용) | VS Code, JetBrains | 자체 IDE |
| 인라인 코드 자동완성 | X | X | O |
| 모델 선택 | 200+ (OpenRouter 경유) | Claude 시리즈만 | 여러 모델 지원 |
| 가격 | 무료 + API 종량제 | 구독 $20~$200/월 | 구독 $20~$40/월 |
정리하면, IDE에서 코드 짜는 데 도움받고 싶다면 Claude Code나 Cursor가 맞다. Hermes는 "서버에 올려두고 반복 작업을 알아서 처리하게 하는 자동화 에이전트"로, 둘을 병행해서 쓰는 것도 가능하다.
위 비교는 2026-04-09 기준이며, 각 도구는 빠르게 변하고 있다. 정확한 기능과 가격은 각 공식 사이트에서 확인해야 한다.
9. 트러블슈팅 Q&A
Q1: 설치 후 hermes auth가 동작하지 않고 구 버전 레퍼런스와 명령어가 다르다
hermes auth 명령이 v0.8.0에서 hermes login을 대체했다. 구 버전 레퍼런스를 참고하고 있다면 명령어가 달라졌을 수 있다. 최신 커밋(2026-04-07)이 이 부분을 수정했다(fix: replace stale 'hermes login' refs with 'hermes auth').
Q2: hermes setup 실행 후 커스텀 엔드포인트 설정이 사라졌다
v0.7.0 이전 버전에서 setup wizard가 커스텀 엔드포인트를 덮어쓰는 버그가 있었다. v0.7.0에서 수정됐다. config.yaml이 엔드포인트 URL의 단일 소스로 지정됐으므로, 환경변수와 config.yaml 충돌 문제도 해결됐다.
Q3: openai-codex provider 사용 시 "Responses API returned no output items" 오류
2026-04-07 등록 후 2026-04-08 해결(closed) 된 버그다(#5678). gpt-5.4 스트리밍 중 output[]이 비어 있을 때 발생하는 것으로 보고됐다. 최신 버전으로 업데이트하면 해결된다.
Q4: MCP OAuth state Pydantic 직렬화 오류가 발생한다
PR #5677에서 수정 중이다. Pydantic AnyUrl 필드를 MCP OAuth state 영속화 시 직렬화하지 못하는 버그다. 해당 PR이 병합되면 해결될 예정이므로, 병합 여부를 PR 페이지에서 확인 후 업데이트하는 것을 권고한다.
Q5: Anthropic 모델 사용 중 갑자기 컨텍스트가 줄어들었다
Anthropic long-context tier 429 한도 도달 시 Hermes가 자동으로 컨텍스트를 200k로 축소한다. 의도된 동작이다.
Q6: cron 작업이 중복 실행된다
~/.hermes/cron/.tick.lock 파일이 남아 있는지와 실행 중인 cron 프로세스 상태를 먼저 확인하는 편이 안전하다. 중복 실행이 지속되면 GitHub 이슈 트래커에서 동일 증상 보고를 참고하라.
Q7: hermes setup 완료 직후 OSError: [Errno 22] Invalid argument 크래시
셋업 자체는 정상 완료되지만, 마지막 단계에서 자동으로 chat을 실행하려다 크래시가 발생하는 경우다. 전체 트레이스백은 다음과 같다:
File "setup.py", line 2916, in _offer_launch_chat
cmd_chat(SimpleNamespace(...))
...
File "prompt_toolkit/input/vt100.py", line 165, in _attached_input
loop.add_reader(fd, callback_wrapper)
...
OSError: [Errno 22] Invalid argument
원인: prompt_toolkit이 stdin(fd=0)을 asyncio selector에 등록하지 못하는 것으로, stdin이 정상적인 TTY가 아닌 환경에서 발생한다. Claude Code ! 명령, VS Code 내장 터미널 일부, 파이프된 stdin 등이 해당된다.
해결: 셋업은 이미 완료된 상태이므로, 일반 터미널(iTerm2, Terminal.app 등)을 별도로 열고 hermes chat을 직접 실행하면 된다. hermes setup을 다시 실행할 필요는 없다.
Q8: Anthropic 구독(Pro/Max)으로 Hermes를 쓰면 계정이 정지될 수 있다?
그렇다. 2026년 4월 4일부터 Anthropic은 Claude Free/Pro/Max 구독의 OAuth 토큰을 Hermes, OpenClaw 등 제3자 도구에서 사용하는 것을 정책 위반으로 규정하고 기술적으로 차단했다. 위반 시 사전 통보 없이 계정이 정지될 수 있다.
해결: console.anthropic.com에서 API 키를 발급받아 종량제로 사용하면 된다. hermes model에서 Anthropic 선택 후 API 키를 입력하면 정상 사용 가능하다.
Q9: hermes gateway 시작 시 InvalidToken: The token ... .png was rejected 에러
봇 토큰 입력란에 텍스트 토큰 대신 클립보드의 스크린샷 파일 경로가 붙여넣기 된 경우다. 실제 에러 메시지에 .png 경로가 찍힌다.
해결: hermes gateway setup을 다시 실행하고, BotFather에서 받은 123456789:ABCdefGHI... 형태의 텍스트 토큰을 정확히 붙여넣으면 된다. macOS에서 이미지를 복사한 상태라면 클립보드를 텍스트로 덮어쓴 뒤 붙여넣기 하자.
10. 자율 에이전트 트렌드 맥락
카파시 AutoResearch와의 비교
Andrej Karpathy의 AutoResearch는 단일 GPU에서 AI 에이전트가 5분짜리 LLM 학습 실험을 반복 실행하는 프로젝트다.
Hermes 팀은 여기서 영감을 받아 autoresearch 스킬을 개발 중이다. branch → experiment → evaluate → merge/revert 루프로 돌아가고, ML 최적화, 코드 분석, 경쟁 정보 등 여러 도메인에 적용할 수 있다. cron으로 백그라운드 실행되며 시간/토큰/실험 횟수에 상한을 걸어둘 수 있다.
AutoResearch가 ML 실험에 특화된 반면, Hermes는 같은 루프 구조를 코드 분석이나 리서치 같은 일반 작업에도 쓰려는 방향이다.
Hermes vs OpenClaw: 공식 소개 문구 비교
| 비교 항목 | Hermes Agent | OpenClaw |
|---|---|---|
| 공식 포지셔닝 | self-improving AI agent | personal AI assistant |
| 대표 강점 | built-in learning loop, persistent memory, skills | 다양한 채널에서 응답하는 다중 플랫폼 개인 비서 |
| 라이선스 | MIT | MIT |
둘 다 MIT 라이선스지만, Hermes는 self-improving을, OpenClaw는 personal assistant를 전면에 내세운다.
2026년 자가학습 에이전트의 방향성
커뮤니티 큐레이션 저장소 awesome-hermes-agent가 별도로 운영되고 있다. 저장소 메타데이터와 README를 통해 관련 링크와 자료를 정리하는 허브 역할을 확인할 수 있다.
자가학습 에이전트에서 빠지지 않는 질문이 "그래서 뭘 학습한 건지 확인할 수 있나?"다. Hermes는 스킬을 마크다운 파일로 저장하기 때문에 사람이 직접 열어서 내용을 확인하고 수정할 수 있다.
참고자료
- GitHub: NousResearch/hermes-agent
- GitHub README
- GitHub Release v0.7.0 (태그: v2026.4.3)
- install.sh 스크립트
- GitHub Issue #4832 (autoresearch 스킬)
- GitHub API: 저장소 메타데이터
- Hermes Agent 공식 문서
- Hermes Sessions 문서
- Hermes Skills 문서
- agentskills.io
- OpenClaw GitHub README
- GitHub Release v0.8.0 (태그: v2026.4.8)
- Hermes Memory 공식 문서
- agentskills.io Specification
- GitHub Issue #4379 (토큰 오버헤드 분석)
- GitHub Issue #6440 (webhook RCE)
'AI > Hermes' 카테고리의 다른 글
| Hermes Agent(2) : 보조 모델(Auxiliary Model) 분리 - 비싼 메인 모델 대신 보조 모델 따로 쓰는 법 (4) | 2026.05.02 |
|---|
소중한 공감 감사합니다