このガイドは、ユースケースに適した AI / ML ソリューションを見つけるのに役立ちます。このドキュメントでは、利用可能なさまざまなソリューションを把握し、実装する機能の要件を考慮して、ニーズに最適なソリューションを選択するためのガイダンスを提供します。
一般に、AI / ML 機能を実装するためのツールとモデルを選択する際は、ニーズを満たす最もシンプルなモデルを使用する必要があります。最適なソリューションを特定するには、次の点を考慮する必要があります。
- この機能は、新しいコンテンツを生成する必要があるか(生成 AI)、それとも決定論的な方法で予測 / 分類する必要があるか(従来の ML)。
- 機能のスコープ: タスクをアプリ内で完全に実行できるか(アプリ内インテリジェンス)、複数のアプリが必要か(システムレベルのインテリジェンス)。
- モデルの場所: タスクをオフライン(オンデバイス モデル)で実行できるか、サーバーとのやり取り(クラウドベースのモデル)が必要か。
- ツールキットまたはモデルのバージョン: 単純な単一推論タスクからマルチエージェント オーケストレーションまで、タスクの複雑さはどの程度か。
次のフローチャートは、意思決定プロセスの概要を示しています。
各ステップでの決定に役立つ情報については、このドキュメントの残りのセクションをご覧ください。
生成 AI と従来の ML
生成 AI モデルは新しいコンテンツを作成しますが、従来の ML モデルは完全に決定論的な方法で結果を予測したり、データを分類したりします。機能に新しいコンテンツの生成が含まれていない場合は、従来の ML ソリューションで十分な場合があります。次の表に、従来の ML ソリューションの一部をまとめます。
| ツールキット / ソリューション | タイプ | 主なユースケース | 例 |
|---|---|---|---|
| ML Kit SDK | オンデバイス | 事前構築済みのビジョンおよび自然言語処理タスク |
|
| LiteRT | オンデバイス | カスタムモデル ランタイム |
|
| MediaPipe | オンデバイス | リアルタイムの動画または音声ストリームの認識タスク |
|
| Cloud Vision API や Cloud Natural Language API などの Google Cloud API | クラウドベース | 事前構築済みのビジョンおよび自然言語処理タスク |
|
| Agent Platform | クラウドベース | エンドツーエンドのカスタムモデルのトレーニングとデプロイ |
|
このドキュメントの残りの部分では、生成 AI ソリューションについて説明します。
アプリ内インテリジェンスとシステムレベルのインテリジェンス
最適な生成 AI ソリューションを特定するには、AI 機能がアプリ内だけで動作するのか、それともアプリ外で他のアプリや Android OS とやり取りする必要があるのかを判断します。機能がアプリ外でシステムによってトリガーされる場合は、システムレベルのインテリジェンスと見なされます。次の表に、アプリ内インテリジェンス機能とシステムレベルのインテリジェンス機能の違いをまとめます。
| アプリ内インテリジェンス | システムレベルのインテリジェンス | |
|---|---|---|
| タスクのスコープ | アプリ内 | アプリ間(またはシステムによってトリガーされる、アプリ外) |
| ツール | ML Kit SDK、LiteRT、Firebase AI Logic、またはセルフホスト型バックエンド | AppFunctions |
| ユースケース |
|
|
アプリ内インテリジェンス
アプリ内インテリジェンス機能は、アプリ外の他のアプリやシステムとやり取りする必要はありません。AI 機能が完全にアプリ内にあると判断したら、機能を完全にオンデバイスで実行するか、クラウドベースのモデルを使用するか、両方を組み合わせたハイブリッド アプローチを採用するかを決定する必要があります。
動画入力が必要な処理や、複数のエージェントが関与するタスクを行う場合は、クラウドベースのモデルを使用する必要があります。次の表は、オンデバイス モデルとクラウドベースのモデルの機能を比較したものです。
| オンデバイス | Cloud | |
|---|---|---|
| ツール | ML Kit SDK または LiteRT | Firebase AI Logic またはセルフホスト型バックエンド |
| 入力タイプ |
|
|
| 出力タイプ |
|
|
| ユーザーデータの機密性 | 高い | 低い |
| モデル |
|
|
| ユースケース |
|
|
オンデバイス モデル
次のいずれかに該当する場合は、オンデバイス モデルが適している可能性があります。
- コストの制約
- 機能がオフラインで実行できる必要がある
- プライバシー要件
- タスクが比較的単純で、マルチエージェント オーケストレーションを必要としない
ユーザーのデバイスがオンデバイス モデルをサポートしている必要があることに注意してください。オンデバイス モデルでは通常、ローカル処理をサポートできる、よりプレミアムなデバイスが必要です。
オンデバイス モデルが機能に十分であると判断したら、最適なツールキットまたはソリューションは、主にタスクの複雑さに依存します。次の表に、オンデバイスのアプリ内生成 AI ツールのオプションをまとめます。
| タスクの複雑さ | 特徴量の特性 | 例 | ツールキット / ソリューション |
|---|---|---|---|
| 低 |
|
テキストを要約 |
|
| 中 |
|
クエリとレスポンス | |
| 高 |
|
お客様からのフィードバックまたはバグのトリアージ |
ML Kit Prompt API を使用すると、シンプルなシングルターンまたはマルチターンの会話型テキストを生成できます。機能でデバイス上での自律的なマルチステップ実行が必要な場合は、ML Kit GenAI Agent API を使用します。Agent API は、計画、@Tool アノテーションを使用した型付きツールの呼び出し、インタラクション間でのセッション コンテキストの保持、maxTurns を使用したターン制限の適用が可能なオンデバイス推論ループをサポートしています。
クラウドベースのモデル
機能を完全にオンデバイスで実行できない場合は、クラウドベースのモデルを使用する必要があります。クラウドベースのモデルを使用する方法には、主に次の 2 つのオプションがあります。
Firebase AI Logic を使用したマネージド バックエンド。すでに Firebase を使用している場合や、比較的迅速にプロトタイプを作成したい場合は、Firebase AI Logic が最適なソリューションです。
カスタム バックエンドまたはセルフホスト型サーバー。Gemini モデル以外のモデルを使用する場合、プライバシー要件が厳しい場合、または非常に複雑なタスクを完了する必要がある場合は、カスタム バックエンドを使用する必要があります。カスタム バックエンドの設定には、次のツールもおすすめします。
- カスタム バックエンドで Agent Development Kit などのエージェント フレームワークを実行する
- AG-UI を使用して、アプリのフロントエンドをエージェント バックエンドに接続します。
- A2UI を使用して、エージェントがリッチでインタラクティブな UI を生成できるようにする
次の表に、クラウドベースのアプリ内生成 AI ツールに Firebase AI Logic またはカスタム バックエンドを使用するタイミングをまとめます。
| タスクの複雑さ | 特徴量の特性 | 例 | ツールキット / ソリューション |
|---|---|---|---|
| 低 |
|
テキストを要約 |
|
| 中 |
|
クエリとレスポンス |
|
| 高 |
|
お客様からのフィードバックまたはバグのトリアージ |
|
| 非常に高い |
|
旅行のさまざまな側面を管理するエージェント チームを作成する |
|
ハイブリッド アプローチ
機能がローカルで実行できるものの、すべてのユーザーがオンデバイス モデルをサポートするデバイスを持っているわけではなく、フォールバックとしてクラウドモデルを使用する必要がある場合は、ハイブリッド アプローチを使用します。詳細については、ハイブリッド推論をご覧ください。
システムレベルのインテリジェンス
システムレベルのインテリジェンスにより、Android プラットフォームはタスク オーケストレーターとして機能できます。システムレベルのインテリジェンスにより、Gemini などのシステム エージェントは、複数のアプリやウェブサービスにまたがるユーザー リクエストを完了できます。
アプリを Android インテリジェンス システムに接続するには、プログラムによる制御と自動化された UI 駆動型のアクションのどちらが必要かに基づいて、統合方法を選択します。
| インテグレーション オプション | ユースケース |
|---|---|
| AppFunctions | アプリの特定の機能をエージェントが検出してデバイス上で実行できるようにします。 |
| リモート MCP サーバー | アプリの特定の機能をエージェントのバックエンドと直接統合できるようにします。クロスプラットフォーム開発に適しています。 |
| パソコンの操作 | OEM がプリロードしたアシスタントがアプリの UI と直接やり取りしてタスクを自動化できるようにします。 |
システムレベルのインテリジェンス ツール オプションの詳細については、アプリを Android インテリジェンス システムに接続するをご覧ください。