機能に適した AI / ML ソリューションを見つける

このガイドは、ユースケースに適した AI / ML ソリューションを見つけるのに役立ちます。このドキュメントでは、利用可能なさまざまなソリューションを把握し、実装する機能の要件を考慮して、ニーズに最適なソリューションを選択するためのガイダンスを提供します。

一般に、AI / ML 機能を実装するためのツールとモデルを選択する際は、ニーズを満たす最もシンプルなモデルを使用する必要があります。最適なソリューションを特定するには、次の点を考慮する必要があります。

  • この機能は、新しいコンテンツを生成する必要があるか(生成 AI)、それとも決定論的な方法で予測 / 分類する必要があるか(従来の ML)。
  • 機能のスコープ: タスクをアプリ内で完全に実行できるか(アプリ内インテリジェンス)、複数のアプリが必要か(システムレベルのインテリジェンス)。
  • モデルの場所: タスクをオフライン(オンデバイス モデル)で実行できるか、サーバーとのやり取り(クラウドベースのモデル)が必要か。
  • ツールキットまたはモデルのバージョン: 単純な単一推論タスクからマルチエージェント オーケストレーションまで、タスクの複雑さはどの程度か。

次のフローチャートは、意思決定プロセスの概要を示しています。

はい いいえ はい いいえ はい いいえ はい すべてではない はい いいえ 機能 新しいコンテンツを生成する 必要がありますか (データの予測や分類ではなく)? 生成 AI アプリをまたぐ タスクか? 従来の ML システム インテリジェンス AppFunctions を使用する アプリ内インテリジェンス 機能をオフラインで実行できるか、 または費用の制約があるか。 対象デバイスは オンデバイス モデルをサポートしているか? アプリが閉じているときに、機能を 実行し続ける(状態を保持する) 必要がありますか?または、 プライベート データベースへの アクセスが必要ですか? オンデバイス モデル ML Kit または LiteRT を 介して Gemini Nano を使用 ハイブリッド アプローチ オンデバイス モデルを優先 し、フォールバックとして クラウドモデルを使用 クラウドベースのモデル カスタムのセルフホスト型 サーバーを使用 クラウドベースのモデル Firebase AI Logic を介して マネージド バックエンドを 使用
図 1. AI / ML ソリューションを選択するための大まかな意思決定プロセス。

各ステップでの決定に役立つ情報については、このドキュメントの残りのセクションをご覧ください。

生成 AI と従来の ML

生成 AI モデルは新しいコンテンツを作成しますが、従来の ML モデルは完全に決定論的な方法で結果を予測したり、データを分類したりします。機能に新しいコンテンツの生成が含まれていない場合は、従来の ML ソリューションで十分な場合があります。次の表に、従来の ML ソリューションの一部をまとめます。

ツールキット / ソリューション タイプ 主なユースケース 例
ML Kit SDK オンデバイス 事前構築済みのビジョンおよび自然言語処理タスク
  • OCR 領収書スキャナ
  • イベントの QR コードによる迅速なチェックイン
  • オフライン メニュー翻訳
LiteRT オンデバイス カスタムモデル ランタイム
  • 医療画像分類
  • ニッチなテーマに関するスマート キーボードの単語予測
MediaPipe オンデバイス リアルタイムの動画または音声ストリームの認識タスク
  • ワークアウトのポーズをリアルタイムでコーチング
  • 顔のフィルタとエフェクト
  • ハンド ジェスチャー認識
Cloud Vision API や Cloud Natural Language API などの Google Cloud API クラウドベース 事前構築済みのビジョンおよび自然言語処理タスク
  • 動画の自動字幕起こし
  • 画像の品質検証(QC)とコンプライアンス
Agent Platform クラウドベース エンドツーエンドのカスタムモデルのトレーニングとデプロイ
  • 大規模な特殊画像認識
  • ストックフォトの検索

このドキュメントの残りの部分では、生成 AI ソリューションについて説明します。

アプリ内インテリジェンスとシステムレベルのインテリジェンス

最適な生成 AI ソリューションを特定するには、AI 機能がアプリ内だけで動作するのか、それともアプリ外で他のアプリや Android OS とやり取りする必要があるのかを判断します。機能がアプリ外でシステムによってトリガーされる場合は、システムレベルのインテリジェンスと見なされます。次の表に、アプリ内インテリジェンス機能とシステムレベルのインテリジェンス機能の違いをまとめます。

アプリ内インテリジェンス システムレベルのインテリジェンス
タスクのスコープ アプリ内 アプリ間(またはシステムによってトリガーされる、アプリ外)
ツール ML Kit SDK、LiteRT、Firebase AI Logic、またはセルフホスト型バックエンド AppFunctions
ユースケース
  • テキストの要約、校正、文字起こし
  • イメージの説明を入力
  • アプリ内 chatbot を構築する
  • 画像を生成
  • メモに書いた内容に基づいて、デリバリー アプリで買い物リストを作成する
  • オフィスまでの配車を予約し、同僚に予定到着時刻をメッセージで送信する
  • 受信トレイでおすすめのレストランを見つけて予約する

