내가 Raspberry Pi를 24/7 AI 자동화 실험실로 만든 방법
요약
Raspberry Pi 4를 활용하여 저전력으로 24시간 가동되는 AI 자동화 실험실을 구축하는 방법을 소개합니다. Docker, Python, Ollama를 사용하여 로컬 LLM 기반의 AI 에이전트를 실행하고 시스템을 모니터링하는 전체 스택을 다룹니다.
핵심 포인트
- Raspberry Pi 4를 활용한 저비용·저전력 AI 에이전트 서버 구축
- Docker와 Python(uv)을 이용한 효율적인 소프트웨어 스택 구성
- Ollama를 통한 로컬 LLM 기반의 자율적 에이전트 워크플로우 구현
- Prometheus와 Grafana를 활용한 실시간 시스템 모니터링
내가 Raspberry Pi를 24/7 AI 자동화 실험실로 만든 방법
몇 달 전, 저는 서랍 속에 먼지만 쌓여가던 Raspberry Pi 4를 가지고 있었습니다. 홈 서버를 구축하겠다는 거창한 계획을 가지고 구매했지만, 많은 취미 프로젝트가 그렇듯 중단되고 말았습니다. 그러다 문득 아이디어가 떠올랐습니다. 이 작은 컴퓨터를 본격적인 AI 자동화 실험실로 바꾸면 어떨까? 단순히 서버 역할만 하는 것이 아니라, 전구보다 적은 전력을 소모하는 장치 위에서 에이전트 (Agents)를 실행하고, 작업을 모니터링하며, 콘텐츠를 게시하기까지 하는 지능형 시스템 말입니다.
이 포스트는 제가 이를 어떻게 수행했는지, 무엇을 배웠는지, 그리고 여러분도 어떻게 똑같이 할 수 있는지에 대한 이야기입니다.
비전 (The Vision)
저는 다음과 같은 기능을 수행할 수 있는 무언가를 원했습니다:
- AI 에이전트 (AI agents)를 자율적으로 실행
- 반복적인 작업 자동화 (블로그 게시물 게시와 같은 작업)
- 시스템 모니터링 및 알림 전송
- 시간이 지남에 따라 학습 및 적응
이 모든 것을 35달러짜리 컴퓨터로 말이죠. 야심 차게 들리나요? 그렇습니다. 하지만 놀라울 정도로 실현 가능합니다.
하드웨어 구성 (The Hardware Setup)
제 구성은 간단합니다:
- Raspberry Pi 4 (4GB) – 두뇌 역할
- 128GB microSD card – 저장 장치 (SSD가 더 좋다는 것은 알지만, 이것으로도 작동합니다)
- PoE HAT – 하나의 케이블로 전원과 네트워킹 해결
- 3D-printed case – 헤드리스 서버 (Headless server)라 할지라도 미학은 중요하니까요
총 비용: 100달러 미만. 클라우드 서버 비용과 비교해 보면, Pi는 한 달 만에 본전을 뽑습니다.
소프트웨어 스택 (The Software Stack)
저는 Raspberry Pi OS Lite (64-bit)로 시작하여 그 위에서 구축해 나갔습니다. 제가 실행 중인 구성은 다음과 같습니다:
1. Docker & Docker Compose
모든 것은 컨테이너 (Containers)에서 실행됩니다. 이는 시스템을 깨끗하게 유지하고 배포를 재현 가능하게 만듭니다.
2. Python 3.11+
제 자동화 스크립트의 대부분은 Python으로 작성되었습니다. 빠른 패키지 관리와 가상 환경을 위해 uv를 사용합니다.
3. 스케줄링을 위한 크론 잡 (Cron Jobs)
Pi는 정해진 간격으로 Python 스크립트를 트리거하는 크론 잡 (Cron jobs)을 실행합니다. 어떤 것은 매분, 어떤 것은 매시간, 어떤 것은 매일 실행됩니다.
4. AI 에이전트 프레임워크 (AI Agent Framework)
이 부분이 흥미로워지는 지점입니다. 저는 Ollama를 통해 로컬 LLM (Local LLMs)을 사용하는 경량 에이전트 프레임워크를 구축했습니다. 에이전트들은 다음과 같은 일을 할 수 있습니다:
- 파일 읽기 및 쓰기
- 셸 명령 (Shell commands) 실행
- HTTP 요청 (HTTP requests) 수행
- 여러 동작을 하나로 체이닝 (Chain multiple actions together)
5. Prometheus + Grafana를 이용한 모니터링
저는 CPU 사용량, 온도, 디스크 공간, 그리고 네트워크 활동을 모니터링합니다. Grafana 대시보드는 Raspberry Pi의 상태를 시각적으로 한눈에 보여줍니다.
자동화 워크플로우 (Automation Workflows)
현재 제 Raspberry Pi가 자동으로 수행하고 있는 몇 가지 작업은 다음과 같습니다:
콘텐츠 게시
매일 아침 8시, cron 작업이 AI 에이전트를 트리거하여 블로그 포스트 초안을 작성하고, 제목을 생성한 뒤, API를 통해 Dev.to에 게시합니다. 네, 지금 보고 계신 이 포스트조차 제 옷장 속에 있는 Raspberry Pi에서 실행 중인 에이전트가 작성했을지도 모릅니다.
시스템 상태 점검
5분마다 스크립트가 주요 서비스들이 실행 중인지 확인합니다. 만약 무언가 실패하면 재시작을 시도합니다. 재시작마저 실패하면 저에게 Telegram 메시지를 보냅니다.
데이터 백업
매일 밤 중요한 디렉토리들을 원격 서버로 백업합니다. 에이전트는 백업이 성공했는지 확인하며, 실패할 경우 저에게 알림을 보냅니다.
보안 스캐닝
매주 홈 네트워크의 열린 포트와 취약점을 자동으로 스캔합니다. 결과는 LLM에 의해 요약되어 제 이메일로 전송됩니다.
도전 과제들
모든 과정이 순탄치만은 않았습니다. 가장 큰 장애물들은 다음과 같습니다:
메모리 제약 (Memory Constraints)
여러 컨테이너를 실행할 때 4GB RAM은 매우 빠듯합니다. 어떤 프로세스를 계속 실행할지 아주 냉정하게 결정해야 했습니다. SD 카드로 스와핑 (Swapping)하는 것은 느리고 SD 카드의 수명을 단축시킵니다.
SD 카드 마모
SD 카드는 쓰기 사이클이 제한되어 있습니다. 저는 로그를 tmpfs로 옮기고, 쓰기 빈도를 줄였으며, 조만간 SSD로 업그레이드할 계획입니다.
LLM 성능
Raspberry Pi에서 LLM을 로컬로 실행하는 것은 느립니다. 작은 모델의 경우 초당 5~10 토큰 (tokens/second) 정도의 속도가 나옵니다. 더 무거운 작업의 경우 클라우드 API (Cloud APIs)로 라우팅하지만, 간단한 작업에는 로컬 추론 (Local inference)으로도 충분합니다.
정전
가끔 정전이 발생하는 지역에 살고 있기 때문에, 짧은 정전 동안에도 Raspberry Pi가 계속 작동할 수 있도록 UPS (Uninterruptible Power Supply, 무정전 전원 장치)를 추가했습니다.
결과
이 설정을 운영한 지 3개월이 지난 후:
- 가동 시간 (Uptime): 99.2% (UPS 덕분에!)
- 전력 소모 (Power draw): 평균 ~5W
- 자동화된 작업 (Tasks automated): 일일 15개 이상의 워크플로 (workflows)
- 비용 (Cost): 해당 워크로드에 대한 클라우드 비용 $0
- 재미 요소 (Fun factor): 측정 불가 수준
도움이 된 도구들 (Tools That Helped)
이 시스템을 구축하면서 자동화에 대해 많은 것을 배웠지만, 동시에 제가 얼마나 많은 시간을 바퀴를 다시 발명하는 데(reinventing the wheel) 쓰고 있었는지 깨닫게 되었습니다. 그래서 가장 유용한 스크립트와 프레임워크를 재사용 가능한 툴킷 (toolkits)으로 패키징하기 시작했습니다.
만약 유사한 자동화 시스템을 구축하는 데 관심이 있다면, **AI Agent Toolkit**을 확인해 보세요. 제가 매일 사용하는 Python 기반의 에이전트 프레임워크 (agent frameworks), cron 템플릿, 그리고 자동화 패턴 (automation patterns)을 엄선하여 모아둔 컬렉션입니다. 이 툴킷은 여러분이 1시간 이내에 기초 단계에서 작동하는 자동화 실험실을 구축할 수 있도록 설계되었습니다.
시작하기 (Getting Started)
여러분만의 Pi 자동화 실험실을 구축하고 싶으신가요? 여기 빠른 시작 체크리스트가 있습니다:
- Raspberry Pi OS 플래싱 (Flash): SD 카드에 OS 설치
- SSH 활성화 (Enable SSH): 헤드리스 (headless) 설정
- Docker 설치:
docker-compose포함 - Python 가상 환경 (virtual environment) 설정:
uv사용 - 첫 번째 자동화 스크립트 작성: 일일 날씨 보고서와 같이 간단한 것부터 시작
- cron에 추가:
crontab -e사용 - 반복 및 확장: 모니터링, 알림, 그리고 AI 에이전트 (AI agents) 추가
마치며 (Final Thoughts)
Raspberry Pi를 AI 자동화 실험실로 만드는 것은 제가 해온 프로젝트 중 가장 보람찬 일 중 하나입니다. 실용적이고, 비용을 절약해주며, 환상적인 학습 경험을 제공합니다. 게다가, 옷장 속에 있는 35달러짜리 컴퓨터가 여러분의 디지털 삶을 조용히 실행하고 있다는 사실을 아는 것은 깊은 만족감을 줍니다.
만약 비슷한 것을 만드셨다면, 꼭 소식을 들려주세요. 아래에 댓글을 남겨주세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기