9月3日、Google Cloud が「Announcing the Google Gen AI SDK for Kotlin 1.0: Idiomatic multiplatform access to Gemini」と題した記事を公開した。KotlinアプリケーションからGeminiを利用するための公式SDK「Google Gen AI SDK for Kotlin」のバージョン1.0が正式リリースされた。これまでKotlinからGeminiを呼び出すには、Raw HTTPクライアントを直接叩くか、Java向けライブラリをブリッジする形が一般的だったが、今回のSDKはそうした迂回路を不要にし、Kotlinのイディオムそのままでマルチプラットフォーム対応のAI機能を組み込める設計になっている。バックエンドとモバイルのコードを同一リポジトリで管理するチームにとって、依存を一本化できるタイミングが来た。
Kotlin Multiplatform対応が最大のポイント
このSDKの核心は、Kotlin Multiplatform(KMP)ライブラリとして設計されている点だ。単なるAndroid向けラッパーではなく、JVM(バックエンドサービス、サーバーレス関数、デスクトップ)とAndroidの両方を1つのコードベースで対象にできる。
Kotlin MultiplatformはJetBrainsが主導するマルチプラットフォーム開発アプローチであり、近年Googleもモバイル領域でのサポートを表明するなど注目が高まっている。今回のSDKはその流れに乗り、commonMainソースセットへの依存追加だけでマルチプラットフォーム対応が完結する構成だ。
依存関係の追加は以下のように行う(Maven Centralでcom.google.genai:google-genai-kotlinとして公開):
// commonMain の build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation("com.google.genai:google-genai-kotlin:1.0.0")
}
}
}
バックエンド(JVMサーバー)とAndroidアプリで同一のGemini呼び出しコードをcommonMainに置けるため、ロジックの重複を排除できる。従来はプラットフォームごとに別々のHTTPクライアントやSDKを用意するか、ラッパーを自前実装する必要があったが、このSDKの登場でその手間が省ける。
Kotlin イディオムへの徹底した対応
「Raw HTTPクライアントを直接叩いたり、Javaライブラリをブリッジしたりする手間なしにGeminiを使える」というのがこのSDKのコンセプトだ。具体的には以下のKotlinらしい設計が取り込まれている:
- **Coroutines**のファーストクラスサポート
- 非同期ストリーミングのための**Flow** API
- 名前付き・デフォルトパラメータを持つイミュータブルなデータクラス
これにより、コールバック地獄やJavaスタイルのボイラープレートを書かずに、GeminiのAPIを呼び出せる。たとえばテキスト生成をストリーミングで受け取る場合、Flowを通じて逐次レスポンスを処理できるため、チャットUIのようなリアルタイム表示が必要な場面でも素直に実装できる。データクラスのデフォルトパラメータを活用した設定記述は、Javaライブラリのビルダーパターンに比べて記述量が大幅に減る点も実用上のメリットだ。
Gemini Developer API と Vertex AI Gemini の両方に対応
SDKはGemini Developer API(Google AI Studio)と、Google Cloud上のエンタープライズ向けAI基盤である**Vertex AI**のGeminiエンドポイントの両方に対して、統一されたインターフェースを提供する。設定の変更を最小限に抑えつつ、開発環境から本番のエンタープライズ環境まで同じコードベースで移行できる設計になっている。
個人開発やプロトタイプはGoogle AI Studioで始め、本番運用にスケールアップする際はVertex AI側に切り替えるといった使い方が想定されている。Vertex AIはGoogle Cloudのマネージドな機械学習プラットフォームであり、セキュリティ・スケーラビリティ・SLAの面で業務利用に適した環境を提供する。同一SDKで両環境に対応できることは、開発フェーズから本番移行時のコスト削減という観点で大きい。
コードと実行可能サンプルは GitHub で公開
プロジェクトはGitHub(googleapis/kotlin-genai)で公開されており、実行可能なサンプルコードもリポジトリ内に含まれている。KMPプロジェクトへの組み込みから、CoroutinesやFlowを使った非同期呼び出しまで、実際に動くコードとして確認できる。
KMPを活用してAndroidとJVMバックエンドのコードを共有しているチームにとって、GeminiをKotlinネイティブの書き心地で使えるSDKが正式版として揃ったことは実用上の意味が大きい。Coroutines・Flowといった現代的なKotlinの非同期機構への対応、そしてGoogle AI StudioからVertex AIまで一本のSDKでカバーできる設計は、プロトタイプから本番まで一貫したコードベースを維持したいチームのニーズに応えるものだ。
詳細はAnnouncing the Google Gen AI SDK for Kotlin 1.0: Idiomatic multiplatform access to Geminiを参照していただきたい。