# Hermes Agent 심층 분석

> 분석일: 2026-03-23
> 레포: https://github.com/NousResearch/hermes-agent
> ★10,900 / Fork 1.3k / MIT License / v0.3.0 (2026-03-17)
> 분석자: 아누 (1차) → 3팀 다그다 (2차 전수조사 예정)

---

## 1. 프로젝트 개요
- Nous Research의 "자기 개선 AI 에이전트"
- Python 3.11+, SQLite FTS5, MCP 서버 통합
- 멀티 플랫폼: Telegram, Discord, Slack, WhatsApp, Signal, CLI
- 모델: OpenRouter(200+), Nous Portal, OpenAI, Anthropic, 커스텀
- 인프라: $5 VPS, Docker, SSH, Daytona, Singularity, Modal

## 2. 핵심 아키텍처 (소스 코드 검증)

### 2.1 에이전트 코어 (agent/)
- `trajectory.py`: ShareGPT 포맷 JSONL 저장 (completed/failed 분리)
- `skill_commands.py`: 스킬 로딩/실행/프리로드, SKILL.md frontmatter 파싱
- `context_compressor.py`: 5단계 압축 (도구결과 정리→헤드 보호→테일 보호→중간 요약→페어 정제)
- `insights.py`: 사용량 분석 (토큰/비용/세션/도구별), InsightsEngine 클래스
- `prompt_builder.py`: 시스템 프롬프트 구성
- `smart_model_routing.py`: 모델 자동 라우팅

### 2.2 도구 시스템 (tools/ — 45개 파일)
- `skill_manager_tool.py`: 스킬 CRUD (create/edit/patch/delete/write_file/remove_file)
  - 보안 가드 통합, 원자적 파일 쓰기, 경로 탐색 공격 방지
  - ★ 자동 생성 루프 없음 — 에이전트가 판단 시 도구로 생성
- `skills_tool.py`: 스킬 뷰/검색
- `skills_guard.py`: 스킬 보안 스캔
- `skills_hub.py`: agentskills.io 허브 연동
- `skills_sync.py`: 스킬 동기화
- `memory_tool.py`: MEMORY.md + USER.md 파일 기반 메모리
  - 2,200자 제한, § 구분자, Frozen Snapshot 패턴
  - `_scan_memory_content()`: 인젝션 탐지 (ignore previous, curl+$SECRETS 등)
- `session_search_tool.py`: FTS5 과거 세션 검색 + LLM 요약 (420줄)
  - 키워드 OR 검색 → 부모 세션 해석 → 중복 제거 → 병렬 요약
  - 보조 LLM(Gemini Flash)으로 100k자 윈도우 요약
- `honcho_tools.py`: Honcho 사용자 모델링 통합
- `rl_training_tool.py`: RL 학습 환경

### 2.3 스킬 시스템 (skills/ — 25개 카테고리)
- apple, autonomous-ai-agents, creative, data-science, diagramming
- domain, email, feeds, gaming, gifs, github, inference-sh
- leisure, mcp, media, mlops, music-creation, note-taking
- productivity, research, smart-home, social-media, software-development

### 2.4 게이트웨이 (gateway/)
- 멀티 플랫폼 메시징 통합 (Telegram, Discord, Slack, WhatsApp, Signal)
- 음성 메모 트랜스크립션, 크로스 플랫폼 연속성

## 3. "자기 성장" 3대 기능 — 실제 vs 마케팅

### 3.1 자동 스킬 생성 → 반자동 (과장)
- skill_manager_tool.py로 에이전트가 스킬을 만들 수 있는 인프라 제공
- 하지만 자동 trajectory 분석 → 스킬 추출 루프는 구현되어 있지 않음
- 에이전트의 "판단"에 의존 (프롬프트로 유도)

### 3.2 스킬 자기 개선 → patch 기반 수동 (과장)
- patch 액션으로 스킬 일부 수정 가능
- 자동 피드백 루프 아님, 에이전트가 결정해야 실행

### 3.3 세션 간 기억 → 진짜 강력 (정확)
- FTS5 전문 검색 + LLM 요약 = 과거 대화 리콜
- Frozen Snapshot 패턴 = 세션 중 prefix cache 보존
- 반복 압축 누적 요약 = 정보 손실 최소화

## 4. 아누 1차 평가: 도입 가치 항목 (5건)

### 높음
1. FTS5 세션 검색 — 과거 대화 전문 검색 + LLM 요약
2. 메모리 보안 스캔 — 인젝션/유출 패턴 차단
3. 반복 압축 누적 요약 — Goal/Progress/Decisions/Files/Next 구조

### 참고
4. Honcho 사용자 모델링 — 자동 사용자 프로파일링
5. Trajectory JSONL 캡처 — decision_logger.py와 유사

## 5. 3팀 전수조사 (예정)
- 위 5건은 1차 속도 분석 결과
- 3팀(다그다)이 전체 레포 전수조사 후 학습 가능 항목 전체 리스트업
- 기존 5건과 비교 → 최종 도입안 확정

---

## 참고 링크
- 레포: https://github.com/NousResearch/hermes-agent
- 스킬 허브: https://agentskills.io
- 문서: https://hermes-agent.nousresearch.com/docs
- 커뮤니티: discord.gg/NousResearch
