macOS용 로컬 우선 Linux MicroVM 샌드박스

13 hours ago 2

  • AI 에이전트 실행을 위한 경량 Linux 가상머신 환경으로, macOS의 Virtualization.framework를 기반으로 동작
  • 모든 실행이 기본적으로 일회성(Ephemeral) 으로 시작되어, 설치나 변경이 종료 시 자동 초기화됨
  • Checkpoint 기능을 통해 디스크 상태를 스냅샷으로 저장하고, 복원·분기·재사용 가능
  • 네트워크, CPU, 메모리, 디스크 크기를 명령줄 옵션이나 설정 파일로 세밀하게 제어 가능
  • AI 코드 실행, 패키지 설치, 평가 및 테스트용으로 안전하고 재현 가능한 로컬 샌드박스 환경을 제공

로컬 우선 샌드박스 개요

  • macOS에서 AI 에이전트용 경량 Linux VM을 실행하는 구조
    • Apple Virtualization.framework를 사용해 에뮬레이션 없이 ARM64 네이티브 속도 제공
    • Docker 의존성이 없으며, 기본적으로 임시적(Ephemeral) 실행 형태
  • 각 실행은 깨끗한 rootfs에서 시작하며, 변경 사항은 저장하지 않는 한 유지되지 않음

상태 관리와 스냅샷

  • Checkpoint 기능으로 디스크 상태를 이름 있는 스냅샷으로 저장 가능
    • 저장된 스냅샷은 복원, 분기, 반복 실행 가능
    • Git 커밋처럼 환경 버전 관리가 가능함
  • 예시 명령:
    • $ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm' → ‘myenv’ 스냅샷 저장
    • $ shuru run --from myenv -- node -e 'console.log("ready")' → 저장된 환경에서 즉시 실행

CLI 기능

  • 단일 명령으로 VM을 부팅하고 종료하는 간단한 CLI 인터페이스 제공
    • $ shuru run -- echo "hello from the sandbox" → 샌드박스 내 명령 실행
    • $ shuru run -- cat /etc/os-release | head -1 → Alpine Linux 환경 확인
  • 네트워크 접근은 기본 비활성화, --allow-net 플래그로 NAT 활성화 가능
  • 리소스 설정: --cpus, --memory, --disk-size 옵션으로 실행 환경 조정
  • 포트 포워딩 지원: -p 8080:8000 형식으로 호스트와 게스트 간 연결 가능

AI 에이전트 실행 및 활용

  • AI 생성 코드 실행을 위한 격리된 VM 환경 제공
    • 실시간 출력 확인 가능
  • 패키지 설치, 코드 컴파일, 시스템 도구 사용을 안전하게 수행
  • 병렬 샌드박스 실행으로 환경 간 일관된 평가 수행 가능
  • 테스트, 디버깅, 프로토타이핑을 위한 일회용 Linux 환경으로 활용 가능

설치 및 시작

  • 설치와 실행 모두 단일 명령으로 수행 가능
  • 빠른 초기화와 폐기 가능한 환경으로, 개발자와 AI 시스템 모두에 안전한 실행 공간 제공

Read Entire Article