메인 콘텐츠로 건너뛰기
조회수 2

LocalGPT: Rust 로컬 AI 어시스턴트, 영구 메모리까지

요약

LocalGPT: Rust 로컬 AI 어시스턴트, 영구 메모리까지

AI 어시스턴트를 쓰다 보면 “어제 얘기했던 규칙”을 오늘 또 설명하는 일이 생깁니다. 모델이 멍청해서가 아니라, 대화 창이 바뀌면 기억이 초기화되기 때문이죠. 오늘 소개할 LocalGPT는 이 고질병을 꽤 현실적으로 해결합니다. 핵심은 “로컬 우선”과 “영구 메모리”입니다. 내 PC에서 돌아가고, 지식은 마크다운 파일에 남겨서 다음 세션에도 이어집니다.1

이번 글에서는 LocalGPT가 무엇인지, 왜 설치가 유난히 가벼운지, 영구 메모리가 어떻게 돌아가는지(키워드 검색 + 의미 검색), 그리고 백그라운드 작업(HEARTBEAT)까지 어떤 그림인지 한 번에 정리해볼게요.

로컬 우선 AI 어시스턴트가 왜 다시 뜨는가

클라우드 AI는 편하지만, 회사 문서나 고객 데이터가 섞이는 순간 마음이 복잡해집니다. “이 프롬프트가 어디로 가는 거지?”라는 질문이 따라오니까요. 그래서 2026년의 로컬 LLM 흐름은 단순 유행이 아니라, 비용·오프라인·통제권 같은 실용적인 이유로 커지고 있습니다.2

LocalGPT는 이 흐름을 “도구의 형태”로 잘 정리한 쪽에 가깝습니다. 채팅앱이 아니라, 개인 기기에서 돌아가는 비서(에이전트)에 가깝고, 저장과 검색이 설계에 들어가 있습니다.1

27MB 단일 바이너리: 설치 스트레스가 사라진 이유

개발자들이 로컬 AI를 포기하는 순간은 보통 설치에서 옵니다. Python 버전 충돌, GPU 드라이버, Docker, Node.js… 시작하기 전에 지칩니다.

LocalGPT는 접근이 다릅니다. 약 27MB 단일 바이너리로 동작하고, 한 줄 설치 후 바로 실행하는 경험을 목표로 합니다.1 Rust 기반이라 배포가 깔끔한 편이고, “개발 환경”이 아니라 “실행 파일”에 가깝게 느껴집니다.

이 차이는 작아 보이지만, 팀이나 조직에서 내부 도구로 굴릴 때 특히 큽니다. 설치 문서가 길어지는 순간 채택률이 급락하거든요.

영구 메모리의 핵심: 마크다운 파일을 ‘기억 장치’로 쓴다

LocalGPT의 메모리는 데이터베이스 덩어리로 숨겨두지 않고, 사람이 읽을 수 있는 마크다운 파일(MEMORY.md, SOUL.md 등)을 기본 단위로 삼습니다.1 즉, “AI가 기억하는 내용”이 나도 열어볼 수 있고, 필요하면 직접 고치거나 버전 관리도 할 수 있습니다.

이 방식이 좋은 이유는 단순합니다. 기억이 쌓이면 반드시 관리 이슈가 생기는데, 그때 가장 강한 건 “사람이 이해 가능한 포맷”입니다. 예전에 많은 개발자들이 프로젝트별로 CLAUDE.md 같은 문서로 문맥을 붙잡아두려 했던 것도 같은 이유죠. 다만 손으로만 관리하면 금방 한계가 오고, 결국 자동화와 검색이 필요해집니다.3

LocalGPT는 바로 그 지점(자동화 + 검색)을 제품 설계로 밀어 넣었습니다.1

SQLite FTS5 + 임베딩: 키워드 검색과 의미 검색을 동시에

“기억을 파일로 저장한다”까진 쉬운데, 진짜는 “필요할 때 꺼내 쓰는 능력”입니다. LocalGPT는 여기서 하이브리드 검색을 씁니다.1

먼저, 키워드로 빠르게 찾는 쪽은 SQLite FTS5 같은 풀텍스트 검색이 담당합니다.1 SQLite는 원래 앱에 내장해서 쓰는 형태의 경량 DB로 유명하고, 모바일과 브라우저 등 엄청 많은 곳에서 이미 쓰이는 방식이라 안정감이 있습니다.4