アプリ内インテリジェンス

アプリ内インテリジェンス機能は、アプリ外の他のアプリやシステムとやり取りする必要はありません。AI 機能が完全にアプリ内にあると判断したら、機能を完全にオンデバイスで実行するか、クラウドベースのモデルを使用するか、両方を組み合わせたハイブリッド アプローチを採用するかを決定する必要があります。

動画入力が必要な処理や、複数のエージェントが関与するタスクを行う場合は、クラウドベースのモデルを使用する必要があります。次の表は、オンデバイス モデルとクラウドベースのモデルの機能を比較したものです。

オンデバイス Cloud
ツール ML Kit SDK または LiteRT Firebase AI Logic またはセルフホスト型バックエンド
入力タイプ
  • テキスト
  • 画像
  • 音声
  • テキスト
  • 画像
  • 音声
  • 動画
出力タイプ
  • テキスト
  • テキスト
  • 画像
  • 音声
ユーザーデータの機密性 高い 低い
モデル
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash Lite
  • Gemini Pro
ユースケース
  • 短いコンテンツを処理する(短いチャット メッセージやメールの要約、校正、書き換えなど)
  • イメージの説明を入力
  • ユーザーの興味や関心に基づいて出力をパーソナライズする
  • ユーザーの機密データを処理する
  • 短い音声クリップを文字起こしする
  • chatbot を構築する
  • 画像を生成
  • 会話のリアルタイム翻訳
  • アプリ内での写真編集
  • マルチエージェント タスク

オンデバイス モデル

次のいずれかに該当する場合は、オンデバイス モデルが適している可能性があります。

  • コストの制約
  • 機能がオフラインで実行できる必要がある
  • プライバシー要件
  • タスクが比較的単純で、マルチエージェント オーケストレーションを必要としない

ユーザーのデバイスがオンデバイス モデルをサポートしている必要があることに注意してください。オンデバイス モデルでは通常、ローカル処理をサポートできる、よりプレミアムなデバイスが必要です。

オンデバイス モデルが機能に十分であると判断したら、最適なツールキットまたはソリューションは、主にタスクの複雑さに依存します。次の表に、オンデバイスのアプリ内生成 AI ツールのオプションをまとめます。

タスクの複雑さ 特徴量の特性 例 ツールキット / ソリューション
低
  • 単一推論
  • 純粋な生成
テキストを要約
  • ML Kit SDK
  • ファインチューニングされたモデル(ニッチなドメイン)向けの LiteRT
中
  • 拡張 LLM
  • 関数呼び出し
  • 会話履歴
クエリとレスポンス
高
  • 単一エージェント ループ。タスクが完了するまで繰り返されます。
お客様からのフィードバックまたはバグのトリアージ

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 またはカスタム バックエンドを使用するタイミングをまとめます。

タスクの複雑さ 特徴量の特性 例 ツールキット / ソリューション
低
  • 単一推論
  • 純粋な生成
テキストを要約
  • Firebase AI Logic
  • カスタム バックエンド
中
  • 拡張 LLM
  • 関数呼び出し
  • 会話履歴
クエリとレスポンス
  • Firebase AI Logic
  • カスタム バックエンド
高
  • 単一エージェント ループ。タスクが完了するまで繰り返されます。
お客様からのフィードバックまたはバグのトリアージ
  • カスタム バックエンド
非常に高い
  • マルチ エージェントのオーケストレーション
旅行のさまざまな側面を管理するエージェント チームを作成する
  • カスタム バックエンド

ハイブリッド アプローチ

機能がローカルで実行できるものの、すべてのユーザーがオンデバイス モデルをサポートするデバイスを持っているわけではなく、フォールバックとしてクラウドモデルを使用する必要がある場合は、ハイブリッド アプローチを使用します。詳細については、ハイブリッド推論をご覧ください。

システムレベルのインテリジェンス

システムレベルのインテリジェンスにより、Android プラットフォームはタスク オーケストレーターとして機能できます。システムレベルのインテリジェンスにより、Gemini などのシステム エージェントは、複数のアプリやウェブサービスにまたがるユーザー リクエストを完了できます。

アプリを Android インテリジェンス システムに接続するには、プログラムによる制御と自動化された UI 駆動型のアクションのどちらが必要かに基づいて、統合方法を選択します。

インテグレーション オプション ユースケース
AppFunctions アプリの特定の機能をエージェントが検出してデバイス上で実行できるようにします。
リモート MCP サーバー アプリの特定の機能をエージェントのバックエンドと直接統合できるようにします。クロスプラットフォーム開発に適しています。
パソコンの操作 OEM がプリロードしたアシスタントがアプリの UI と直接やり取りしてタスクを自動化できるようにします。

システムレベルのインテリジェンス ツール オプションの詳細については、アプリを Android インテリジェンス システムに接続するをご覧ください。