로컬 AI 에이전트를 위한 누락된 Control Plane

발행: (2026년 5월 4일 AM 04:23 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 텍스트 외에 번역할 내용이 없습니다. 번역이 필요한 전체 텍스트를 알려주시면 한국어로 번역해 드리겠습니다.

현재 모바일 AI 에이전트의 문제점

  • 모델 우선 접근: 논의는 종종 모델 크기, 비용, 혹은 컨텍스트 윈도우에 초점을 맞추며, 에이전트가 이미 OS와 상호작용할 방법을 가지고 있다고 가정합니다.
  • 플랫폼 제한:
    • iOS 샌드박싱은 한 앱이 다른 앱을 제어하는 것을 차단합니다.
    • Android 접근성 서비스는 무겁고, 무서운 권한을 요구하며, 합성 기능이 제한적입니다.
  • 결과: 강력한 온‑디바이스 모델이라도 손이 없기 때문에 지도 앱을 열거나, “확인”을 탭하거나, 메시지를 입력할 수 없습니다.

제어 플레인이 제공하는 것

제어 플레인은 모델 아래에 위치하며 다음을 처리합니다:

  1. 관찰 – 화면 상태, UI 계층 구조, 현재 액티비티, 포그라운드 앱을 캡처합니다.
  2. 실행 – 탭, 입력, 스와이프, 그리기, 키 이벤트 또는 앱 실행과 같은 개별 동작을 수행합니다.
  3. 피드백 – 각 동작 후에 무엇이 변경되었는지 보고하여 모델이 다음 단계를 조정할 수 있게 합니다.

Drengr: 제어 평면의 한 구현

Drengr는 프로토콜을 지원하는 모든 AI 클라이언트(예: Claude Desktop, Cursor, Windsurf)가 사용할 수 있는 세 가지 간단한 MCP(Model‑Control‑Protocol) 도구를 제공합니다.

ToolPurpose
drengr_look현재 화면 및 UI 트리를 관찰
drengr_do탭 / 입력 / 스와이프 등 실행
drengr_query구조화된 데이터(디바이스, 활동, 크래시) 읽기

이 세 가지 동사는 깨지기 쉬운 셀렉터, XPath 복잡성, 혹은 지속적으로 실행되는 Appium 데몬을 대체합니다.

Runtime Architecture

  • 단일 정적 Rust 바이너리 – 네이티브 채널(안드로이드의 ADB, iOS 시뮬레이터의 WDA)을 통해 디바이스를 제어합니다.
  • 크로스‑플랫폼 추상화 – 동일한 바이너리가 추가 의존성 없이 Android와 iOS 모두에서 동작합니다.

실전에서의 에이전트 루프

  1. 관찰

    drengr_look

    Drengr는 스크린샷을 캡처하고 UI 트리를 덤프한 뒤, 이미지 약 100 KB에 비해 약 300 토큰 정도의 간결한 텍스트 설명을 생성합니다.

  2. 결정

    모델은 해당 설명을 처리하고 원하는 동작을 기술한 JSON 래퍼를 반환합니다.

  3. 실행 및 피드백

    drengr_do

    Drengr는 동작을 수행하고 상황 보고서를 생성합니다(이전 상태와의 차이점). 이 보고서는 다음 반복을 위해 모델에 다시 전달됩니다.

상황 보고서는 대부분의 프레임워크가 놓치는 부분입니다; 이를 생략하면 모델이 단계 사이에 맹목적으로 동작하게 되어(예: 작동하지 않는 버튼을 반복해서 탭하는 등) 과잉 행동을 할 수 있습니다.

로컬 제어 플레인이 필수적인 이유

항목클라우드 전용 어시스턴트가 겪는 문제
Latency전화기를 잡고 있을 때 2초 왕복은 끊어진 느낌이다.
Privacy은행, 건강, 메신저 데이터는 기기에 머물러야 한다.
Network independence지하철, 비행기, 불안정한 Wi‑Fi가 어시스턴트를 마비시키면 안 된다.

온‑디바이스 모델이 보편화됨에 따라 제어 플레인도 로컬에서 실행되어야 합니다. Drengr의 정적 바이너리 설계는 이 요구사항을 반영합니다.

실제 사용 사례

위의 세 가지 도구를 사용하면, 온‑디바이스 에이전트가 다음을 수행할 수 있습니다:

  • Photos를 열어 최근 사진을 찾아 WhatsApp 메시지에 첨부합니다.
  • 항공권 예약 앱을 모니터링하여 가격 하락을 감지하고 자동으로 재예약합니다.
  • 저시력 사용자를 위해 화면 공유를 통해 은행 앱을 조작합니다.
  • 사람들이 일반적으로 휴대폰에서 인간 비서에게 요청하는 다양한 작업을 수행합니다.

이러한 시나리오에는 새로운 모델 기능이 아니라 손‑눈 인프라가 필요합니다.

Drengr 시작하기

Drengr는 무료로 사용할 수 있습니다. 두 명령으로 설치하고 확인하세요:

# Claude Code를 통해 설치 (또는 직접 실행)
claude mcp add drengr -- npx -y drengr mcp

# 설치 확인
drengr doctor

AI 에이전트를 실행 중인 Drengr 인스턴스로 지정하고, 모델이 실제 손으로 행동하는 모습을 지켜보세요.

Rust 구현은 의도적인 선택이었습니다—자세한 내용은 별도 게시물을 참고하세요.

0 조회
Back to Blog

관련 글

더 보기 »