QVAC를 사용하여 자기 개선형 개인 AI 에이전트인 Hermes를 완전히 로컬에서 실행하는 방법
요약
Nous Research가 개발한 자기 개선형 개인 AI 에이전트 Hermes를 QVAC를 통해 로컬 환경에서 실행하는 방법을 소개합니다. Hermes는 페르소나, 지속적인 기억, 그리고 학습 능력을 갖추어 사용자와 함께 성장하는 개인화된 경험을 제공합니다.
핵심 포인트
- Hermes는 SOUL.md를 통한 페르소나 설정과 로컬 메모리 기반의 지속적 기억을 지원합니다.
- 백그라운드 큐레이터를 통해 기술 라이브러리를 생성하고 스스로 학습하며 진화합니다.
- 로컬 실행을 통해 데이터 소유권 확보, 오프라인 작동, API 비용 절감의 이점을 얻습니다.
- 개인화된 에이전트 운영 시 프라이버시와 모델 제어권을 보장하는 것이 핵심입니다.
Hermes란 무엇이며, 왜 다른가
여러분이 지금까지 보아온 대부분의 AI 에이전트들은 작업 도구(task tools)입니다. 작업을 주면 수행하고, 당신을 잊어버립니다. Nous Research에서 만든 Hermes Agent는 다른 아이디어를 기반으로 구축되었습니다. 바로 당신의 것이며, 당신을 기억하고, 사용하면 사용할수록 더 나아지는 에이전트입니다.
다음 세 가지 요소가 Hermes를 돋보이게 합니다:
- 페르소나(Persona)를 가집니다. 단일 파일인
SOUL.md가 에이전트가 말하는 방식을 정의합니다. 이 파일을 편집하면 다음 메시지에서 에이전트의 캐릭터가 바뀝니다. - 기억합니다. 대화, 사실, 컨텍스트(context)가 로컬 메모리(local memory)에 세션 간 지속되므로, 일회성 도구가 아닌 동반자가 됩니다.
- 학습합니다. Hermes는 기술 라이브러리(리서치, 노트, GitHub, 문서, 스마트 홈 등 다수 포함)와 경험으로부터 기술을 생성하고 정제하는 백그라운드 큐레이터(background curator)를 보유하고 있습니다. 한 주를 마무리할 때의 에이전트는 한 주를 시작했을 때의 에이전트와 다를 것입니다.
이 모든 성격, 기억, 학습된 기술은 당신에 대한 데이터입니다. 이는 당연한 질문을 던지게 합니다: 그 뒤에 있는 모델은 어디에서 실행되는가?
// Detect dark theme var iframe = document.getElementById('tweet-2077391578310791482-199'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2077391578310791482&theme=dark" }
개인용 에이전트에게 로컬(local)이 올바른 기본값인 이유
모델이 질문에 답만 할 때, 모델이 어디에서 실행되는지는 주로 프라이버시(privacy)의 문제입니다. 하지만 모델이 당신의 페르소나, 기억, 그리고 당신의 습관으로부터 학습한 기술을 보유한 개인용 에이전트가 될 때, 그것은 소유권(ownership)의 문제가 됩니다. 만약 그 두뇌가 타인의 데이터 센터(datacenter)에 살고 있다면, 당신에 대한 비서의 기억과 비서가 당신으로부터 배우는 모든 것은 당신이 통제할 수 없는 시스템을 통해 흐르게 됩니다. 즉, 시스템의 가동 시간(uptime), 약관(terms), 액세스 정책(access policy) 등이 당신의 의사와 상관없이 변경될 수 있습니다.
모델을 로컬에서 실행하는 것은 단순히 정책을 바꾸는 것이 아니라, 소유권(property) 자체를 바꿉니다:
- 당신의 컨텍스트는 기기에 머뭅니다. 당신의 페르소나(persona), 당신의 기억, 에이전트가 구축하는 기술: 이 중 그 어떤 것도 모델에 도달하기 위해 당신의 디스크를 떠날 필요가 없습니다.
- 오프라인에서 작동합니다. 모델이 다운로드되면, 완전히 연결을 끊고도 에이전트와 계속 대화할 수 있습니다. 비행기 모드를 켜도 여전히 답변합니다.
- 토큰당 비용이 발생하지 않습니다. 하루 종일 대화하고 백그라운드에서 예약된 작업을 수행하는 개인용 에이전트는 클라우드 API를 사용할 경우 비용이 빠르게 누적될 것입니다. 로컬에서는 토큰당 비용이 전혀 들지 않습니다.
- 조용한 모델 교체가 없습니다. 가중치(weights)는 당신의 디스크에 있는 파일입니다. 당신의 에이전트의 "두뇌"는 세션 사이에 당신도 모르게 바뀌지 않습니다.
트레이드오프(trade-off)는 지연 시간(latency)과 원시 성능(raw capability)입니다. 노트북에 들어가는 모델은 프런티어(frontier) 클라우드 모델보다 크기가 작습니다. 당신의 데이터와 함께 살아가는 개인용 에이전트에게 이 트레이드오프는 수용하기 쉬우며, 소형 모델들이 개선됨에 따라 상황은 점점 더 좋아지고 있습니다.
QVAC는 로컬 환경을 실용적으로 만드는 핵심 요소입니다. 이는 Tether에서 제공하는 오픈 소스 SDK 및 CLI로, 모든 주요 GPU 백엔드(NVIDIA, AMD 및 Vulkan을 통한 Intel, Metal을 통한 Apple Silicon)에서 당신의 자체 기기 위에서 모델을 실행하며, OpenAI 호환 서버를 함께 제공합니다. 그 서버가 바로 Hermes가 연결되는 브릿지(bridge) 역할을 합니다.
작동 방식
두 개의 지속적으로 실행되는 요소와 당신이 함께합니다:
- QVAC 서버는 모델을 메모리에 유지하며 로컬 포트에서 OpenAI 호환 요청에 응답합니다. 한 번 실행해 두면 계속 켜두면 됩니다.
- Hermes는 에이전트(페르소나, 기억, 기술, 도구)를 실행합니다. 한 번 QVAC 서버를 가리키도록 설정하면, 그 이후에는 그냥 대화만 하면 됩니다.
- 당신의 메시지는 Hermes로 전달되며, Hermes는 로컬 모델을 사용하여 생각하고 도구를 사용하여 행동합니다.
모델 추론(inference)은 절대 기기를 떠나지 않습니다. (웹 리서치와 같은 일부 기술은 브라우저가 작동하는 방식과 동일하게 해당 특정 도구를 위해 여전히 인터넷을 사용합니다. 하지만 두뇌는 기기 내에 머뭅니다.)
어떤 모델을 실행할 것인가
Hermes는 도구 사용 비중이 높습니다. 매 턴마다 방대한 양의 도구 세트를 전송하므로, 성능이 뛰어난 모델을 사용하는 것이 유리합니다. 아래 설정에서는 Mixture-of-Experts (MoE) 모델인 Qwen3.6-35B-A3B를 사용합니다. 350억 개의 파라미터 지식을 보유하고 있지만, 토큰당 활성화되는 파라미터는 약 30억 개에 불과하여 크기 대비 빠른 속도를 유지합니다. 모델을 변경하려면 설정 파일(설정 단계 2)의 상수를 변경하면 됩니다.
| 사용 사례 | 모델 | 권장 RAM | 필요 저장 공간 | 설정 이름 |
|---|---|---|---|---|
| 가장 가볍고 어디서나 실행 가능 | Qwen3.5-4B (4-bit) | 8 GB | ~3 GB | QWEN3_5_4B_MULTIMODAL_Q4_K_M |
| ... |
Hermes는 도구 호출 (Tool calls)에 의존하며, 작은 모델들은 이 작업에 취약합니다. 따라서 4B 또는 9B 모델을 사용할 때는 활성 기술 세트 (active skill set)를 간소하게 유지하십시오 ("다음에 시도할 것" 참조). 35B-A3B MoE는 전체 도구 세트를 가장 안정적으로 처리합니다.
현실적으로 생각하십시오. 이것들은 작은 로컬 모델들이며, 도구 사용 비중이 높은 에이전트 작업은 이들이 가장 어려워하는 부분입니다. 4B는 설정을 테스트하기 위한 용도이며, 9B는 지능보다는 4B보다 높은 신뢰성을 제공하는 데 중점을 둡니다. 35B-A3B MoE만이 전체 도구 세트를 신뢰할 수 있게 구동할 수 있는 유일한 모델이므로, 이를 권장합니다. 이는 유능한 온디바이스 (on-device) 어시스턴트이지, 프런티어 클라우드 모델 (frontier cloud model)이 아닙니다.
GPU가 있으면 큰 도움이 되지만 필수 사항은 아닙니다. QVAC는 Apple Silicon에서는 Apple Metal을, NVIDIA, AMD, Intel에서는 Vulkan을 사용합니다. qvac doctor를 실행하여 사용자의 하드웨어가 무엇을 지원하는지 확인하십시오. 35B-A3B 모델의 경우, 첫 번째 턴은 약 20초 정도 소요될 것으로 예상됩니다 (Hermes가 방대한 시스템 프롬프트와 도구들을 전송하기 때문). 그 이후의 턴은 더 빨라집니다. 더 민첩한 에이전트를 원한다면 활성 기술을 좁히십시오 ("다음에 시도할 것" 참조).
설정하기
이 가이드는 복사해서 붙여넣기만 하면 됩니다. 각 단계를 순서대로 실행하십시오. 유일하게 느린 부분은 첫 번째 모델 다운로드이며, 그 이후에는 캐시됩니다.
요구 사항: Node.js 22.17 이상 (nodejs.org에서 node --version으로 확인). 디스크 및 RAM은 위의 모델 표를 참조하십시오.
1. QVAC CLI 설치 (모든 플랫폼)
npm install -g @qvac/cli
2. 모델 설정 생성. 폴더를 만들고 하나의 작은 설정 파일을 작성합니다.
macOS 및 Linux:
mkdir -p ~/qvac-hermes && cd ~/qvac-hermes
cat > qvac.config.json <<'EOF'
{
...
Windows (PowerShell):
mkdir "$HOME\qvac-hermes"; Set-Location "$HOME\qvac-hermes"
@'
{
...
중요한 두 가지 설정은
"tools": true와 "toolsMode": "static"입니다. static 모드는 Hermes와 같은 외부 클라이언트가 모델의 도구 호출 (tool calls)을 직접 실행할 수 있게 해줍니다. ("dynamic" 모드에서는 도구 호출이 전혀 실행되지 않아 모델이 고장 난 것처럼 보일 수 있습니다.)
3. QVAC 서버 시작 (모든 플랫폼). 해당 폴더에서 서버를 실행하고 터미널을 열어둔 상태로 유지하세요. 첫 실행 시 모델을 한 번 다운로드합니다 (MoE 모델 기준 약 22 GB). QVAC API server listening 메시지가 나타나면 준비가 된 것입니다.
qvac serve openai --model qwen3.6-moe
서버는 http://localhost:11434/v1에서 대기합니다. 명령어의 전체 구성은 다음과 같습니다: --model qwen3.6-moe는 2단계에서 정의한 별칭 (alias)이며, ~/qvac-hermes 폴더에서 실행하면 QVAC가 qvac.config.json (이 파일이 toolsMode: static을 설정하는 역할도 합니다)을 자동으로 감지합니다. 해당 설정 파일이 없는 곳에서 실행하면 별칭을 알 수 없다는 오류가 발생합니다.
4. Hermes 설치 (새 터미널). 설치 프로그램이 Python, 글로벌 hermes 명령어 및 관련 의존성 (dependencies)을 설정합니다.
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows의 경우, WSL (Windows Subsystem for Linux) 내부에서 해당 설치 프로그램을 실행하세요. 3단계의 QVAC 서버는 Windows에서 네이티브로 실행되며, WSL 내의 Hermes는 어떤 경우에도 localhost를 통해 서버에 접속할 수 있습니다.
5. Hermes를 QVAC로 연결. Hermes가 로컬 서버를 사용자 정의 OpenAI 호환 제공자 (custom OpenAI-compatible provider)로 사용하도록 설정합니다.
hermes config set model.provider custom
hermes config set model.base_url "http://localhost:11434/v1"
hermes config set model.default qwen3.6-moe
...
qwen3.6-moe는 설정 파일의 별칭(alias, serve.models 아래의 키)과 일치해야 합니다. api-key 값은 플레이스홀더(placeholder)입니다. 로컬 QVAC 서버는 이를 확인하지 않지만, Hermes는 해당 필드가 채워져 있기를 원하므로 비어 있지 않은 어떤 값이든 작동합니다. (이 네 가지 명령 대신 대화형 hermes model 마법사를 실행하여 "custom"을 선택할 수도 있습니다.)
6. 로컬 에이전트와 대화하기.
hermes
이렇게 하면 대화형 채팅이 열립니다. 네트워크를 끄고 에이전트에게 클라우드에서 실행 중인지 아니면 당신의 기기에서 실행 중인지 물어보세요. 에이전트는 계속해서 답변을 유지할 것입니다.
방금 구축한 것, 그리고 다음에 시도해 볼 것들
이제 당신의 기기에서 완전히 실행되는 개인용 AI 에이전트를 갖게 되었습니다. 첫 번째 테스트로 가장 확실한 방법은 다음과 같습니다. 에이전트에게 클라우드에 있는지 로컬에 있는지 물어본 다음, 비행기 모드를 활성화하고 다시 물어보세요. 에이전트는 계속 답변할 것입니다. 추론(inference)이 당신의 기기를 떠난 적이 없기 때문입니다.
그다음, Hermes를 Hermes답게 만드는 기능들은 모두 동일한 로컬 모델 위에서 실행됩니다:
- 성격 부여하기.
~/.hermes/SOUL.md를 편집한 후 메시지를 보내보세요. 페르소나(persona)는 매번 새로 로드되므로 변경 사항이 즉시 반영됩니다. - 기억하게 하기. 당신의 작업 방식에 대해 무언가를 알려준 뒤, 나중에 새로운 세션을 시작하면 에이전트가 이를 기억해 냅니다. 메모리는
~/.hermes/에 저장됩니다. - 기술(skill) 사용하기.
hermes skills를 실행하여 라이브러리를 확인한 후, 실제적인 작업을 요청해 보세요. 구조화된 노트 작성, 작업 보드(task board)를 통한 프로젝트 정리, 문서 폴더 요약 등이 가능합니다. 완전히 오프라인 상태를 유지하려면 로컬 기술(notes, files, board)을 선택하세요. 웹 기술(web skills)은 해당 도구 사용을 위해 인터넷을 사용하게 됩니다. - 스스로 개선하게 하기. 시간이 지남에 따라 큐레이터(curator)는 당신의 활동을 바탕으로 기술을 정교화합니다. 이 학습은 당신의 하드웨어에서 발생하며 그곳에 머뭅니다.
속도를 높이려면 실제로 사용하는 기술로 활성 기술을 좁히세요 (hermes skills, hermes tools). 도구 세트가 작을수록 프롬프트(prompt)가 짧아지며, 로컬 모델에서의 응답 속도(turns)가 빨라집니다.
참고 사항 및 제한 사항
- 노트북에서 구동 가능한 모델은 프런티어 클라우드 모델 (frontier cloud model)이 아닙니다. 오늘날의 클라우드 API보다 더 명확한 지침 (instructions)이 필요하고 속도가 더 느릴 것이라고 예상하십시오. 로컬 하드웨어의 속도가 빨라지고 소형 모델 (small models)이 개선됨에 따라 그 격차는 줄어들고 있습니다.
- 여기서 "로컬 (Local)"이란 모델이 사용자의 장치에서 실행됨을 의미합니다. 특정 기술은 다른 앱과 마찬가지로 자신의 작업(예: 웹 검색)을 위해 인터넷을 호출할 수 있습니다. 하지만 지능, 페르소나 (persona), 그리고 메모리 (memory)는 기기에 그대로 유지됩니다.
- QVAC는 Apache 2.0 라이선스이며 무료입니다. Hermes Agent는 Nous Research (github.com/NousResearch/hermes-agent)에서 제공합니다. 모델은 한 번 다운로드되면 로컬에 캐시 (cached)됩니다. QVAC 소스 및 문서: github.com/tetherto/qvac 및 docs.qvac.tether.io.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기