그리고 “비슷한 의미”를 찾는 영역은 로컬 임베딩(semantic search)으로 보완합니다.1 키워드가 정확히 일치하지 않아도, “이건 도구 얘기네”, “이건 설정 관련이네” 같은 유사도를 기반으로 메모리를 끌어올 수 있죠. 실제로 LLM에 매번 긴 문맥을 먹이는 대신 로컬 검색으로 필요한 조각만 고르면, 입력 토큰을 크게 줄일 수 있다는 문제의식도 커지고 있고요.5

정리하면, LocalGPT의 메모리는 “그냥 저장”이 아니라 “검색을 전제로 한 저장”입니다. 이게 장기적으로 제일 중요합니다.

HEARTBEAT: 비서가 ‘백그라운드 업무’를 맡는 방식

LocalGPT에서 흥미로운 부분은 HEARTBEAT.md 같은 개념입니다.1 이건 “대화할 때만 반응하는 챗봇”에서 한 단계 더 나아가, 정해진 주기나 활성 시간대에 맞춰 백그라운드에서 작업을 대행하게 만드는 장치에 가깝습니다.1

예를 들어 이런 흐름이 상상 가능합니다. 낮에는 회의록을 정리해 MEMORY.md에 반영해두고, 밤에는 내일 할 일을 체크해서 HEARTBEAT에 따라 가볍게 리마인드하거나, 특정 폴더의 변경을 감지해 요약을 업데이트하는 식이죠. 핵심은 “한 번 시키고 끝”이 아니라 “운영되는 비서” 쪽으로 쓰임이 이동한다는 점입니다.

또 데몬으로 띄워서 HTTP API나 웹 UI와 붙이는 운영 형태도 제공하니, 개인용을 넘어서 팀 내부 도구로도 확장 여지가 보입니다.1

Claude·OpenAI·Ollama까지: 모델 공급자 선택지가 넓은 이유

LocalGPT는 특정 모델만 강제하지 않고, Anthropic(Claude), OpenAI, Ollama 같은 다양한 LLM 공급자를 지원하는 방향을 택했습니다.1 이 설계가 의미 있는 이유는 간단합니다.

첫째, “로컬 우선”을 유지하면서도 필요하면 클라우드 모델을 섞는 하이브리드 운영이 가능합니다. 둘째, 조직에서는 정책이나 비용 문제로 공급자가 바뀌는 일이 흔한데, 그때 도구를 갈아엎지 않아도 됩니다.

그리고 인터페이스도 CLI, 웹 UI, 데스크톱 GUI까지 다양하게 열어둬서, 개발자부터 비개발자까지 진입로를 여러 개 만들어 둔 느낌입니다.1

시사점 내용 (핵심 포인트 정리 + 개인적인 생각 또는 실용적 조언)...

LocalGPT를 한 문장으로 요약하면 “내 컴퓨터에서, 내 지식 파일을 기반으로, 계속 성장하는 AI 비서”입니다. 단일 바이너리 배포로 설치 장벽을 확 낮추고, 마크다운 메모리 + SQLite FTS5 + 의미 검색으로 ‘기억을 쌓고 꺼내는 구조’를 만들었습니다.1

만약 당신이 AI를 업무에 자주 쓰는데 매번 같은 설명을 반복하고 있다면, 먼저 작은 실험부터 추천합니다. 개인 프로젝트 하나를 정해 MEMORY.md를 만들어두고, “규칙/결정/자주 쓰는 답변”을 넣어보세요. 그다음 검색(키워드 + 의미)이 얼마나 체감되는지 확인하면, 로컬 우선 AI가 왜 “프라이버시”만의 이야기가 아닌지 바로 감이 올 겁니다.

참고 (본문에 사용한 경우에만 포함)

1Show HN: LocalGPT – Rust로 만든 영구 메모리를 갖춘 로컬 우선 AI 어시스턴트

2Top 5 Local LLM Tools and Models in 2026 - DEV Community

3How I Built Persistent Memory for AI Using TypeScript and Markdown - DEV Community

4SQLite - Wikipedia

5r/ClaudeAI on Reddit: [Open Source] I reduced Claude Code input tokens by 97% using local semantic search (Benchmark vs Grep)

LocalGPT: Rust 로컬 AI 어시스턴트, 영구 메모리까지

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.