피드로 돌아가기
Dev.toAI/ML
원문 읽기
ADB 및 QEMU 기반 Android 제어권을 갖춘 Self-hosted AI Agent 아키텍처
I built a self-hosted AI agent that runs as a system service and controls Android over ADB — here's the architecture
AI 요약
Context
기존 AI 어시스턴트의 단순 질의응답 한계를 극복하고 실제 디바이스 제어와 시스템 자동화를 수행하는 Self-hostable 환경 필요. 타사 클라우드 의존성을 제거하여 데이터 프라이버시를 확보하고 다양한 외부 플랫폼과의 통합 제어권을 가지는 구조 설계.
Technical Solution
- Tool-calling Loop 기반의 반복적 추론 구조를 통해 AI 모델이 도구 호출-결과 확인-다음 단계 결정을 수행하는 피드백 루프 구현
- QEMU 기반 Ubuntu VM 내 Android Emulator를 배치하여 호스트 시스템과 격리된 안전한 Android Runtime 환경 구축
- UIAutomator XML 분석 및 Screenshot 기반의 시각 정보 처리를 통해 복잡한 Android UI 요소를 AI가 인식 가능한 형태로 추상화
- Node.js 서버 기반의 Unified Messaging Layer를 구축하여 15개 이상의 플랫폼을 단일
send_message인터페이스로 추상화 - SQLite WAL 모드 적용을 통한 동시성 읽기 성능 확보 및 서버 측
.env기반 Secret 관리를 통한 클라이언트 보안 강화 - MCP(Model Context Protocol) Client 기능을 통합하여 외부 MCP 서버의 도구를 에이전트 루프에 동적으로 확장하는 구조 채택
실천 포인트
1. AI 제어 대상의 보안을 위해 QEMU VM 등 샌드박스 환경 격리 여부 검토
2. 복잡한 UI 분석 시 raw XML 대신 핵심 노드만 추출하는 추상화 레이어(Observation Layer) 설계
3. 다양한 외부 API 통합 시 플랫폼별 특성을 제거한 Unified Interface 계층 적용
4. AI 모델의 무한 루프 방지를 위한 Step Limit 설정 및 상태 저장용 SQLite WAL 모드 검토