SQL Connect で AI アシスタンスを使用する

Gemini in Firebase を使用して、クライアント サイド コードのスキーマ、クエリ、ミューテーションを作成します。

アプリ、データモデル、目的のクエリまたはミューテーションを自然言語で記述すると、Firebase の Gemini が SQL Connect の同等のものを生成します。

この AI 支援は、次の開発コンテキストで利用できます。

  • Firebase コンソールで、スキーマとオペレーションを生成、テスト、デプロイできます。
  • ローカル環境では、Firebase CLI と SQL Connect VS Code 拡張機能を使用して、エミュレータでアプリの生成、テスト、開発を行うことができます。
  • AI を搭載した開発ツールは、Firebase MCP サーバーを使用して、アプリの生成、テスト、開発を行うことができます。

SQL Connect スキーマクエリミューテーションの構文については、ガイドをご覧ください。

AI assistance for SQL Connect によるデータの使用方法

詳しくは、Gemini in Firebase がデータを使用する方法をご覧ください。

AI assistance for SQL Connectを設定

SQL Connect で AI アシスタンスを使用するには、Gemini in Firebase を設定するで説明されているように Gemini in Firebase を有効にします。

Gemini in Firebase でスキーマ、クエリ、ミューテーションを生成する

多くのワークフローで SQL Connect に AI アシスタントを使用できます。

Firebase コンソールで

SQL Connect サービスを作成すると、Firebase コンソールに「Gemini のスタートガイド」が表示されます。

アプリのアイデアを説明すると、AI アシスタントが次のものを生成します。

  • アプリのアイデアに基づく完全なスキーマ。
  • オペレーションとデータ変更の例。

データページで、[GraphQL の文書作成サポート] pen_spark ボタンを使用して、自然言語に基づいてオペレーションを生成して実行できます。ユースケースの例をご覧ください。

このワークフローについては、スタートガイドをご覧ください。デプロイされたスキーマとオペレーションを使用して、ローカル開発環境で続行できます。

ローカル環境の場合

Firebase CLI と SQL Connect VS Code 拡張機能から AI アシスタンスを利用することもできます。

firebase init dataconnect にアプリのアイデアを提供すると、次のものが生成されます。

  • アプリのアイデアに基づく完全なスキーマ。
  • オペレーションの例とシードデータのミューテーション。

SQL Connect VS Code 拡張機能には次の機能があります。

  • オペレーション コードレンズの生成/絞り込み: GraphQL コメントを SQL Connect オペレーションに変換します。
  • Firebase MCP サーバーとのシームレスな統合。

このワークフローについては、ローカル プロトタイピングのスタートガイドをご覧ください。

AI を搭載した開発ツールで Firebase MCP サーバーを使用する

Firebase MCP サーバーは、AntigravityGemini CLIGemini Code Assist、Claude Code と Claude Desktop、Cline、Cursor、VS Code Copilot、Windsurf など、MCP クライアントとして機能できる任意の AI アシスタント ツールと連携できます。

Firebase MCP サーバーは、AI を搭載した開発ツールが SQL Connect をより効果的に操作できるように、追加のコンテキストと機能を提供します。次のことができます。

  • 新しいプロジェクト ディレクトリと生成された SDK を設定します。
  • コンパイル エラーに基づいてスキーマとオペレーションを構築して反復処理します。
  • ローカル エミュレータまたはバックエンド サービスに対してオペレーションを実行します。
  • 既存のサービスに関する情報を収集します。

Firebase MCP サーバーを使用するには:

  1. このガイドに沿って MCP クライアントを設定します。
  2. SQL Connect に関するヘルプを求める。プロンプトの例:
    1. 「ピザ配達アプリ用の SQL Connect プロジェクトを設定して。」
    2. SQL Connect コンパイル エラーを修正します。」
    3. 「ホームページに、アクティブなチャットルームと友だちリストを表示する必要があります。SQL Connect クエリを生成します。」
    4. 「ローカル SQL Connect エミュレータにいるユーザーは誰ですか?」
    5. SQL Connect サービスはどの Google Cloud リージョンにありますか?」

