Hermes Agent에 대한 심층적인 기술적 탐구와 개인적 경험
요약
Nous Research의 오픈 소스 에이전트인 Hermes Agent의 기술적 구조와 특징을 분석합니다. 단순 챗봇을 넘어 지속 가능한 디지털 동료를 지향하며, 도구 사용, 계획, 다단계 추론 능력을 갖춘 아키텍처를 소개합니다.
핵심 포인트
- Nous Research가 개발한 오픈 소스 자기 개선형 에이전트
- 모델 및 공급자 불가지론(Agnostic) 설계로 높은 유연성 제공
- 메모리, 도구 사용, 계획 등 5대 핵심 아키텍처 기반 작동
- GitHub 스타 14만 개 돌파 및 급격한 커뮤니티 성장세
이 글은 Hermes Agent Challenge를 위한 제출물입니다.
저는 Hermes Agent를 구축하며 겪은 심층적인 기술적 분석과 개인적인 여정을 공유하고자 합니다.
저는 튜토리얼, 상세한 기술적 분석, 직접적인 비교 분석, 그리고 개인적인 에세이를 결합하여 하나의 거대한 보고서로 만든 철저한 가이드를 작성하기로 결정했습니다. 저는 오픈 소스이며 유능한 에이전트 시스템이 인공지능 (AI) 개발의 미래에 무엇을 의미하는지 커뮤니티에 보여주는 것을 목표로 합니다.
인공지능의 세계는 믿을 수 없을 정도로 빠르게 움직이고 있습니다. 오늘날 사용 가능한 대부분의 도구는 단순한 챗봇 래퍼 (Chatbot wrapper)입니다. 당신이 말을 걸면, 그것들은 당신이 말한 모든 것을 잊어버리고, 다음에 로그인할 때 다시 처음부터 시작해야 합니다. 저는 항상 이것이 답답하다고 느꼈습니다. 저는 _지속 가능한 디지털 동료 (Persistent digital co-worker)_를 원했습니다. 제 프로젝트를 기억하고, 실수로부터 배우며, 타인의 클라우드가 아닌 저만의 인프라에서 실행되는 무언가를 원했습니다. 이것이 바로 Hermes Agent가 제공하는 것입니다. 이것은 Nous Research의 재능 있는 팀이 구축한 오픈 소스 기반의 자기 개선형 (Self-improving) 인공지능 에이전트입니다.
이 보고서의 목표는 이 시스템의 모든 측면을 여러분에게 안내하는 것입니다. 다른 프레임워크 (Framework)와 비교했을 때 어떤 수준인지 분석하고, 언제 이 도구를 사용해야 할지 결정하는 데 도움을 드리며, 도구 사용 (Tool use), 계획 (Planning), 다단계 추론 (Multi-step reasoning)과 같은 구체적인 역량을 탐구할 것입니다. 저는 언어를 단순하고 인간적으로 유지하며, 제가 일상적인 워크플로 (Workflow)에서 이 도구를 정확히 어떻게 사용하는지 공유하겠습니다.
오픈 소스 강자의 부상
이 프레임워크의 급격한 채택 속도에 저는 완전히 놀랐습니다. OpenClaw와 같은 기존 시스템들의 초기 성공에 이어, 커뮤니티는 Hermes Agent를 전적으로 수용했습니다. 이 프로젝트는 3개월도 채 되지 않아 **GitHub에서 140,000개 이상의 스타(Stars)**를 기록했습니다. 저는 글로벌 사용 통계를 모니터링해 왔는데, 5월 10일 기준으로 Hermes Agent는 OpenRouter 일일 추론 순위에서 공식적으로 OpenClaw를 추월했습니다. 단 하루 만에 믿기 어려운 2,240억 개의 토큰을 처리했습니다. 이러한 수치는 개발자들이 이 도구를 진지하고 중량감 있는 작업(Heavy-duty work)에 사용하고 있음을 증명합니다.
저는 이 성공이 핵심 설계 철학인 **신뢰성(Reliability)과 자기 개선(Self-improvement)**에서 비롯되었다고 믿습니다. 이 두 가지 특성은 역사적으로 자율 시스템(Autonomous systems)에서 달성하기 매우 어려웠던 자질들입니다.
또한 이 시스템은 *공급자 불가지론(Provider agnostic)*이며 *모델 불가지론(Model agnostic)*입니다. 저는 특정 기업의 언어 모델(Language model) 하나에 종속되지 않습니다. 제 하드웨어에서 완전히 로컬로 실행하는 것을 포함하여, 수백 개의 서로 다른 모델을 사용할 수 있습니다.
작동을 가능하게 하는 5대 핵심 아키텍처 (Five Pillar Architecture)
기술 문서를 처음 깊이 파고들었을 때, 저는 이 아키텍처가 **다섯 가지의 뚜렷한 기둥(Pillars)**에 의존하고 있다는 것을 발견했습니다. 이 구조가 바로 이 시스템을 일반적인 채팅 애플리케이션과 차별화하는 요소입니다. 저의 직접적인 경험을 바탕으로 각 기둥에 대해 설명하겠습니다.
1️⃣ 메모리 아키텍처 (The Memory Architecture)
첫 번째 기둥은 **메모리 시스템(Memory system)**입니다. 이 에이전트는 단순한 임시 방편이 아닌 실제 메모리를 가지고 있습니다. 에이전트는 제 하드 드라이브에 정교하게 관리되는 두 개의 작은 텍스트 파일을 유지합니다.
- 환경 사실 파일 (Environment facts file) — 관례(Conventions)와 학습된 교훈을 추적합니다.
- 사용자 프로필 파일 (User profile file) — 저의 개인적 선호도와 커뮤니케이션 스타일을 추적합니다.
이 파일들은 표준 마크다운(Markdown) 파일이기 때문에, 저는 어떤 텍스트 에디터로든 열어서 에이전트가 저에 대해 정확히 어떻게 생각하는지 확인할 수 있습니다. 장기 기억(Long-term memory)을 위해, 에이전트는 전체 텍스트 검색 (Full-text search) 기능이 갖춰진 로컬 데이터베이스에 저의 메시징 세션을 저장합니다. 제가 과거 프로젝트에 대해 질문하면, 에이전트는 이 데이터베이스를 검색하고 언어 모델을 사용하여 이전 대화 내용을 요약합니다.
이 영리한 메커니즘은 한꺼번에 너무 많은 컨텍스트 데이터 (context data)를 전송하여 발생하는 API 실패를 방지합니다.
2️⃣ 절차적 기술 엔진 (The Procedural Skills Engine)
두 번째 기둥은 **기술 엔진 (skills engine)**입니다. 이것은 제가 가장 좋아하는 기능입니다. 에이전트는 실제로 자신의 작업으로부터 학습합니다. 만약 제가 다섯 번 이상의 도구 호출 (tool calls)이 필요한 복잡한 작업을 수행하도록 요청하면, 에이전트는 그 노력을 인식합니다. 그런 다음 자율적으로 **재사용 가능한 기술 문서 (reusable skill document)**를 생성합니다. 이 기술은 제 컴퓨터의 전용 디렉토리에 저장됩니다. 다음에 제가 동일한 작업을 요청하면, 에이전트는 어떻게 해야 할지 추측하지 않습니다. 대신 자신이 저장한 기술 문서를 읽고 단계를 완벽하게 실행합니다.
3️⃣ 영혼 및 성격 설정 (The Soul and Personality Configuration)
세 번째 기둥은 **인프라로서의 성격 (personality as infrastructure)**입니다. 저는 전역 설정 파일 (global configuration file)을 사용하여 에이전트의 기본 목소리와 행동을 정의합니다. 이 파일은 *지속적인 시스템 프롬프트 (continuous system prompt)*처럼 작동합니다. 만약 제가 에이전트가 시니어 소프트웨어 엔지니어처럼 행동하기를 원한다면, 해당 지침을 설정 파일에 작성합니다. 에이전트는 새로운 세션을 시작할 때마다 이 파일을 읽어, 제 모든 기기에서 행동이 일관되게 유지되도록 합니다.
4️⃣ 예약된 자동화 및 크론 잡 (Scheduled Automations and Cron Jobs)
네 번째 기둥은 **시간 기반 자동화 (time-based automation)**를 처리합니다. 에이전트에는 내장된 스케줄러 (scheduler)가 있습니다. 작업을 예약하기 위해 복잡한 컴퓨터 코드를 작성할 필요 없이, 그저 자연어 (natural language)를 사용하면 됩니다.
"매일 아침 9시에 뉴스를 확인하고 요약본을 보내줘."
에이전트는 이러한 보고서, 백업, 브리핑을 백그라운드에서 완전히 무인 상태로 실행합니다.
5️⃣ 폐쇄형 학습 루프 (The Closed Learning Loop)
다섯 번째 기둥은 모든 것을 하나로 묶어줍니다. 바로 **폐쇄형 학습 루프 (closed learning loop)**입니다. 에이전트는 최근의 행동을 검토하도록 주기적인 자극 (nudges)을 받습니다. 에이전트는 어떤 정보가 장기 기억 (long-term memory)에 유지될 만큼 유용한지, 그리고 어떤 것을 잊어야 하는지를 스스로 결정합니다. 사용 과정에서 자신의 기술을 스스로 개선합니다.
이는 제 에이전트를 서버에서 오래 실행할수록 측정 가능한 수준으로 더 똑똑해짐을 의미합니다.
3계층 기술 스택 탐구 (Exploring the Three Tier Technical Stack)
이 시스템이 어떻게 작동하는지에 대한 멘탈 모델 (Mental Model)을 구축하기 위해, 저는 아키텍처를 **세 가지 논리적 계층 (Three Logical Tiers)**으로 나누어 분석했습니다. 이 계층들을 이해함으로써 에이전트를 저의 개인 컴퓨팅 환경에 깊이 있게 통합할 수 있었습니다.
제1계층 — 표면 인터페이스 (The Surface Interfaces)
첫 번째 계층은 제가 에이전트와 대화할 수 있는 모든 방법을 포함합니다. 개발자들은 다양한 어댑터(Adapters)를 구동하는 단일 코어 엔진을 구축했습니다:
- ☑️ 명령줄 인터페이스 (Command Line Interface, CLI) — 풍부한 텍스트 패널과 자동 완성 기능을 갖춘 클래식한 터미널 경험을 제공합니다.
- ☑️ 메시징 게이트웨이 (Messaging Gateway) — 에이전트를 Telegram, Discord, Slack, WhatsApp, Signal 및 기타 여러 플랫폼에 연결합니다.
- ☑️ 에디터 프로토콜 (Editor Protocol) — 에이전트를 저의 코드 에디터에 직접 연결하여, 에이전트가 현재 활성화된 코드 파일을 볼 수 있게 합니다.
- ☑️ 웹 대시보드 (Web Dashboard) — 세션과 파일을 시각적으로 관리할 수 있는 아름다운 브라우저 인터페이스입니다.
- ☑️ 크론 스케줄러 (Cron Scheduler) — 채팅 인터페이스 없이 백그라운드에서 실행되는 작업을 처리합니다.
저는 특히 _메시징 게이트웨이_가 놀랍다고 생각합니다. 아침에 노트북 터미널에서 복잡한 디버깅 작업을 시작할 수 있습니다. 그 후 퇴근하는 길에 에이전트가 최종 진단 보고서를 저의 Telegram 앱으로 직접 보내줍니다. 모든 매체에 걸쳐 컨텍스트 (Context)가 완벽하게 보존됩니다. 심지어 **음성 메모 전사 (Voice Memo Transcription)**도 지원하여, 휴대폰에 명령어를 말하기만 하면 됩니다.
제2계층 — 코어 에이전트 엔진 (The Core Agent Engine)
두 번째 계층은 두뇌입니다. 이 계층은 코어 루프 (Core Loops)를 관리하고, 도구 등록 (Tool Registration)을 처리하며, 하드 드라이브에서 스킬 (Skills)을 로드하고, 언어 모델 (Language Models)과 통신합니다. 이 계층에는 **40개 이상의 시스템 도구 (System Tools)**를 보유한 유틸리티 벨트 역할을 하는 **도구 레지스트리 (Tool Registry)**가 포함되어 있습니다. 또한 프롬프트 구성 (Prompt Construction), 재시도 (Retries), 그리고 모델이 올바른 답변을 하지 못할 경우를 대비한 폴백 로직 (Fallback Logic)을 처리합니다.
제3계층 — 실행 환경 (The Execution Environments)
세 번째 계층은 실제 작업이 수행되는 곳입니다. AI가 저의 개인 노트북에서 제약 없이 실행되도록 하는 것은 위험하기 때문에, 프레임워크는 여러 개의 격리된 환경 (Isolated Environments)을 제공합니다:
local— 제 노트북에서 명령어를 네이티브하게 실행합니다. 가장 빠르지만 격리(Isolation)가 전혀 되지 않습니다.docker— 매 세션마다 전용의 격리된 컨테이너 (Container)를 생성합니다.ssh— 에이전트가 원격 가상 머신 (Virtual Machine)에 로그인하여 이를 자신의 메인 컴퓨터처럼 다룰 수 있게 합니다.serverless— Daytona 또는 Modal과 같은 플랫폼으로 작업을 오프로드 (Offload)하며, 프로덕션 워크로드 (Production Workloads)를 위해 즉각적으로 구동됩니다.
심층 분석: 자기 진화형 기술 시스템 (The Self-Evolving Skill System)
저는 이 보고서의 상당 부분을 **기술 시스템 (Skill System)**을 탐구하는 데 할애하고 싶습니다. 왜냐하면 이것이 제가 지금까지 테스트해 본 기능 중 가장 혁신적이기 때문입니다. 대부분의 시스템에서는 인간 프로그래머가 도구 (Tools)를 작성합니다. 하지만 이 프레임워크에서는 에이전트가 자신의 학습 결과물 (Learning Artifacts)을 직접 소유합니다.
에이전트가 어려운 작업을 완료하면, 기술을 관리하기 위해 특별한 내부 도구를 사용합니다. 에이전트는 다음과 같은 작업을 수행할 수 있습니다:
- 새로운 기술을 처음부터 생성 (Create)
- 기존 기술의 작은 오류를 패치 (Patch)
- 기술을 완전히 편집 (Edit)
- 오래된 기술을 삭제 (Delete)
각 기술은 단순한 폴더 내에 존재합니다. 이 폴더에는 지침을 요약한 마크다운 (Markdown) 파일이 포함되어 있으며, 참조 자료, 템플릿 및 Python 스크립트를 담을 수도 있습니다. 이 형식은 개방형 표준 (Open Standard)을 준수하므로, 제가 만든 커스텀 기술을 다른 개발자와 공유하거나 커뮤니티에서 구축한 기술을 설치할 수 있습니다.
개발자들은 Hermes Agent Self Evolution이라는 프로젝트를 통해 이 개념을 한 단계 더 발전시켰습니다. 이는 값비싼 GPU 학습을 요구하지 않고도 에이전트의 기술을 자동으로 최적화하기 위해 고급 기술을 사용하는 진화형 시스템 (Evolutionary System)입니다.
저는 인터페이스 호출을 통해 작동하는 과정을 지켜보았습니다. 즉, **유전적 파레토 프롬프트 진화 (Genetic Pareto Prompt Evolution)**라고 불리는 프로세스를 사용하여 _텍스트를 변이시키고, 합성 데이터 (Synthetic Data)를 기준으로 결과를 평가하며, 최적의 변이형을 선택하는 과정_입니다.
저는 이 시스템을 제 코드 리뷰 기술에 적용하여 10회 반복 (Ten Iterations) 실행하도록 했고, 그 결과 측정 가능할 정도로 더 나은 버전의 기술을 만들어냈습니다. 전체 최적화 실행 비용은 단 $2에서 $10 사이에 불과하여, 독립 개발자들이 매우 쉽게 접근할 수 있습니다.
서브 에이전트(Sub-Agents)를 통한 병렬 워크로드 관리
제가 탐구한 또 다른 주요 기술적 돌파구는 시스템이 대규모 워크로드(Workloads)를 처리하는 방식입니다. **기본 오케스트레이터 에이전트(Primary orchestrator agent)**는 병렬 워크로드를 처리하기 위해 완전히 격리된 서브 에이전트(Sub-agents)를 생성할 수 있습니다. 각 서브 워커(Sub-worker)는 다음과 같은 고유한 환경을 가집니다:
- 개별적인 대화 스레드 (Private conversation thread)
- 샌드박스화된 터미널 환경 (Sandboxed terminal environment)
저는 기본 에이전트가 특정 연구 작업을 **세 개의 병렬 워커(Three parallel workers)**에게 동시에 위임하는 것을 관찰했습니다. 그 후 기본 에이전트는 내부 원격 프로시저 호출(RPC, Remote Procedure Calls)을 사용하여 이들의 출력을 수집하고, 수집된 데이터를 하나의 최종 결과로 합성했습니다.
이는 다단계 파이프라인(Multi-step pipelines)의 컨텍스트 비용(Context cost)을 극적으로 줄여줍니다. 복잡한 연구 작업을 병렬 작업으로 압축함으로써, 시스템은 제 워크플로우의 속도를 수십 배(Orders of magnitude) 이상 높여줍니다.
로컬 프라이버시를 위한 하드웨어 가속
저는 AI를 로컬(Local)에서 실행하는 것을 강력히 신뢰합니다. 저의 개인적인 코드와 민감한 금융 문서를 기업용 클라우드 제공업체로 전송하는 것은 저를 불편하게 만듭니다. Hermes Agent는 상시 가동되는 로컬 사용에 독보적으로 최적화되어 있습니다.
이 시스템은 NVIDIA 그래픽 카드로 구동되는 하드웨어에서 훌륭하게 작동합니다. Qwen 3.6 언어 모델의 도입은 로컬 에이전트의 판도를 바꾸어 놓았습니다. 이 시리즈의 27B 및 35B 파라미터(Parameter) 모델은 데이터 센터 수준의 지능을 제 로컬 머신으로 직접 전달합니다.
로컬 하드웨어 + 강력한 오픈 웨이트(Open-weight) 모델 + 자기 개선형 에이전트 프레임워크의 결합은, 저의 프라이버시를 존중하면서도 막대한 생산성 향상을 제공하는 생태계를 구축합니다.
xAI Grok 통합을 통한 원활한 액세스
나아가, 이 통합은 특별한 **도구 게이트웨이(Tool gateway)**를 노출합니다. 이 게이트웨이를 통해 제 에이전트는 모든 개별 도구에 대해 제가 일일이 결제 계정과 API 키를 설정할 필요 없이 외부 인터넷 도구를 호출할 수 있습니다. 저는 완전히 새로운 서버를 구축하고도 몇 분 이내에 인터넷 검색 및 데이터 검색을 수행하는 에이전트를 가질 수 있습니다.
직접 비교: Hermes Agent vs. OpenClaw
| 기능 (Feature) | Hermes Agent | OpenClaw |
|---|---|---|
| 핵심 강점 (Core Strength) | 자기 개선 (Self-improvement) 및 백그라운드 실행 | 멀티 채널 오케스트레이션 (Multi-channel orchestration) 및 에이전트 팀 |
| ... |
OpenClaw는 놀라운 소프트웨어입니다. 멀티 채널 라우팅 (Multi-channel routing), 지속적인 에이전트 팀 (Persistent agent teams), 그리고 마켓플레이스 기반 워크플로우 (Marketplace-driven workflows)에 탁월합니다. 다소 무겁게 느껴지지만, 매우 성숙한 시스템입니다.
반대로, Hermes Agent는 훨씬 더 가볍고 개인화된 느낌을 줍니다. 이는 더 나은 _자기 개선 런타임 엔진 (Self-improving runtime engine)_입니다. 이들의 학습 루프 (Learning loop)가 진정한 차별점입니다.
저의 최종 결론: OpenClaw는 오케스트레이션 (Orchestration)과 조정 (Coordination) 측면에서 승리합니다. Hermes는 상시 가동 자동화 (Always-on automation)와 지속적인 학습 (Continuous learning) 측면에서 승리합니다.
저를 포함한 일부 사용자들은 동일한 장치에서 두 가지를 모두 실행하기도 합니다. 저는 단순히 Hermes 에이전트에게 제 OpenClaw 에이전트의 메모리 파일 (Memory files)을 읽도록 명령했고, 별도의 재학습 없이도 즉시 제 선호도를 파악할 수 있게 했습니다.
단계별 가이드: 설치 및 구성
개발자들은 설치 과정을 믿을 수 없을 정도로 매끄럽게 만들었습니다. 저는 Linux 머신의 터미널을 열고 단 하나의 보안 명령어를 실행했습니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기