- 정교하고 확장 가능한 AI 에이전트를 설계하기 위한 오픈 소스 프레임워크입니다.
- Gemini Nano를 통해 Android 기기에서 로컬 실행을 기본적으로 지원합니다.
- 클라우드 및 온프레미스 모델을 결합하여 다중 에이전트 시스템을 오케스트레이션할 수 있는 기능.
- 맞춤형 도구와 MCP 표준을 통합할 수 있는 유연한 생태계입니다.
인공지능과 코틀린 프로그래밍에 관심이 있다면, 에이전트 개발 키트(ADK)가 흥미로운 변화를 가져올 테니 기대하세요. 간단히 말해, ADK는 에이전트 개발 키트입니다. 오픈 소스 툴킷 이를 통해 사용자는 자신의 컴퓨터, Google 클라우드 또는 사용자의 모바일 기기에서 직접 실행할 수 있는 AI 에이전트를 완벽하게 제어하며 설계할 수 있습니다.
이 프레임워크의 가장 강력한 측면은 접근 방식을 택한다는 점입니다. "코드 우선"번거로운 외부 인터페이스 설정은 잊으세요. 여기서는 동작, 오케스트레이션 로직, 도구 사용법을 코드에서 직접 정의할 수 있습니다. 에이전트를 디버그하고 버전 관리하세요. 다른 방법들에 비하면 식은 죽 먹기일 것이다.
안드로이드 생태계에서의 구현
ADK는 모바일 기기에 AI를 구현하는 데 있어 진가를 발휘합니다. 안드로이드 환경에 최적화된 종속성 덕분에 다음과 같은 환경을 만들 수 있습니다. 개인정보보호를 우선시하다 또한 지속적인 인터넷 연결에 의존하지 않기 때문에 지연 시간이 매우 짧습니다.
시작하려면 Android Studio와 최신 Android SDK(최소 버전)가 필요합니다. compileSdk 34 및 minSdk 24Gradle 설정 파일에 라이브러리를 추가해야 합니다. google-adk-kotlin-core-android 그리고 KSP 주석 처리기. 중요한 점은 다음과 같습니다. 섞어서 쓰면 안 돼요. 안드로이드의 JVM 의존도는 제한적입니다. 모바일 버전에는 이미 필요한 모든 기능과 기기 모델과의 특정 호환성이 포함되어 있기 때문입니다.
에이전트를 정의할 때 구문은 매우 직관적입니다. 다음과 같은 어노테이션을 사용할 수 있습니다. @Tool y @Param 에이전트가 어떤 기능을 가지고 있는지 나타내기 위해서입니다. 예를 들어, 특정 도시의 현재 시간을 제공하는 서비스를 만들고 이를 연결할 수 있습니다. LlmAgent Gemini Flash와 같은 모델로 구성되었습니다. 하지만 보안에 매우 주의해야 합니다. API 키를 절대 입력하지 마세요. 클라이언트 앱 코드에 직접 자격 증명을 입력하지 마세요. 이상적으로는 자체 백엔드 또는 Firebase AI 로직을 사용하여 자격 증명이 외부에 노출되는 것을 방지하세요.
Android 액티비티 또는 ViewModel 내에서 에이전트를 실행하려면 다음을 사용합니다. InMemoryRunner이 구성 요소는 다음을 허용합니다. 답변을 수집하세요 에이전트가 Kotlin 코루틴을 사용하여 사용자의 요청을 처리하는 동안 실시간으로 사용자 인터페이스를 업데이트할 수 있습니다.
제미니 나노 및 로컬 모델
가장 중요한 장점 중 하나는 다음과의 통합입니다. 제미니 나노 ML Kit API를 통해 원격 모델을 호출하는 대신 클래스를 사용할 수 있습니다. GenaiPrompt 추론을 할 수 있도록 기기에서 완전히이는 민감한 데이터를 처리하거나 비행기 모드에서 실행되어야 하는 앱에 있어 매우 유용한 기능입니다.
가장 흥미로운 점은 여러분이 AI 아키텍트가 되어 직접 구축해 볼 수 있다는 것입니다. 다중 에이전트 시스템강력한 클라우드 기반 모델이 전체적인 조율 역할을 하고, 더 민감하거나 빠른 처리가 필요한 작업은 다른 작업에 위임하는 체계를 상상해 보세요. 지역 하위 에이전트 이러한 구조는 기기에서 실행됩니다. 이를 통해 간단한 유틸리티에서 복잡한 다중 에이전트 애플리케이션에 이르기까지 수직 확장이 가능합니다.
JVM 및 고급 도구를 사용한 개발
안드로이드 개발이 아니더라도 ADK는 JVM 환경에서도 뛰어난 성능을 발휘합니다. 시작하려면 Java 17과 Gradle 8.0만 있으면 됩니다. 워크플로는 비슷합니다. 에이전트를 정의하고 사용하면 됩니다. ReplRunner 콘솔에서 상호 작용하거나, 시각적인 방식을 선호한다면 들어 올려 조작할 수 있습니다. AdkWebServer 웹 채팅 인터페이스의 8080 포트에서 모든 기능을 테스트합니다.
기능적인 측면에서 ADK는 텍스트 생성에만 국한되지 않습니다. 도구 이것들은 에이전트가 현실 세계와 상호 작용할 수 있도록 해줍니다. Function Tools이러한 기능은 로컬 함수이며, MCP(모델 컨텍스트 프로토콜) 서버 지원을 통해 에이전트가 수행할 수 있는 작업 범위를 크게 확장합니다.
최대 효율을 추구하는 사람들을 위해, 여러 기능을 통합한 고급 구현 방식도 있습니다. 코드그래프 코드의 호출 그래프를 탐색하여 탐색 중 토큰 소모를 대폭 줄입니다. 또한, 사용 가능한 기능은 다음과 같습니다. 다양한 LLM 제공업체 (OpenAI, Anthropic 또는 Ollama와 같은) 프레임워크는 매우 다재다능하며 단일 생태계에만 의존하지 않습니다.
Kotlin용 에이전트 개발 키트는 언어 모델의 강력한 기능과 Kotlin의 유연성을 결합한 견고한 솔루션으로 자리매김하고 있으며, 이를 통해 다음과 같은 기능을 제공합니다. JVM에서 빠른 프로토타입 제작 Gemini Nano를 사용한 안드로이드 기반의 복잡하고 비공개적인 배포, 그리고 도구 및 다중 에이전트의 지능형 관리를 포함합니다.

