
ADK for Android는 이름만 보고 판단하면 핵심을 놓치기 쉬운 주제입니다. 이 글은 최신 출처와 구조를 기준으로 독자가 실제로 확인해야 할 기준을 정리합니다.
핵심은 Kotlin Android 앱에서 ADK 기반 AI 에이전트 흐름을 이해입니다. 단정적인 결론보다 확인 순서와 리스크를 분리해 보는 것이 중요합니다.

ADK for Android 설계 체크표

ADK for Android 흐름을 그림으로 보기

Kotlin으로 AI 에이전트를 만든다는 말의 의미
ADK for Android를 쓰면 Kotlin 또는 Java 기반 Android 앱 안에서 agent 구조를 만들 수 있습니다. 여기서 agent는 단순 챗봇 화면이 아니라 instruction, model, tool, runner가 함께 움직이는 작은 실행 단위로 보는 편이 좋습니다.
다만 Android 앱 안의 agent는 서버에서 무거운 workflow를 돌리는 agent와 다릅니다. 모바일 환경의 지연시간, 배터리, 네트워크, 권한, UI 상태를 함께 고려해야 합니다.
ADK for Android의 기본 흐름
- Agent의 역할과 instructions를 정의한다
- 앱 안에서 호출할 tool을 작게 만든다
- cloud Gemini 모델 또는 on-device Gemini Nano 사용 여부를 정한다
- InMemoryRunner 같은 runner로 agent 실행을 연결한다
- 결과를 coroutine 흐름으로 받아 UI 상태에 반영한다
이 흐름은 Android 개발자에게 익숙한 ViewModel, coroutine, UI state 설계와 연결해서 이해하는 것이 좋습니다.
cloud model과 on-device model을 나눠야 한다
cloud Gemini 모델은 더 넓은 기능과 품질을 기대할 수 있지만 네트워크, 비용, 개인정보 설계를 함께 봐야 합니다. on-device Gemini Nano는 기기 안에서 처리할 수 있는 장점이 있지만 지원 기기와 기능 범위가 중요합니다.
- 사용자 개인 입력이 민감하면 on-device 우선 검토
- 긴 추론과 최신 정보가 필요하면 cloud model 검토
- 기기 미지원 상황은 fallback 설계
- tool이 실제 변경을 수행하면 사용자 확인 단계 필요
Android 앱에서 tool을 설계할 때
모바일 앱의 tool은 서버 agent의 tool보다 더 조심해서 작게 만들어야 합니다. 연락처, 파일, 위치, 결제, 계정 정보처럼 사용자 권한과 연결되는 기능은 모델 판단만으로 실행하면 위험합니다.
조회 tool과 변경 tool을 분리하고, 변경 tool은 UI 확인을 거치게 만드는 것이 기본입니다. 예를 들어 “캘린더 후보 시간 찾기”는 자동으로 가능해도 “일정 등록”은 사용자 확인 후 실행하는 식입니다.
지금은 어떤 앱부터 시도하면 좋을까
처음부터 복잡한 자율 agent를 만들기보다 앱 안의 작은 도우미 기능부터 시작하는 것이 좋습니다. 입력 문장 정리, 화면 도움말, 로컬 데이터 질의, 설정 추천처럼 실패 비용이 낮고 검증하기 쉬운 기능이 출발점입니다.
Android agent를 화면 상태와 분리해야 하는 이유
agent 실행은 사용자의 한 번 탭보다 오래 걸릴 수 있습니다. 중간에 화면이 회전되거나 앱이 백그라운드로 가거나 네트워크가 끊기면 UI 상태와 실행 상태가 어긋날 수 있습니다.
- 실행 중, 성공, 실패, 사용자 확인 대기 상태를 분리한다
- ViewModel은 UI state를 관리하고 agent 실행 세부사항은 use case로 숨긴다
- 권한이 필요한 tool은 호출 전후로 UI 확인을 둔다
- 긴 작업은 취소와 재시도 UX를 함께 설계한다
이 기준을 잡지 않으면 agent 기능은 데모에서는 좋아 보이지만 실제 앱에서는 중복 실행, 결과 유실, 권한 오동작 같은 문제로 이어질 수 있습니다.
ADK를 바로 제품 핵심에 넣기 전 확인할 것
초기 버전의 SDK나 빠르게 변하는 API는 작은 기능에서 먼저 검증하는 편이 안전합니다. build 설정, dependency 충돌, minSdk, 기기 지원, 모델 연결 방식이 제품 구조와 맞는지 확인해야 합니다.
특히 Android 앱은 배포 후 사용자의 기기 환경이 다양합니다. 특정 기기에서만 가능한 on-device agent 기능이라면 서버 경로 또는 기능 비활성화 안내까지 제품 요구사항에 넣어야 합니다.
정리
Kotlin으로 AI 에이전트를 만드는 일은 가능해지고 있지만, 모바일 앱에서는 agent를 작고 검증 가능한 기능으로 제한하는 감각이 중요합니다. ADK for Android는 agent, tool, runner, Gemini 모델 연결을 제공하지만, 제품 코드에서는 권한, fallback, UI 확인, 기기 지원 범위를 함께 설계해야 합니다.
관련 글로는 온디바이스 AI 앱은 언제 유리할까, AI 에이전트란 무엇인가, Kotlin Multiplatform은 Android 앱에서 언제 도입해야 할까을 함께 보면 좋습니다. 외부 기준은 Android Developers – ADK agents for Android, Android Developers – Gemini Nano, Android Developers – AI overview을 확인했습니다.