はじめに
先日サンフランシスコで開催された Snowflake Summit 2025 から帰国しました!Summit では Crunchy Data の買収、自由度の高いデータ取り込みを実現する Snowflake Openflow、AI プラットフォームの発展的な進化など多くの注目すべきアップデートが発表され、また多くのお客様やパートナー様とも有意義な議論をすることができました。
その中でも特に開発者体験の向上に関連するアップデートとして、Snowflake の Workspaces がリリースされ、更に Workspaces 内の機能として「Snowflake Copilot Inline」が発表されました!この機能により、SQL を用いた分析体験がより直感的で効率的になっています。
従来の Snowflake Copilot は専用の画面でチャット形式でやり取りを行う必要がありましたが、Copilot Inline では SQL コード内で直接 AI アシスタントに質問できる ようになりました。この感覚はまるでベテランアナリストとペアプログラミングをしているかのような感覚で、AI がコード作成をサポートしてくれる画期的な機能です。
今回は実際に Snowflake Copilot Inline を触ってみて感じた価値や具体的な使用方法、そして活用のコツまで含めてご紹介していきます。SQL 開発の生産性向上に興味がある方は、ぜひ最後までお読みいただければ幸いです!
Snowflake Copilot Inline とは
Snowflake Copilot Inline は、Snowflake Workspaces 内で SQL コードに直接組み込んで利用できる AI アシスタント機能 です。従来の Snowflake Copilot の拡張版として位置づけられており、以下の特徴があります:
主な特徴
特徴 | 説明 |
---|---|
インライン操作 | SQL ファイル内で CMD+I (Mac) または Ctrl+I (Windows) ショートカットでAIアシスタントを呼び出し |
コンテキスト理解 | 現在のファイル内容、データベース・スキーマ情報を自動的に把握 |
リアルタイム提案 | コード内容に応じてSQLクエリの改善案や修正案を即座に提示 |
差分表示 | 提案された変更内容を見やすい diff 形式で表示 |
ワンクリック適用 | Accept ボタンで提案内容を即座にコードに反映 |
対応リージョン
Snowflake Copilot Inline は以下のリージョンでネイティブサポートされています:
- AWS US West 2 (Oregon)
- AWS US East 1 (N. Virginia)
その他のリージョンでもクロスリージョン推論機能 CORTEX_ENABLED_CROSS_REGION
パラメータを設定することで利用可能です。
Snowflake Workspaces とは
Snowflake Copilot Inline を理解する前に、その基盤となる Snowflake Workspaces について簡単にご紹介します。
Snowflake Workspaces は、複数のファイルタイプにわたってコードを作成、整理、管理するための 統合開発環境 で、Snowsight にログインしてすぐに利用することが可能です。従来の Worksheet とは異なり、以下の特徴を持ちます:
Workspaces の主な特徴
項目 | 従来の Worksheet | Workspaces |
---|---|---|
ファイル管理 | 個別のワークシートとして管理 | ファイル・フォルダベースの階層管理 |
開発環境 | 単一クエリ実行中心 | IDE ライクな統合開発環境 |
Git 連携 | 対応なし | Git リポジトリとの同期対応 |
並行実行 | 1クエリずつ実行 | 同一SQLファイルから2クエリ同時実行可能 |
バージョン管理 | 基本的な履歴のみ | Git による本格的なバージョン管理 |
アクセス制御と権限設定
Snowflake Copilot Inline を利用するには、以下の権限が必要です:
必要な権限
-
COPILOT_USER データベースロール
- SNOWFLAKE データベース内のロール
- デフォルトで PUBLIC ロールに付与済み
-
CORTEX_USER データベースロール
- SNOWFLAKE データベース内のロール
- Snowflake AISQL 機能の利用に必要
- デフォルトで PUBLIC ロールに付与済み
-
claude-3.5-sonnet モデルへのアクセス
- モデル許可リストに含まれている必要あり
- RBAC による制限がかかっていないこと
権限の確認と設定
基本的には デフォルト設定で全ユーザーが利用可能 ですが、もし利用できない場合は以下を確認してください:
SHOW GRANTS TO ROLE PUBLIC;
USE ROLE ACCOUNTADMIN;
GRANT DATABASE ROLE SNOWFLAKE.COPILOT_USER TO ROLE PUBLIC;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE PUBLIC;
対応する用途・使用場面
Snowflake Copilot Inline は以下のような場面で威力を発揮します:
1. データ探索
初めて触るデータセットについて、AI に質問しながら理解を深めることができます:
- 「このスキーマにはどんなテーブルがあるの?」
- 「顧客テーブルの構造について教えて」
2. SQL クエリ生成
自然言語での要求を SQL に変換してもらえます:
- 「過去1年間の月別売上推移を取得したい」
- 「顧客別の購入頻度をランキング形式で表示して」
- 「異常値を除外した売上分析クエリを作成して」
3. クエリ改善・最適化
既存のクエリについて改善提案を受けることができます:
- 「このクエリの性能を改善して」
- 「より読みやすいクエリに書き直して」
- 「このSQLの効率化を提案して」
4. 構文エラー修正
SQL の構文エラーを素早く修正してもらえます:
- 「構文エラーを修正して」
- 「このクエリが動かない理由を教えて」
- 「正しい JOIN 構文に修正して」
実際の操作方法
Snowflake Copilot Inline の操作は非常にシンプルです:
基本操作の流れ
-
Workspaces を開く
- Snowsight で Workspaces セクションに移動
- 新規ファイルを作成するか、既存のSQLファイルを開く
-
Copilot Inline を呼び出す
- カーソルを任意の位置に配置
-
CMD+I
(Mac) またはCtrl+I
(Windows) を押下
-
質問・要求を入力
- メッセージダイアログに自然言語で要求を入力
- 送信アイコンをクリックして AI に送信
-
提案内容を確認
- AI が生成した変更案を diff 形式で確認
- 赤色:削除される行、緑色:追加される行
-
変更を適用
- Accept: 提案を受け入れてコードに反映
- Reject: 提案を拒否
- Close: セッションを終了
-
提案されたクエリを実行
- 提案されたクエリを実行する
制限事項と注意点
Snowflake Copilot Inline には以下の制限があります:
技術的制限
制限項目 | 詳細 |
---|---|
データアクセス | テーブル内のデータ値は参照できない (メタデータのみ) |
応答時間 | 複雑な要求の場合、数秒の処理時間が必要 |
新規オブジェクト認識 | 新しく作成したテーブル・スキーマの認識に3 – 4時間必要 |
検索対象制限 | 関連性の高い上位10テーブル・10カラムのみが考慮対象 |
言語サポート
対応言語は以下の通りです (日本語対応しております!):
SQL提案の品質
- 完璧ではない: 時として無効な構文や存在しないオブジェクトを提案する場合がある
- 検証が重要: 提案されたクエリは実行前に内容を確認することを推奨
- フィードバック不可: Copilot Inline では フィードバックによる改善機能は現状無い
元々 Snowflake Copilot 自体がデータアナリストや開発者向けの機能となります。データベースのメタデータをしっかり準備しなくても利用できる手軽さの反面、ある程度は自社データに対する知識や SQL の知識が必要となります。
ビジネス価値とROI
Snowflake Copilot Inline の導入により期待できる効果:
開発効率の向上
- SQL 作成時間の短縮: 自然言語からの自動生成により分析や開発の時間短縮
- デバッグ時間の削減: AI による構文エラー検出・修正提案
- 学習コストの低減: 経験の浅い開発者でも高品質なクエリ作成が可能
データ活用の促進
- 探索的分析の加速: 新しいデータセットへの理解が迅速化
- ベストプラクティスの浸透: AI が最適化されたクエリパターンを提案
- 属人化の解消: 個人の SQL スキルに依存しない開発体制
コスト削減効果
- 開発リソースの最適化: 単純なクエリ作成作業からの解放
- 教育コストの削減: OJT や研修時間の短縮
- 品質向上: ヒューマンエラーの削減による手戻り防止
最後に
Snowflake Copilot Inline は、SQL 分析体験を根本的に変える画期的な機能 だと感じています。特に以下の点で大きな価値を提供してくれます:
- 開発者体験の向上: まるでペアプログラミングをしているような感覚でコード作成
- 学習効率の加速: AI からの提案を通じて自然とベストプラクティスを習得
- 生産性の大幅向上: 単純作業からの解放により、より創造的な分析作業に集中
私も「あれ、このクエリどうやって書くんだっけ?」といったことが度々あるのですが、画面を遷移せずにサッと構文を修正できるためかなり重宝しています。
SQL での分析や開発に関わる全ての方にオススメできる機能ですので是非試してみてください!
宣伝
SNOWFLAKE DISCOVER (第2弾) 開催決定!
2025/7/8-9の2日間「Snowflake Discover (第2弾)」が開催されます!Snowflake Summit の振り返りからハンズオンまで凝縮したコンテンツを Webinar 形式でお届けしますので是非ご視聴ください!私は2日目のハンズオン「Snowflake Cortex AI で実現する次世代の VoC (顧客の声) 分析」をデリバリします。Snowflake を用いた実践的な顧客の声分析の手法を体得することができますので、是非お気軽にご登録ください!
開催日時: 2025/7/8-9
形式: Webinar (オンライン)
参加費: 無料
SNOWFLAKE DISCOVER で登壇しました!
2025/4/24-25に開催されました Snowflake のエンジニア向け大規模ウェビナー『SNOWFLAKE DISCOVER』において『ゼロから始めるSnowflake:モダンなデータ&AIプラットフォームの構築』という一番最初のセッションで登壇しました。Snowflake の概要から最新状況まで可能な限り分かりやすく説明しておりますので是非キャッチアップにご活用いただければ嬉しいです!
以下リンクでご登録いただけるとオンデマンドですぐにご視聴いただくことが可能です。
生成AI Conf 様の Webinar で登壇しました!
『生成AI時代を支えるプラットフォーム』というテーマの Webinar で NVIDIA 様、古巣の AWS 様と共に Snowflake 社員としてデータ*AI をテーマに LTをしました!以下が動画アーカイブとなりますので是非ご視聴いただければ幸いです!
X で Snowflake の What’s new の配信してます
X で Snowflake の What’s new の更新情報を配信しておりますので、是非お気軽にフォローしていただければ嬉しいです。
日本語版
Snowflake の What’s New Bot (日本語版)
English Version
Snowflake What’s New Bot (English Version)
変更履歴
(20250610) 新規投稿
Views: 0