128GB 통합 메모리. GPU에는 최대 96GB 할당. Hermes Agent는 다른 사람의 서버 대신 localhost를 가리킴

"모두가 로컬 에이전트는 무료라고 말합니다. 저는 그렇게 보는 게 옳지 않다고 생각합니다." 클라우드 모델에서 Hermes Agent를 실행하면 API 키, 고객 데이터, 비즈니스 워크플로를 타인 서버에 라우팅하는 개인정보 보호 위험뿐 아니라 크레딧으로 하루에 10~20달러가 들었습니다. 해결책은 에이전트와 에이전트가 호출하는 모델을 본인 소유 하드웨어에 배치해 24/7 실행되도록 하는 것입니다. 이렇게 하면 반복 청구 비용 대신 전체 시스템이 인프라가 됩니다
이 글은 비교 글이 아니라 빌드 로그입니다: 항시 가동 머신으로 Minisforum MS-S1 MAX, 그 위의 워크플로 레이어로 Hermes Agent. 이 둘은 함께 작업실에 두고 영구적으로 켜두며 콘텐츠 초안 작성, 리서치 수행, 툴 호출 실행, 하위 에이전트 관리 등 실제 비즈니스 작업을 처리합니다. 토큰당 클라우드 비용이나 데이터가 네트워크를 벗어날 위험 없이 말이죠. 아래 내용: MS-S1 MAX 내부 구성, 설정 방법, 실제 성능 수치, 그리고 그 위에 Hermes Agent를 연결하여 작동하는 비즈니스 자동화 스택을 구축하는 방법
하드웨어: MS-S1 MAX 내부 구성
MS-S1 MAX는 AMD의 Strix Halo 플랫폼을 기반으로 합니다. 현재 대규모 언어 모델을 로컬에서 실행하기에 가장 강력한 미니 PC 실리콘으로, 강력한 CPU와 AMD가 이 폼 팩터에 탑재한 가장 큰 통합 GPU를 결합했기 때문입니다. 이것이 단순 채팅만 처리할 수 있는 머신과 툴 호출, 하위 에이전트, 긴 컨텍스트를 자체적으로 실행하는 실제 에이전트 루프를 구동할 수 있는 머신의 차이입니다
SoC 사양 (AMD Ryzen AI Max+ 395, 4nm Strix Halo, 45-120W TDP):
1ComponentSpecCPU16 코어 / 32 스레드, Zen 5, 3.0 GHz 베이스 – 5.1 GHz 부스트, 64MB L3 캐시그래픽Radeon 8060S, 40 CU RDNA 3.5, 2.9 GHz, 시스템 공유 VRAMNPUXDNA, 50 TOPSPCIeGen 4, 16 레인RAMLPDDR5X, 8000 MT/s, 최대 128GB, 쿼드 채널, 256GB/s 대역폭
40 CU / 2560 셰이딩 유닛 iGPU는 원시 성능에서 개별 RX 7600 XT와 거의 비슷하며, 선반에 올려 24/7 실행할 수 있을 만큼 작은 미니 PC에 내장되어 있습니다

