第1章 Snowflake AI Data Cloudの特徴とアーキテクチャ / 想定学習時間:30〜40分 / 最終確認:2026年8月

1-8. Snowflake CortexとAI機能

🎯 この節の学習目標

1. Snowflake Cortexとは:データの隣でAIを動かす

Snowflake Cortex は、Snowflake が提供する AI 機能群の総称です。共通する考え方は、「データを外部の AI サービスに持ち出すのではなく、データがある場所(Snowflake の中)で AI を動かす」ことです。これにより、次の利点が得られます。

📝 試験のポイント

Cortex のガバナンスに関しては、「データは Snowflake の境界内で処理される」「ロールベースのアクセス制御が適用される」という2点がそのまま問われやすい論点です。「AI 機能を使うとデータが外部サービスに送信される」という趣旨の選択肢は誤りと判断できます。

2. Cortex LLM(AISQL)関数:SQLから直接LLMを呼ぶ

Cortex の最も基本的な使い方が、SQL 関数として LLM を呼び出すことです。この関数群は AISQL とも呼ばれ、追加のアプリケーションやインフラなしに、SELECT 文の中で LLM の処理をデータに適用できます。サーバーレスで動作し、処理したトークン量に応じた課金となります。

関数(代表例)できること
AI_COMPLETE / SNOWFLAKE.CORTEX.COMPLETEプロンプトを与えて LLM に自由なテキスト生成をさせる(汎用)
SUMMARIZEテキストの要約
TRANSLATEテキストの翻訳
SENTIMENTテキストの感情(ポジティブ/ネガティブ)分析
EXTRACT_ANSWERテキストから質問への回答を抽出
EMBED_TEXTテキストの埋め込みベクトル(セマンティック検索などに利用)を生成

💡 具体例:SQLだけでレビューを要約・感情分析する

-- レビューテーブルの各行に LLM 処理を適用する
SELECT
  review_id,
  SNOWFLAKE.CORTEX.SUMMARIZE(review_text)  AS summary,
  SNOWFLAKE.CORTEX.SENTIMENT(review_text)  AS sentiment_score
FROM product_reviews;

-- 汎用の COMPLETE 関数でモデルとプロンプトを指定する
SELECT AI_COMPLETE(
  'モデル名',
  'この問い合わせ内容を1文で分類してください: ' || inquiry_text
) FROM inquiries;

ポイントは、データを移動せずに、普段のクエリと同じ感覚で LLM 処理をテーブルの各行に適用できることです。

3. Cortex Search と Cortex Analyst:2つの「質問に答える」サービス

Cortex には、LLM 関数より一段高いレベルの「サービス」として、性格の異なる2つの検索・質問応答機能があります。両者の違いは試験でも問われやすいため、対比して覚えます。

Cortex SearchCortex Analyst
対象データ非構造化テキスト(ドキュメント・記事・ナレッジベースなど)構造化データ(テーブルの数値・属性)
仕組みセマンティック(ベクトル)検索+キーワード検索のハイブリッド検索サービスセマンティックモデル定義に基づき、自然言語の質問を SQL に変換して回答
典型ユースケースRAG(検索拡張生成)の検索基盤。チャットボットに社内文書を根拠として与える「先月の地域別売上は?」のような自然言語でのデータ分析

Cortex Search は、文書検索の精度を高めるためにセマンティック検索とキーワード検索を組み合わせたハイブリッド方式をとっており、LLM に「回答の根拠となる文書」を渡す RAG(Retrieval-Augmented Generation)の検索基盤として使われます。Cortex Analyst は、テーブルの意味(指標の定義や列の意味)をあらかじめセマンティックモデルとして定義しておくことで、自然言語の質問を正確な SQL に変換して構造化データに答えます。

4. Document AI と Snowflake Copilot

機能役割
Document AIPDF などの文書から構造化情報を抽出する。請求書や契約書から項目(金額・日付など)を取り出してテーブル化する、といった用途
Snowflake CopilotSnowsight 内の SQL 支援アシスタント。自然言語での指示から SQL の作成・改善を支援する

Document AI は「ファイルの山からデータを取り出してデータパイプラインに乗せる」ための機能、Copilot は「Snowflake を操作するユーザー自身を支援する」機能、という位置づけの違いを押さえておきましょう。

また、LLM を使う Cortex とは別に、Snowflake は機械学習(ML)の機能群(Snowflake ML)も提供しています。代表例が ML Functions で、時系列予測(forecasting)・異常検知(anomaly detection)・分類(classification)などの分析を、モデル開発の専門知識がなくても SQL から実行できます。より本格的には、Snowpark を使ったモデルの学習や、学習済みモデルを登録・管理するモデルレジストリも利用できます。「生成 AI・LLM は Cortex、予測・異常検知などの機械学習は Snowflake ML(ML Functions)」という対応で整理しておきましょう。