オペレーション生成のユースケースの例

以降のセクションでは、ユースケースの例について説明します。

評価の高い上位 5 本の映画を降順で返す

AI assistance for SQL Connect を使用して自然言語に基づいて GraphQL を生成するには:

  1. Firebase コンソールで、[データベースとストレージ] > [SQL Connect] に移動します。

  2. サービスとデータソースを選択し、[データ] タブを開きます。

  3. [GraphQL の作成を支援] pen_spark アイコンをクリックします。 生成するクエリまたはミューテーションを自然言語で記述し、[生成] をクリックします。

    たとえば、SQL Connect (web) Codelab でビルドする」で参照されている映画データソースを使用している場合に、「2022 年の上位 5 本の映画を評価の降順で返す」と尋ねると、次のような結果が返されます。

    query TopMovies2022 {
      movies(where: {releaseYear: {eq: 2022}}, orderBy: [{rating: DESC}], limit: 5) {
        id
        title
        rating
        releaseYear
      }
    }
    
  4. 回答を確認します:

    • 回答が正しいと思われる場合は、[挿入] をクリックして、回答をコードエディタに挿入します。
    • 回答を改善できる場合は、[編集] をクリックしてプロンプトを更新し、[再生成] をクリックします。
  5. 回答を承認したら、必要に応じて [パラメータ] セクションで次の設定を行います。

    • 変数: クエリまたはミューテーションに変数が含まれる場合は、ここで定義します。JSON を使用して定義します(例: {"title":"The Matrix", "releaseYear":"1999"})。
    • 認可: クエリまたはミューテーションを実行する認可コンテキスト(管理者、認可済み、未認可)を選択します。
  6. コードエディタで [実行] をクリックして、結果を確認します。

コードエディタで複数のクエリまたはミューテーションをテストするには、名称が付けられていることを確認します。たとえば、次のクエリの名称は GetMovie です。クエリまたはミューテーションの最初の行にカーソルを移動して、[実行] ボタンを有効にします。

query GetMovie($myKey: Movie_Key!) {
  movie(key: $myKey) { title }
}

ユーザー入力に基づいてデータベースに映画を追加するミューテーションを作成する

この例では、自然言語を使用してデータベースにデータを入力する GraphQL ミューテーションを生成する方法を示します。この例では、Firebase SQL Connect ドキュメントSQL Connect(ウェブ)でビルドする」Codelab で使用されている映画データベース スキーマを使用していることを前提としています。

  1. Firebase コンソールで、[データベースとストレージ] > [SQL Connect] に移動します。

  2. サービスとデータソースを選択し、[データ] タブを開きます。

  3. [GraphQL の文書作成サポート] pen_spark アイコンをクリックして、ミューテーションを記述します。

    Create a movie based on user input.
    
  4. [生成] をクリックします。ミューテーションが返されます。たとえば、Gemini は次のようなミューテーションを返します。

    mutation CreateMovie($title: String!, $releaseYear: Int!, $genre: String!, $rating: Float!, $description: String!, $imageUrl: String!, $tags: [String!] = []) @auth(level: USER) {
      movie_insert(data: {
        title: $title,
        releaseYear: $releaseYear,
        genre: $genre,
        rating: $rating,
        description: $description,
        imageUrl: $imageUrl,
        tags: $tags
      })
    }
    
  5. 出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再生成] をクリックします。

  6. 次に、[挿入] をクリックして、ミューテーションをデータ エディタに挿入します。

  7. ミューテーションを実行するには、変数が必要です。[パラメータ] セクションで [変数] を開き、テスト変数を含めます。

    {"title":"My amazing movie", "releaseYear":2024, "genre": "Comedy",
    "rating": 8, "description": "A new movie to test mutations",
    "imageUrl": "", "tags": ["comedy","space travel"]}
    
  8. [実行] をクリックします。

  9. 次に、映画が追加されたことを確認するクエリを作成します。[GraphQL の文書作成サポート] pen_spark をクリックし、表示されたボックスにプロンプトを入力します。

    List all movies from 2024 that include all of these tags: 'space travel', 'comedy'.
    

    Gemini から次のような回答が返されます。

    query ComedySpaceTravelMovies2024 @auth(level: PUBLIC) {
      movies(
        where: {
        releaseYear: { eq: 2024 },
        tags: { includesAll: ["space travel", "comedy"] }
        }
      ) {
          id
          title
          imageUrl
          releaseYear
          genre
          rating
          description
          tags
        }
    }
    
  10. クエリを挿入して実行します。追加した映画が [履歴] フィールドに表示されます。

