모든 것을 로컬에서 – 오프라인 AI 워크스페이스 구축기

1 month ago 11

  • 로컬 LLM 실행코드 샌드박스 환경을 이용해 클라우드 의존성 없이 AI 워크스페이스를 구성하는 방법에 대한 내용임
  • Apple Silicon 환경에서 가벼운 VM(컨테이너) 안에서 AI 생성 코드를 격리 실행하는 방식이 소개됨
  • Assistant-UIai-sdk를 활용해 여러 LLM을 선택적으로 사용할 수 있으며, 일부 오픈소스 모델의 tool-calling 지원 한계도 언급됨
  • Jupyter 서버와 Playwright 기반의 헤드리스 브라우저를 컨테이너에 구축하여 자동화, 코드 실행, 최신 정보 검색이 가능함
  • 주요 제한 사항으로는 Apple Silicon 전용, 봇 탐지 문제 등이 있으며, 사용자 프라이버시와 로컬 컴퓨팅 소유권 확대가 핵심 가치로 설명됨

요구 사항 및 배경

  • 한 사용자가 클라우드 및 원격 코드 실행 없이 모든 것을 로컬에서 실행하길 원함
  • 기존의 LLM 챗앱(예: ChatGPT, Claude)은 클라우드 기반 LLM 채팅, 클라우드/로컬 코드 실행, 인터넷 접근 기능을 제공함
  • 오픈 소스 LLM 사용 확대로 인해 이 모든 기능을 완전히 로컬에서 수행할 수 있는지 고민함
  • 로컬 LLM만으로는 부족하므로, 격리된 환경에서 코드가 실행되어야 하며, 브라우저를 통한 컨텐츠 접근도 필요함

아이디어 구상

  • LLM을 완전히 로컬 환경에서 실행
  • 경량 VM(가상머신) 내에서만 코드 실행을 처리하여 호스트 시스템의 위험을 차단
  • 헤드리스 브라우저를 추가해 자동화 및 새로운 정보, 도구 탐색을 지원함
  • AI 기획부터 코드 실행까지 완전히 로컬에서 이루어지는 프라이버시 보호 중심의 워크플로우 구성
  • 외부 서비스에 데이터를 제공하지 않고 로컬에서 사진, 동영상 편집 등 다양한 작업 가능

기술 스택

  • Apple Silicon에서 'container'를 이용해 격리 VM 환경 구축
  • Mac 앱 네이티브 개발을 시도했으나, a0.dev는 iOS에 친화적이어서 실패, Electron + NextJS도 난항을 겪음
  • 결국 로컬 웹 버전의 assistant-ui로 전환하여 간결하고 확장성 있게 구현함

Assistant-UI

  • 모델 선택 드롭다운 등 다양한 LLM 지원 기능을 제공할 것으로 기대됐으나, 제한적이었음
  • 예제 참고 후 ai-sdk를 통해 다중 모델 선택 기능 직접 구현
  • 초기에는 오픈AI/Anthropic처럼 클라우드 모델도 지원, 점진적으로 로컬 전환 유도 전략

Tool-calling 및 모델 지원 이슈

  • Tool-calling을 지원하는 모델이 필요했으나, Ollama 등 일부는 실제로 미지원
  • 공식 문서에는 툴 지원 명시되어 있으나 실 구현이 부족한 경우가 많음
  • 오픈소스 생태계의 빠른 변화로 인해 툴 지원 현황 및 토큰 가격 등 변동성이 큼

컨테이너 기반 격리 코드 실행

  • Apple의 Container 도구를 이용, Docker 대비 컨테이너마다 완전한 격리 VM 환경을 제공하므로 AI로 생성된 코드를 더 안전하게 실행할 수 있음
  • VM 환경에 Jupyter 서버를 배포, Model Context Protocol(MCP)로 노출하여 다양한 툴(Claude Desktop, Gemini CLI 등)에서 곧바로 활용 가능
  • coderunner MCP 서버 코드를 공개, 외부 툴과 연동 예시 제공
  • Apple Container 도구는 아직 불안정하여 빌드/이미지 문제 시 반복적 재시움 필요
  • 실제 영상 편집 테스트 등에서 UI + LLM + 코드러너 조합의 정상 동작 확인

헤드리스 브라우저 통합

  • 컨테이너 내에 Playwright 기반 헤드리스 브라우저를 배포 및 MCP 툴로 노출
  • 신규 툴/정보 탐색, Github 사용법 검색, 리서치 자동화 등의 활용 기대
  • 기본 워크플로우: 로컬 LLM + 샌드박스 코드 실행 + 헤드리스 브라우저 조합 구축 완료

지원 기능 예시

  • 특정 주제 리서치 및 요약
  • 자연어 명령으로 CSV 차트 생성 및 렌더링
  • ffmpeg를 이용한 동영상 편집(구간 자르기 등)
  • 이미지 리사이즈, 자르기, 포맷 변환
  • Github 도구의 컨테이너 내 설치
  • 웹페이지 크롤링 및 요약

볼륨 마운트 및 격리

  • 호스트의 ~/.coderunner/assets를 컨테이너 /app/uploads에 매핑, 파일은 안전하게 공유 공간에 보관
  • 실행된 코드는 호스트 시스템에 직접 접근불가로 보안성 확보

한계 및 향후 과제

  • Apple Silicon 환경에서만 동작, macOS 26은 선택 사항
  • 툴 관리, 출력 스트리밍 등 UI 개선 필요
  • 헤드리스 브라우저가 일부 사이트에서 봇 감지로 차단되는 문제 존재

결론

  • 본 프로젝트는 단순한 실험을 넘어 컴퓨팅 주권 및 프라이버시 보호에 초점을 맞춘 모델임

  • 클라우드, 원격서버 의존성 없이 개인 로컬 머신에서 데이터를 안전하게 처리하는 경험 제공

  • 최고의 LLM은 대형 클라우드에 머무를 수 있지만, 개인 프라이버시를 지킬 수 있는 로컬 AI 도구의 발전을 지향함

  • 오픈소스 coderunner-ui는 Github에서 사용 가능, 피드백 및 협업을 환영함

참고 링크

Read Entire Article