5. 要件からCortex機能を選ぶ

試験では「この要件にはどの機能を使うべきか」という形式で問われることがあります。判断の流れを図にまとめます。

AI で実現したい要件は?
文書群への全文検索・RAG の検索基盤 → Cortex Searchセマンティック+キーワードのハイブリッド検索
自然言語の質問を SQL に変換して構造化データに回答 → Cortex Analystセマンティックモデル定義に基づく
PDF 等の文書から構造化情報を抽出 → Document AI
SQL の中で要約・翻訳・感情分析・生成 → Cortex LLM(AISQL)関数サーバーレス・トークン課金
Snowsight での SQL 作成を支援 → Snowflake Copilot

図:ユースケースから Cortex 機能を選ぶ対応関係

📝 試験のポイント

特に紛らわしいのは Cortex Search と Cortex Analyst です。「文書(非構造化テキスト)を検索する → Search」「自然言語を SQL に変換して構造化データに答える → Analyst」と、対象データと出力で切り分けましょう。「RAG」というキーワードが出たら Cortex Search、「セマンティックモデル」というキーワードが出たら Cortex Analyst が対応します。

✅ この節のまとめ

練習問題

問1. Cortex LLM(AISQL)関数の説明として正しいものはどれか。

  1. 利用するには、ユーザーが LLM 用の GPU クラスタを自分でプロビジョニングする必要がある
  2. SQL から直接 LLM を呼び出せるサーバーレスの関数群で、処理したトークン量に応じて課金される
  3. Snowflake の外部にある LLM サービスへデータを転送して処理する仕組みである
  4. 関数の利用にはアクセス制御が適用されず、すべてのユーザーが無条件に実行できる
解答と解説を見る

正解:B

Cortex LLM 関数はサーバーレスで提供され、SUMMARIZE や TRANSLATE などを SQL から直接呼び出せます。課金はトークン量ベースです。Aは誤りで、インフラ管理が不要な点が Cortex の利点です。Cは誤りで、データは Snowflake の境界内で処理されます。Dは誤りで、ロールベースのアクセス制御が適用されます。

問2. 社内ドキュメントを根拠として回答するチャットボット(RAG)を構築するにあたり、文書の検索基盤として最も適切な機能はどれか。

  1. Cortex Search
  2. Cortex Analyst
  3. Snowflake Copilot
  4. SNOWFLAKE.CORTEX.SENTIMENT 関数
解答と解説を見る

正解:A

Cortex Search はセマンティック検索とキーワード検索を組み合わせたハイブリッド検索サービスで、RAG の検索基盤として使われます。Bの Cortex Analyst は構造化データへの自然言語質問を SQL に変換する機能で、文書検索は対象外です。Cの Copilot は Snowsight 内で SQL 作成を支援するアシスタントです。Dの SENTIMENT は感情分析の関数であり、検索基盤にはなりません。

問3. 「業務部門のユーザーが『先月の製品カテゴリ別の売上合計は?』のように自然言語で質問すると、テーブルのデータに基づいて回答が返る」仕組みを実現したい。最も適切な機能はどれか。

  1. Document AI
  2. Cortex Search
  3. Cortex Analyst
  4. EMBED_TEXT 関数
解答と解説を見る

正解:C

Cortex Analyst は、セマンティックモデル定義に基づいて自然言語の質問を SQL に変換し、構造化データに対して回答します。Aの Document AI は PDF などの文書からの情報抽出が役割です。Bの Cortex Search は非構造化テキストの検索が対象で、集計を伴う構造化データの質問応答には向きません。Dの EMBED_TEXT は埋め込みベクトルを生成する関数で、単体では質問応答を実現できません。

問4. Snowflake の AI 機能とガバナンスに関する説明として正しいものを2つ選べ。

  1. Cortex で処理されるデータは Snowflake のガバナンス境界の内側で処理される
  2. Cortex の利用時には、Snowflake のロールベースのアクセス制御が適用される
  3. Document AI は Snowsight 内で SQL 文の作成を支援するアシスタントである
  4. Snowflake Copilot は PDF から構造化情報を抽出するための機能である
解答と解説を見る

正解:A・B

Cortex のデータ処理は Snowflake の境界内で行われ(A)、既存のロールベースのアクセス制御がそのまま適用されます(B)。CとDは機能の説明が入れ替わっており、SQL 支援アシスタントが Snowflake Copilot、文書からの構造化情報抽出が Document AI です。