ユーザーが指定したジャンルと評価に基づいてレビューを一覧表示するクエリを作成する

この例では、自然言語を使用して GraphQL クエリを生成する方法を示します。この例では、 Firebase SQL Connect ドキュメントSQL Connect(ウェブ)Codelab でビルドする」で使用されている映画データベースを使用していることを前提としています。

  1. Firebase コンソールで、[データベースとストレージ] > [SQL Connect] に移動します。

  2. サービスとデータソースを選択し、[データ] タブを開きます。

  3. [GraphQL の文書作成サポート] pen_spark アイコンをクリックして、クエリを説明します。

    List all movie reviews, based on user-configurable genre and ratings.
    
  4. [生成] をクリックします。クエリが返されます。たとえば、Gemini は次のようなクエリを返すことがあります。

    query ListReviewsByGenreAndRating($genre: String, $minRating: Int, $maxRating: Int) @auth(level: PUBLIC) {
      reviews(where: {
        movie: {
          genre: {eq: $genre}
        },
        rating: {ge: $minRating, le: $maxRating}
      }) {
        id
        user {
          username
        }
        movie {
          title
          genre
        }
        rating
        reviewText
        reviewDate
      }
    }
    
  5. 出力を確認します。必要に応じて、[編集] をクリックしてプロンプトを絞り込み、[再生成] をクリックします。

  6. 次に、[挿入] をクリックして、ミューテーションをデータ エディタに挿入します。

  7. このクエリをテストするには、変数を追加する必要があります。[パラメータ] セクションで [変数] を開き、テストに使用する変数を含めます。

    {"genre":"sci-fi", "minRating":4, "maxRating":9}
    
  8. [実行] をクリックします。

サードパーティの AI アシスタンス ツール用のプロンプトを設計する

他の AI アシスタンス ツールと同様に、プロンプトを適切に作成できれば、それだけ有用な出力が得られます。

Firebase の Gemini に自然言語プロンプトを指定すると、アシスタントはバックグラウンドで入力をより完全に開発されたプロンプトに変換します。

Cursor や Windsurf などのサードパーティの AI ツールを使用している場合は、同様のより詳細なプロンプトを使用することで、より適切な SQL Connect の推奨事項を取得できます。

プロンプト テンプレートを公開しました。ダウンロードして、IDE に合わせて調整し、コピーできます。

ダウンロードして変更したら、次のように、使い慣れたツール(Cursor や Windsurf など)でプロンプトを作成します。

  • Cursor の場合(必ず Cursor の最新の手順をご確認ください):

    1. 右上の設定アイコンをクリックします。
    2. [ルール] タブを選択します。
    3. [Project Rules] で、[Add a new rule] ボタンをクリックします。
    4. ルールをコピーして貼り付けます。
  • Windsurf で(必ず Windsurf の最新の手順を確認してください):

    1. 右上にある [カスケード] ボタンをクリックして、カスケード ウィンドウを開きます。
    2. Cascade の右上のスライダー メニューにある [カスタマイズ] アイコンをクリックし、[ルール] パネルに移動します。
    3. [+ Global] ボタンまたは [+ Workspace] ボタンをクリックして、それぞれグローバル レベルまたはワークスペース レベルで新しいルールを作成します。
    4. ルールをコピーして貼り付けます。

AI assistance for SQL Connect のトラブルシューティング

Gemini in Firebase のトラブルシューティングをご覧ください。

料金

AI assistance for SQL Connect は Gemini in Firebase の一部として提供されており、個人ユーザーは無料で利用できます。

詳細については、Gemini in Firebase の料金をご覧ください。

次のステップ