노트북보다 여기서 iGPU가 더 강력하게 작동하는 이유: 8060S는 일반적으로 노트북 섀시에서 약 55W로 제한됩니다. MS-S1 MAX의 더 큰 방열 솔루션(6개 히트파이프, 듀얼 팬) 덕분에 Minisforum은 성능 모드에서 전력 제한을 120W까지 높일 수 있으며, 그에 따라 지속 클럭도 높아집니다. 이는 짧은 버스트가 아닌 지속적으로 추론을 실행하도록 설계된 머신에 중요합니다
비즈니스 워크플로를 가능하게 하는 RAM 트릭: MS-S1 MAX는 128GB의 납땜된 통합 쿼드 채널 LPDDR5X를 탑재합니다. AMDGPU 드라이버는 GTT(Graphics Translation Table)를 통해 시스템 RAM을 VRAM으로 할당할 수 있으며, 이 머신에서 iGPU는 해당 풀 중 최대 96GB를 가져오고 CPU에는 32GB를 남깁니다. 96GB 상한 덕분에 이 단일 머신은 진정으로 유능한 모델을 호스팅하면서 동시에 동일한 상자에서 에이전트 프로세스, 대시보드 및 기타 상시 가동 서비스를 실행할 수 있습니다
모델 레이어 설정 (Strix Halo에서의 llama.cpp)
Strix Halo용 llama.cpp의 사전 빌드된 Toolbox 컨테이너를 vulkan-amdvlk, vulkan-radv, rocm-6.4.4, rocm-6.4.4-rocwmma, rocm-7rc-rocwmma 등 여러 백엔드에 걸쳐 유지 관리합니다. 주로 HP G1a Mini(동일 Strix Halo 칩)용으로 빌드되었지만 MS-S1 MAX를 포함한 대부분의 Strix Halo 머신에서 작동합니다. vulkan-radv 백엔드는 테스트에서 가장 안정적이었으며 문제없이 더 큰 모델을 로드합니다
BIOS/UEFI: 최소 VRAM 할당을 1GB(Minisforum BIOS 최소값)로 설정합니다. 그러면 AMDGPU 드라이버가 GTT를 통해 시스템 RAM을 VRAM으로 자유롭게 할당할 수 있습니다
커널 파라미터 (Arch Linux에서 테스트, Strix Halo 커널을 지원하는 모든 최신 배포판에서 작동) VRAM 할당을 극대화하고 지연 시간을 줄이기 위한 설정:
amd_iommu=off amdgpu.gttsize=131072 amdttm.pages_limit=33554432 amdttm.page_pool_size=15728640
GPU 패스스루로 toolbox 생성:
toolbox create llama-vulkan-radv
--image docker.io/kyuz0/amd-strix-halo-toolboxes:vulkan-radv
-- --device /dev/dri --group-add video --security-opt seccomp=unconfined
진입:
toolbox enter llama-vulkan-radv
내부에서 llama-cli와 llama-server가 모델 실행을 위해 준비됩니다. 모든 레이어를 GPU로 강제하여 CPU가 다른 모든 것(에이전트 프로세스, Tailscale, 대시보드)을 위해 비어 있도록 합니다:
1# 터미널 전용2llama-cli --no-mmap -ngl 999 --flash-attn on -m <model>34# 웹 서버 UI — Hermes Agent가 가리킬 대상5llama-server --no-mmap -ngl 999 --flash-attn on --host <ip_address> --port <port_number> -m <model>
여기서 사용된 모델은 GGUF 형식으로 Hugging Face의 Unsloth에서 가져왔습니다.
모델 간 전환: llama-swap을 사용하면 수동으로 재시작하지 않고도 에이전트에 제공되는 모델을 쉽게 교체할 수 있습니다. Linux 바이너리를 다운로드하고, chmod +x를 실행한 후 config.yaml을 정의하세요.
1models:2 "OpenAI-20B-GPT-OOS":3 cmd: |4 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gpt-oss-20b-GGUF/gpt-oss-20b-F16.gguf -c 400005 "gemma-3-27b-it-abliterated":6 cmd: |7 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gemma-3-27b-it-abliterated-GGUF/gemma-3-27b-it-abliterated.q6_k.gguf -c 400008 "OpenAI-20B-NEO-CODEPlus":9 cmd: |10 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/OpenAI-20B-NEO-CODEPlus-Q5_1/OpenAI-20B-NEO-CODEPlus-Q5_1.gguf -c 4000011 "OpenAI-120B-GPT-OOS":12 cmd: |13 llama-server --no-mmap -ngl 999 --flash-attn on --port ${PORT} -m /models/gpt-oss-120b-GGUF/gpt-oss-120b-UD-Q4_K_XL-00001-of-00002.gguf -c 40000
이렇게 하면 머신에 직접 접촉하지 않고도 다양한 작업(빠른 응답에는 더 가볍고 빠른 모델, 더 많은 추론이 필요한 작업에는 120B 모델)에 맞게 모델을 전환할 수 있는 웹 UI가 제공되며, 전환 시 채팅 기록도 유지됩니다

성능 수치 (이 머신이 에이전트 워크로드를 감당할 수 있는 이유)
프롬프트 처리(pp512) 및 텍스트 생성(tg128)에 llama-bench 사용:
1모델크기프롬프트 처리 (t/s)텍스트 생성 (t/s)GPT-OSS-120B (Q4_K_XL)58.7GB454.15 ± 2.9856.61 ± 0.03GPT-OSS-20B (F16)12.8GB965.54 ± 9.5646.84 ± 0.06Gemma-3-27B (Q6_K)20.6GB178.14 ± 1.099.65 ± 0.01Qwen3-30B-A3B (BF16)56.9GB163.01 ± 1.339.23 ± 0.04

