제가 가장 좋아하는 local LLMs의 사용 사례는 바로 저의 homelab 운영입니다. 모든 것이 사적으로 유지되기 때문에 (그리고 GPU를 정당화하는 데 도움이 되기 때문에 ㅋㅋ) 저는 모든 서비스를 관리할 수 있는 대시보드를 원했고, 그래서 Valet을 만들었습니다. 라이브 데모: https://demo.askvalet.dev
Valet은 어떤 로컬 또는 호스팅 모델과도 작동하는 채팅 에이전트(chat agent)를 가지고 있습니다. 185개 이상의 서비스와 통합되며 사용자 지정 플러그인도 지원합니다. pi-hole 일시 중지, 충돌 로그 조사 요청, 영화 요청 등 다양한 작업을 지시할 수 있습니다. 또한 자체 문서를 알고 있기 때문에 스스로 설정을 구성할 수도 있습니다. 대시보드에서 변경하고 싶은 내용을 알려주면 설정 파일(사용자 승인 하에)을 편집합니다. 저는 이미 홈페이지를 수정하는 것에 중독되었었는데, 이것 덕분에 훨씬 더 재미있어졌습니다 ㅋㅋ
제가 구동한 환경은 5090 GPU에서 Qwen 3.8 27B 모델이며, 속도는 약 230 tok/s입니다. 대부분의 응답 시간은 2~5초가 걸립니다. Qwen은 제가 작성한 작은 평가 세트(eval set) 중 약 90%를 통과했습니다. 어려움을 겪는 부분은 개방형 탐색(예: “이 타이머가 왜 작동하지 않나요?”와 같은 질문)입니다. 이 경우 수많은 도구 호출(tool calls)을 소모할 수 있습니다.
서비스가 많기 때문에 컨텍스트를 관리하는 것이 까다로웠고, 초기에는 도구 정의가 프롬프트의 약 90%를 차지했습니다. 몇 가지 최적화를 거치면서 도움이 된 부분들은 다음과 같습니다:
- 채팅에 필요하지 않은 통합 서비스의 도구를 숨기는 것
- '사고 과정(thinking)' 기능을 끄면 속도가 2~3배 빨라지지만, 후속 질문에 대해 지어내는 답변을 시작합니다.
- 도구들을 느리게 로드하는 방식(lazy load tools) (짧은 도구 목록으로 시작하고 질문이 필요할 때만 더 많은 도구를 로드) 이 방식을 사용하자 답변당 토큰 수가 30~50% 감소했습니다. 당연히 모든 모델과 설정은 다르기 때문에, 모든 것은 설정 파일에서 구성 가능합니다.
AI 관여도: 저는 소프트웨어 엔지니어(SWE)이며 코딩의 거의 모든 과정에 Claude를 사용했지만, 아키텍처 결정과 전체 설계 및 검토는 제가 직접 했습니다. 높은 품질을 구축하고 싶었기 때문에 슬롭(slop), 보안, 성능에 매우 신경 썼습니다.
하지만 아직 초기 단계라 제가 발견하지 못한 미흡한 부분이 있을 수 있습니다.
보안 및 개인 정보 보호: 계정이나 원격 측정(telemetry) 없이 사용자 자신의 하드웨어에서 실행됩니다. 기본적으로 읽기 전용이며, 인증(auth)을 활성화하기 전까지는 페이지에서 아무것도 변경할 수 없습니다 (로컬 계정, OIDC 또는 프록시의 인증 사용). 키는 서버에 유지되며 API 키는 .env 파일에 보관됩니다. 브라우저는 완성된 카드만 받습니다. AI가 사용자의 키를 절대 볼 수 없습니다. 변경되는 모든 것은 사용자 승인을 기다리며, 로컬 모델을 사용하므로 아무것도 네트워크 외부로 나가지 않습니다. Docker 접근은 소켓 프록시(socket proxy)를 통해 읽기 전용입니다.
문서 (완전히 무료 및 오픈 소스): https://askvalet.dev /u/egfwivbwwruigwrhfbsr 제출됨 [링크] [댓글]