Compose Driver로 모바일 앱을 Vibe 코딩

발행: (2026년 2월 7일 오전 02:54 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

무엇인가요?

Compose Driver는 AI 에이전트가 Jetpack Compose 앱을 조작할 수 있게 해 주는 라이브러리이자 Gradle 플러그인입니다. UI를 테스트 하네스로 감싸서 HTTP 요청을 수신하도록 합니다.

이를 통해 AI 에이전트는 다음을 할 수 있습니다:

  • UI 조회 – 화면에 어떤 버튼이나 텍스트가 있는지 확인합니다.
  • 상호작용 – 클릭, 스와이프, 타이핑 등을 수행합니다.
  • 검증 – UI 트리를 출력하거나, 스크린샷을 찍거나, GIF를 녹화합니다.

JVM 헤드리스 환경에서 실행되므로 빠르고 어디서든 실행할 수 있어 백그라운드 혹은 클라우드 에이전트에 적합합니다. Desktop/Multiplatform Compose와 Android Jetpack Compose(Robolectric 사용)를 모두 지원합니다.

작동 원리

핵심 구현은 300줄 미만입니다. 작은 로컬 서버를 시작해 HTTP 요청을 표준 ComposeUiTest 액션으로 변환합니다.

runComposeUiTest { uiTest ->
    // Set the application content.
    // There is also a /reset endpoint to change this content at runtime.
    uiTest.setContent { MyApplication() }

    startServer {
        get("/click") { request ->
            val matcher = request.node()          // Find the node (e.g. by tag or text)
            uiTest.onNode(matcher).performClick() // Perform the click
            uiTest.waitForIdle()                  // Wait for animations to settle (advancing the virtual clock time)
            request.respondText("ok")             // Tell the agent it's done
        }
        get("/screenshot") { request ->
            val node = request.node()
            val image = uiTest.onNode(node).captureToImage()
            request.respondPng(image)
        }
        // …
    }
}

이 간단한 루프 덕분에 에이전트는 사용자가 하는 것처럼 앱을 탐색하지만, 가상 시계를 이용해 애니메이션을 가속화하므로 훨씬 빠르게 동작합니다.

이 접근 방식은 Jetpack Compose의 강력한 테스트 API에 의존합니다. 이 API는 UI 시계와 입력 주입을 세밀하게 제어하면서도 렌더링 플랫폼과는 분리되어 있습니다.

직접 사용해 보기

시연을 위해 간단한 Instagram 스타일 클론을 만들었습니다. 에이전트에게 “Instagram UI 클론을 만들어줘” 혹은 “앱을 개선하고 누락된 기능을 추가해줘” 라고 프롬프트하면, 에이전트가 메뉴를 탐색하고 버튼을 클릭해 한 번의 실행으로 다섯 개의 새로운 화면을 추가했습니다. 프로토타입은 약 10개의 프롬프트로 한 시간 이내에 완성되었습니다.

아래는 실제 동작 모습을 담은 짧은 영상입니다:

(영상 삽입은 생략)

신뢰성에 대한 한마디

Compose Driver가 AI로 모바일 앱을 만드는 모든 문제를 마법처럼 해결해 주지는 않습니다. 프로덕션 환경에서는 생성된 코드를 검토하고 에이전트의 의사결정을 이해하는 것이 여전히 필수입니다. 하지만 취미 프로젝트, 프로토타입, 실험적인 작업에서는 빠른 피드백 루프를 제공해 개발 경험을 크게 향상시킬 수 있습니다.

AI 에이전트에게 작업을 검증할 수 있는 도구를 제공하면, 피드백 루프를 닫고 자율적으로 반복할 수 있기 때문에 생성 코드의 품질이 향상되는 경향이 있습니다.

확인해 보세요

모바일 에이전트 워크플로에 관심이 있거나 그냥 실험해 보고 싶다면, 코드는 오픈 소스입니다:

https://github.com/jdemeulenaere/compose-driver

레포지토리에는 sample/ 프로젝트가 포함되어 있어, 좋아하는 AI‑지원 편집기에서 바로 열어 빠르게 시작할 수 있습니다. 도움이 되었으면 좋겠어요—생각을 알려 주세요!

Back to Blog

관련 글

더 보기 »