항시 가동 에이전트에 중요한 수치: 완전 로컬 120B 모델이 초당 56.6 토큰으로 생성됩니다. 이는 Hermes Agent가 모든 작업을 긴 대기 시간으로 만들지 않고 다단계 툴 호출 체인을 실행할 수 있을 만큼 빠른 속도입니다.
실제 부하 테스트: GPT-OSS-120B에 "LLM에 대한 에세이 생성(5000단어)" 프롬프트를 입력한 결과 7,990개의 토큰이 초당 51.2 토큰 속도로 생성되었습니다. 전력 소모는 iGPU에서 평균 약 110W였으며, 엣지 온도는 약 68-69°C로 안정적이었습니다. 6개 히트파이프/듀얼 팬 쿨러와 팬 곡선을 개선한 1.03 BIOS 업데이트 덕분에 조용하고 특별히 뜨겁지 않았습니다. 이 전력 및 열 프로필 덕분에 이 머신을 비즈니스 박스로 24/7 실행하는 것이 화재 위험이 아닌 현실적인 선택이 됩니다

NPU: XDNA 2 NPU(50 TOPS)는 아직 이 설정에서 사용되지 않았습니다. 지원이 아직 미성숙하기 때문입니다. Ryzen AI NPU에서 LLM 추론을 가능하게 하는 프로젝트인 FastFlowLM은 향후 더 많은 워크로드를 오프로드할 수 있는 유망한 방법으로 보이지만, 현재는 Windows가 필요합니다
워크플로 레이어: Hermes Agent 연결하기
이 단계에서 머신이 벤치마크가 아닌 실제 비즈니스 도구로 변합니다. Hermes Agent는 위의 로컬 모델을 가져와 실제로 작업을 수행하는 레이어입니다: 콘텐츠 초안 작성, 툴 호출 실행, 브라우징, 하위 에이전트 관리, 스케줄에 따라 작업 수행
1. Hermes Agent를 설치하고 로컬 모델을 가리킵니다. Hermes의 온보딩에서 모델 제공자를 선택하라고 합니다. 로컬/자체 호스팅 OpenAI 호환을 선택하고, llama-server가 실행 중인 localhost:<port>를 가리킨 다음, 로컬이므로 API 키는 건너뜁니다. Hermes는 특히 최소 컨텍스트 길이 64,000 토큰을 요구합니다. 워크플로에 방대한 코딩이나 긴 문서가 포함된 경우 늘리고, 이메일이나 소셜 게시물 같은 짧은 작업의 경우 더 낮게 유지하세요
2. 로컬 모델을 기본값으로 설정하되, 유일한 옵션으로 두지 마십시오. 실제 프로덕션 설정은 설계상 하이브리드입니다. 하드웨어가 따라잡지 못해서가 아니라, 일부 작업은 진정으로 120B 로컬 모델이 필요하지 않기 때문입니다: 빠른 응답, 간단한 서식, 짧은 조회. 로컬 모델을 기본값으로 설정한 다음, 실제로 가치를 더하는 경우(무거운 툴 호출 체인, 긴 디버깅 루프, 속도가 개인정보보다 중요한 작업)에 대한 라우팅 지침과 함께 폴백 제공자(OpenAI, Claude 또는 Open Router)를 추가하세요. Open Router는 이를 위한 저렴한 방법입니다. 10달러로 약 1,000개의 요청을 처리할 수 있으며, 중요하지 않은 하위 에이전트 작업을 위한 배출구로 유용합니다
3. 24/7 실행 상태를 유지합니다. 비즈니스 워크플로는 노트북을 닫을 때 다운되면 작동하지 않습니다. 부팅 시 Hermes Agent가 자동으로 다시 시작되도록 활성화하세요:
1sudo systemctl enable tailscaled2sudo systemctl enable hermes-agent
Hermes Agent가 기본적으로 systemd 서비스로 설치되지 않은 경우, 모든 AI 코딩 어시스턴트(Codex, Claude, Gemini, Warp)가 동등한 서비스 파일을 생성할 수 있습니다
4. Tailscale로 어디서든 접근합니다. 이것이 MS-S1 MAX를 "앞에 앉아야 하는 머신"에서 인프라로 바꿉니다. 미니 PC와 실제로 매일 작업하는 모든 장치(노트북, 휴대폰)에 Tailscale(무료 개인 플랜, 최대 6명 사용자)을 설치하세요. 둘 다 동일한 Tailscale 네트워크에 연결되면:
- 노트북에서 미니 PC로 SSH 연결하여 에이전트가 직접 실행할 수 없는 관리 명령을 실행합니다
- Hermes Agent 대시보드를 마치 localhost에서 실행되는 것처럼 원격으로 엽니다. 물리적으로는 방 건너편이나 국가 건너편에 있는 머신에서 실행 중이더라도 말이죠
- iOS의 경우 일부 터미널 앱(Termius)이 Tailscale이 예상하는 SSH 핸드셰이크를 건너뛰기 때문에, Tailscale의 액세스 제어에서 SSH 액세스 모드를 "허용"으로 설정하면 휴대폰이 연결할 수 있습니다. 책상에서 떨어져 있을 때 워크플로가 중단된 경우 수정하는 데 유용합니다
5. 에이전트가 비즈니스 작업을 실행하도록 합니다. 이렇게 스택을 연결하면 일상적인 패턴은 다음과 같습니다: 리서치, 글쓰기, 요약, 일상적인 툴 호출은 MS-S1 MAX에서 무료로 로컬 실행되며, 결과는 Telegram, 대시보드 또는 Hermes가 통합하는 모든 것을 통해 푸시됩니다. 빠른 속도(실시간, 고객 대면)가 필요하거나 로컬 모델이 진정으로 따라잡을 수 없는 추론이 필요한 모든 작업은 기본값이 아닌 예외적으로 폴백 제공자로 라우팅됩니다
하드웨어 선택이 실제로 얻을 수 있는 기능의 양을 결정하는 이유
로컬 모델은 그 위의 모든 것에 대한 병목 현상입니다. 낮은 두 자릿수 토큰/초의 9B 모델로도 Hermes Agent를 실행할 수 있지만, 하위 에이전트와 툴 호출이 포함된 다단계 에이전트 작업은 몇 분으로 늘어나 폴백 라우팅이 개입하기 전에 실제로 로컬에 유지할 수 있는 워크로드의 양을 제한합니다. 56+ 토큰/초의 120B 클래스 로컬 모델은 로컬 머신이 자체적으로 흡수할 수 있는 일상적인 워크로드의 양을 변화시킵니다. 더 많은 비즈니스 로직이 본인 소유 하드웨어에 유지되고, 클라우드 폴백은 중요하지 않은 작업의 기본 경로 대신 진정한 에지 케이스를 위한 도구가 됩니다
개인정보 보호는 하드웨어에 관계없이 변하지 않는 부분입니다. 어떤 모델이 로컬에서 실행되든, API 키, 고객 데이터, 비즈니스 워크플로는 절대 네트워크를 벗어나지 않습니다. 작은 모델을 실행하는 Raspberry Pi에서도 마찬가지이고, 120B 모델을 실행하는 MS-S1 MAX에서도 마찬가지입니다. 하드웨어는 클라우드 옵션에 손을 대기 전에 얼마나 많은 유용한 작업이 발생하는지만 결정합니다
실용적인 결론
실제 비즈니스 워크플로를 처리하는 24/7 로컬 에이전트 스택에 필요한 것은 다음과 같습니다: 진정으로 유능한 모델을 로드할 수 있는 충분한 통합 메모리, 해당 모델을 지속적으로 실행할 수 있는 충분한 지속 전력/열 헤드룸, 그리고 항상 켜두어도 실제 비용으로 나타나지 않을 만큼 낮은 유휴 전력 소모
MS-S1 MAX의 96GB 주소 지정 가능 iGPU 메모리, 110W 지속 부하 소모, 조용한 6개 히트파이프 냉각은 하드웨어 측면을 충족합니다. 로컬에서 실행되는 llama-server를 가리키고 Tailscale을 통해 어디서든 접근 가능한 Hermes Agent는 워크플로 측면을 담당합니다. 이 둘의 조합은 작업장에 두고 영구적으로 켜두며, 반복되는 클라우드 청구서나 데이터 유출 없이 비즈니스의 일상적인 AI 워크로드 중 의미 있는 부분을 실행할 수 있는 단일 미니 PC입니다
일반 워크스테이션 용도로 MS-S1 MAX는 PCIe 및 듀얼 M.2 확장, 약 5W 유휴 전력, 듀얼 10Gbps 이더넷, USB4 v2(80Gbps)도 제공합니다. 이 중 어느 것도 LLM 전용은 아니지만, 이 머신이 에이전트 박스 이상의 역할을 한다면 이 모든 것이 중요합니다





