16세에 구축한 완전 로컬 AI 어시스턴트 — 클라우드 없음, API 키 없음, GPU에서 실행
요약
16세 개발자가 클라우드와 API 키 없이 로컬 GPU에서만 작동하는 개인용 AI 어시스턴트 'O-AI'를 구축했습니다. llama.cpp와 Ollama를 기반으로 음성 제어, PC 자동화, 다단계 에이전트 시스템을 구현하여 프라이버시를 극대화했습니다.
핵심 포인트
- llama.cpp 및 Ollama를 활용한 완전 로컬 LLM 실행
- Whisper를 이용한 다국어 음성 제어 및 JARVIS 페르소나 구현
- 계획-실행-검증 루프를 갖춘 다단계 에이전트 시스템 구축
- 데스크톱 자동화 및 GPU 오프로딩 최적화 경험
저는 인도 푸네(Pune)에 사는 16세입니다. 지난 몇 년 동안 저는 완전 로컬 AI 데스크톱 어시스턴트인 O-AI를 구축해 왔습니다. 클라우드 없음. API 키 없음. 데이터가 기기를 떠나지 않음. 모든 것이 사용자의 자체 GPU에서 실행됩니다.
구축 이유
제가 시도해 본 모든 AI 어시스턴트는 데이터를 어딘가로 전송했습니다. ChatGPT, Copilot, Gemini — 모두 클라우드 방식이었습니다. 저는 Iron Man의 JARVIS처럼 똑똑하고, 빠르고, 개인적이며, 프라이빗한 무언가를 원했습니다. 그래서 처음부터 직접 만들었습니다.
O-AI가 할 수 있는 일
핵심 엔진 (Core engine):
- llama.cpp / Ollama를 통해 기기 내에서 LLM(대규모 언어 모델)을 완전히 실행 (인터넷 불필요)
- 자가 학습 코어 — 모든 대화에서 사실을 추출하고 이를 영구적으로 저장
- 미세 조정 (Fine-tuning) 파이프라인 — 사용자의 데이터를 사용하여 로컬에서 모델을 학습
음성 및 언어:
- Whisper(로컬 실행)를 통한 영어, 힌디어, 마라티어 음성 제어
- 사용자가 말하는 어떤 언어로든 응답
모드:
- JARVIS 모드 — 아크 리액터 HUD, 4가지 반응 상태, 영국 남성 목소리, "sir" 페르소나
- PC 제어 (Take Over PC) 모드 — 전체 데스크톱 자동화
- 애니메이션 플로팅 데스크톱 펫 (4가지 유형, 드래그 가능, 음성에 반응)
30개 이상의 자동화 패스트 패스 (fast-paths): 앱 열기, 웹 검색, 미디어 제어, 화면 비전 (screen vision), 코드 실행, 파일 편집, 커서 제어, 소셜 미디어 단계, 클립보드 작업 등...
다단계 에이전트 시스템 (Multi-step agent system): 14개 이상의 단계 유형(web_search, fetch_url, read_screen, run_code, edit_file, open_social 등)을 포함한 계획(plan) → 실행(execute) → 검증(verify) 루프
스택 (Stack)
Backend: Python (Flask IPC + agent core)
Frontend: Electron + vanilla JS
LLM: llama.cpp / Ollama
...
가장 어려웠던 버그들
"완료되었다고 말하지만 실제로는 아님" — 초기 버전에서는 에이전트 단계가 실패했을 때도 성공했다고 보고했습니다. 계획(plan)이 아닌 실제 결과를 읽는 적절한 결과 검증기(outcome verifier)를 구축하여 해결했습니다.
"무작위 영상을 여는" 버그 — 에이전트에게 무언가를 재생하라고 요청하면 무작위 YouTube 영상이 열렸습니다. 근본 원인은 계획 검증기(plan validator)가 [video_url]과 같은 플레이스홀더(placeholder) URL을 잡아내지 못했기 때문입니다. 모든 계획에 범용 콘텐츠 가드(universal content guard)를 적용하여 해결했습니다.
Windows에서의 GPU 오프로딩 (GPU offloading) — 적절한 CUDA 플래그를 사용하여 32개 레이어 전체를 GPU로 옮기는 작업은 시간이 너무 오래 걸렸습니다. 하지만 그만한 가치가 있었습니다.
내가 배운 것
실제로 무언가를 만드는 것은 그 어떤 튜토리얼보다 더 많은 것을 가르쳐 줍니다. 모든 버그는 당신이 아직 내리지 못한 설계 결정 (design decision)입니다. 만약 당신의 v1 버전이 부끄럽지 않다면, 당신은 너무 늦게 출시한 것입니다.
함께하기
- GitHub: github.com/Shriisoot
- Portfolio + TheLab: sankalpkulkarni.com
- Instagram: @shriisoot
만약 당신이 LLM (Large Language Model)을 사용하여 로컬 우선 (local-first) 방식을 구축하고 있다면, 댓글을 남겨주세요 — 함께 의견을 나누고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기