Android 앱을 분석하여 '노트 생성', '미디어 재생', '자동화된 또는 AI 에이전트가 트리거한 메시지 전송', '음성 명령', '시스템 바로 가기'와 같은 주요 사용자 워크플로를 AppFunctions로 식별합니다. 앱 UI를 열 필요가 없습니다.
이러한 워크플로를 Android 시스템에 노출하는 Kotlin 코드를 생성하여 에이전트가 기기에서 이를 발견하고 실행할 수 있도록 합니다.
또한 AI 에이전트가 제공된 기능을 올바르게 이해하고 사용할 수 있도록 KDoc 문서를 개선합니다.
필수 조건
앱은 targetSdk 36 이상이어야 하며 compileSdk 37 이상을 사용해야 합니다. AppFunctions는 Android 플랫폼 API의 일부이므로 Android 16부터 사용할 수 있습니다.
항상 Jetpack 라이브러리를 사용하여 하위 호환성을 처리하세요.
워크플로
이 기술을 통해 호출자는 시스템 에이전트에 제공될 기능을 발견하고, 이러한 기능을 AppFunctions로 구현하며, 에이전트를 위한 함수 설명을 개선하고, 로컬 평가 및 테스트를 위해 ADB 명령을 사용할 수 있습니다.
전체 AppFunction 개발 흐름은 다음 네 단계로 구성됩니다.
- 1단계: 발견: Android 코드베이스를 분석하여 잠재적인 AppFunctions를 식별하고 추천합니다. 사용자가 "AppFunctions 발견", "AI를 위한 기능 찾기" 또는 "에이전트 도구를 위해 내 앱 분석"을 요청할 때 이 단계를 사용하세요.
- 2단계: 구현 및 구성: AppFunctions의 Kotlin 구현을 생성하고, 시스템 전반의 구성을 관리하며, 빌드 종속성을 구성합니다. 사용자가 "AppFunctions 구현", "AppFunctions 프레임워크 설정" 또는 "AppFunctions를 위한 Hilt 구성"을 요청할 때 이 단계를 사용하세요.
- 3단계: KDoc 개선: AI 에이전트 및 모델 컨텍스트 프로토콜을 위한 AppFunction KDoc을 최적화합니다. 사용자가 "KDoc 작성", "MCP에 최적화" 또는 "LLM을 위한 도구 설명 리팩터링"을 요청하면 이 단계를 사용하세요.
- 4단계: 테스트 및 디버깅: ADB를 사용하여 AppFunctions와 상호 작용하기 위한 명령을 제공하여 테스트 및 디버깅을 수행합니다. 사용자가 기기에서 "앱 함수 나열", "앱 함수 호출" 또는 "앱 함수 등록 확인"을 원하면 이 단계를 사용하세요.
사용자가 단계의 일부만 요청하는 경우, 모든 단계를 사용하도록 권장해야 합니다.
해당하는 경우 다음 참조를 로드해야 합니다.
- 컨텍스트 및 용어: AppFunctions 기술 모음 전반에 걸친 보편적인 언어, 아키텍처 정의 및 디자인 패턴을 정의합니다. 핵심 아키텍처 용어를 이해해야 하거나 최신 및 레거시 AppFunctions API 간의 차이점을 확인해야 할 때 로드하세요.
- 서비스 진입점으로 마이그레이션: AppFunctions 버전 1.0.0-alpha09 이하를 사용하는 Android 애플리케이션을 버전 1.0.0-alpha10에 도입된
AppFunctionServiceEntryPoint아키텍처로 마이그레이션하는 체계적인 절차를 문서화합니다. 사용자가 기존 AppFunctions 코드를 마이그레이션하거나 업그레이드하도록 요청하거나, 레거시AppFunctionConfiguration.Provider구현을 발견할 때 로드하세요.
중요한 제약 조건
- 모듈 일관성: AppFunction 구현을 생성한 직후 KDoc을 개선해야 합니다.
- 보안: 사용자 확인 없이 중요한 데이터를 노출하거나 파괴적인 작업을 실행하지 마십시오.
문제 해결
- Kotlin Symbol Processing(KSP) 문제와 같은 빌드 타임 오류가 발생하면 구현 및 구성을 참조하세요.
- 누락된 서비스 또는 실행 실패와 같은 런타임 오류가 발생하면 테스트 및 디버깅을 참조하세요.
- 아키텍처 정의 및 용어가 필요한 경우 컨텍스트 및 용어를 참조하세요.
- 레거시 구성 업그레이드 시 문제가 발생하면 서비스 진입점으로 마이그레이션을 참조하세요.