AI・信頼性・評価
Snowflake Cortexとは?データを外に出さずにSQLでAIを使う
シリーズSnowflake 入門全13回
- 第1回Snowflakeとは?仕組み・料金・使い方をわかりやすく解説
- 第2回Snowflakeのウェアハウスとは?サイズとクレジット・自動停止
- 第3回Snowflakeの料金の仕組みとは?計算・保存・転送とコスト管理
- 第4回Snowflake マイクロパーティションとは?プルーニングとクラスタリング
- 第5回Snowflake VARIANTとは?JSONを扱う半構造化データの仕組み
- 第6回Snowflake Time Travel(タイムトラベル)とは?保持期間と復元
- 第7回Snowflake レプリケーションとは?別リージョンに複製して切り替える
- 第8回Snowflake ロールとは?権限をロールに与えて階層で渡す仕組み
- 第9回Snowflake Dynamic Tablesとは?SELECTだけで結果の表を最新に保つ
- 第10回Snowflake データ共有とは?コピーせずに取引先と同じ表を使う
- 第11回Snowflake Icebergテーブルとは?同じデータを他のエンジンでも読む
- 第12回Snowflake Cortexとは?データを外に出さずにSQLでAIを使う
- 第13回Snowflake Well-Architectedとは?5つの柱で自分の判断を見直す
- Cortex
- Snowflake
- AI 関数
- AI_SENTIMENT
- AI Credits
- トークン
- LLM
- Snowpark
- DataFrame
- クロスリージョン推論
- CORTEX_USER
- Cortex Agents
- Cortex Analyst
- Cortex Search
- Snowflake CoWork
- pandas on Snowflake
- データ基盤
目次
表の中には、数字だけでなく、お客様のレビューや問い合わせの文も入っている。文を AI で読ませるには、ふつうは文を表から取り出し、外の AI サービスの API に送って、結果を受け取る。文は自社のデータベースの外に出る。
Snowflake は、LLM(Large Language Model、大量の文で学習した大規模言語モデル)で文などを読み、問いに答える AI の機能を、Snowflake Cortex としてまとめている1。その中心が、SQL の関数から AI のモデルを呼び、表の中の文や、ステージに置いた画像を、分類したり判定したりする Cortex AI 関数である2。
Snowflake Cortex とは何か。
Snowflake Cortex は、LLM で文を読み、問いに答える Snowflake の AI の機能の一式で、中心は SQL から呼ぶ AI 関数である。モデルは利用者が選ばない限り Snowflake の管理する範囲で動く設計で、文を外の AI サービスに送らずに済む。
費用はトークン(文を区切った単位)の数に応じて請求される。Snowflake は、AI の出力は誤りうるとして、人が確かめる仕組みを置くよう勧めている。既定ではすべての利用者が AI 関数を呼べるので、Snowflake は使ってよいロールを絞るよう勧めている。
ピザの店のレビューを、観点ごとに読む
一つのレビューから「値段には不満、質と速さには満足」を読み取るとき、外の AI サービスに送る方法では文が自社の外に出るが、AI_SENTIMENT なら SQL 一つで Snowflake の中で読める。ピザの店が、Snowflake の AI_SENTIMENT のページにある例のレビューを受け取ったとする3。
レビューは、次の英語の文である。観光客が喜ぶ、おすすめの店でのピザの夜。届くのが速くて満足だが、少し値が張り、財布が軽くなった、という内容である3。
A tourist's delight, in low urban light,
Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀
外の AI サービスに送る: 自社のプログラムが文を読み出し、外のサービスに送って、結果を書き戻す。
- 自社のプログラムSnowflake1. レビューを読み出す
- Snowflake自社のプログラム2. レビューの文を返す
- 自社のプログラム外の AI サービス3. 文を送り、観点ごとの感情を聞く
- 外の AI サービス自社のプログラム4. 結果を返す
- 自社のプログラムSnowflake5. 結果を表に書き戻す
レビューの文が、自社のデータベースの外に出て、別の会社のサービスを通る。読み出しと送信と書き戻しのプログラム、外のサービスの鍵、送ってよいデータかどうかの確認を、自社で作って管理することになる。
AI_SENTIMENT で読む: 分析の担当が、SQL で AI_SENTIMENT を呼び、見たい観点を渡す3。
- 分析の担当Snowflake1. AI_SENTIMENT で、Cost・Quality・Wait Time ごとの感情を聞く
- Snowflake2. Snowflake の境界の中で動くモデルで、レビューを読む
- Snowflake分析の担当3. 全体と、観点ごとの感情を返す
結果は、次のようになる(ドキュメントの例の結果を表にした)3。
観点 感情
overall mixed
Cost negative
Quality positive
Wait Time positive
全体は mixed(よい点と悪い点の両方がある)で、値段(Cost)は否定的、品質(Quality)と待ち時間(Wait Time)は肯定的と、観点ごとに分けて返る。文に出てこない観点(たとえば Brand)を聞くと、unknown が返る3。AI_SENTIMENT が読める言語は、英語、フランス語、ドイツ語、ヒンディー語、イタリア語、スペイン語、ポルトガル語で、日本語は入っていない3。
同じ文を、前からある SNOWFLAKE.CORTEX.SENTIMENT に渡すと、全体の点数 0.5424458 だけが返る4。この関数が返すのは、文全体が肯定か否定かと、その確からしさを表す -1 から 1 の数一つで、Snowflake はこの 0.54 を「やや肯定的」と読んでいる4。数一つでは、どの点に不満があるかは表せない。
SQL では、次のように書く3。
SELECT AI_SENTIMENT('(上のレビューの文)', ['Cost', 'Quality', 'Wait Time']);
Cortex AI 関数とは:SQL から呼ぶ AI
Cortex AI 関数は、OpenAI、Anthropic、Meta、Mistral AI、DeepSeek、xAI などのモデルで、文や画像を分析する Snowflake の関数である2。SQL の関数として使え、Python からも呼べる2。
おもな関数は、次のとおりである2。
- AI_CLASSIFY: 文や画像を、決めた分類に分ける。
- AI_FILTER: 文や画像が条件に合うかを、真か偽で返す。WHERE などの絞り込みに使える。
- AI_AGG: 多くの行の文から、指示に沿って分かったことをまとめて返す。
- AI_SENTIMENT: 文から感情を読み取る。
- AI_TRANSLATE: 文を翻訳する。
- AI_COMPLETE: モデルに指示を渡し、文を作らせる。
Snowflake は、一度に多くの行を処理する使い方に AI 関数が向き、すぐに応える必要がある使い方には REST API を使うよう書いている2。
名前の変更: この機能は、2025 年に Cortex AISQL という名前で一般提供になり、2025 年 11 月から 12 月のあいだに Cortex AI Functions と呼ばれるようになった56。以前の SNOWFLAKE.CORTEX.SENTIMENT のような関数は、AI_SENTIMENT のような AI_ で始まる関数に置き換わりつつある。引数や結果の形が変わる関数もあるので、移る前に確かめる7。
データはどこまで Snowflake の中か
Snowflake は、利用者が自ら選んだ場合を除き、AI のモデルはすべて Snowflake のセキュリティとガバナンスの境界(Snowflake が管理する範囲)の中で動き、データはほかの顧客やモデルの開発元に渡らないとしている1。顧客のデータを、すべての顧客に提供するモデルの学習に使うこともないとしている1。
ただし、使えるモデルは、アカウントのリージョンによって違う。新しいモデルや機能の多くは、アカウントのあるリージョン(クラウドの地域)とは別のリージョンで処理させて使う。これを、Snowflake ではクロスリージョン推論という8。
- クロスリージョン推論では、送った指示と受け取った答えが、処理の間だけ別のリージョンへ送られる。顧客のデータは、処理したリージョンには保存されない8。
- 同じクラウドの事業者の中なら、事業者の内部の回線を通る。別のクラウドの事業者をまたぐときは、相互に認証した暗号化(mTLS、Mutual Transport Layer Security)でインターネットを通る8。
- 商用のリージョンで 2026 年 3 月 9 日より後に作った新しい組織のアカウントでは、どのリージョンでも処理してよい設定(ANY_REGION)が既定である。ほかの商用のアカウントでも、設定していなければ、同じクラウドの地域(AWS_US など)が既定になる8。
「Snowflake の外に出ない」ことと、「自社のリージョンの外に出ない」ことは別である。
費用:トークンに応じた AI Credits
Snowflake の AI の機能は、AI Credits で請求される。AI Credits は、ウェアハウスなどの Platform Credits とは別のもので、エディションによらず同じ値段である9。
- AI 関数は、処理したトークンの百万あたりの AI Credits で請求され、値はモデルで変わる9。文を作る関数では入力と出力の両方を数え、AI_EMBED などは入力だけを数える10。
- AI_CLASSIFY や AI_SENTIMENT などの関数は、内部で指示を足すので、請求されるトークンは、渡した文のトークンより多い10。AI_CLASSIFY の分類の名前や説明は、行ごとに入力として数える10。
- AI 関数を呼ぶ問い合わせのウェアハウスの費用も、別にかかる。Snowflake は、AI 関数には MEDIUM より大きいウェアハウスを使わないよう勧めている10。
2026 年 10 月 29 日発効の料金の表では、AI_SENTIMENT は百万トークンあたり 1.60 AI Credits で、前からある Sentiment は 0.09 である11。観点ごとに読む新しい関数は、トークンあたりではおよそ 18 倍になる。
使った量は、ACCOUNT_USAGE の CORTEX_AI_FUNCTIONS_USAGE_HISTORY で、関数とモデルごとに見られる12。予算を超えたときの動作が効くまで、ふつう最大で 8 時間、遅れを抑える設定では最大で 2 時間かかる13。
誰が使えるか
AI 関数を呼ぶには、アカウントの権限 USE AI FUNCTIONS と、データベースロール CORTEX_USER などが要る2。どちらも、既定ではすべての利用者が持つ PUBLIC ロールに与えられている14。
Snowflake の Well-Architected Framework は、AI とデータガバナンスのレンズで、CORTEX_USER を PUBLIC などに与えると、誰でも AI を使えて、トークンの費用が読めず、誰が使ったかを監査できなくなるとしている。使い道が承認されたロールにだけ与えるよう勧めている15。
使えるモデルも、ロールで決める。以前はアカウントの設定 CORTEX_MODELS_ALLOWLIST で使えるモデルを決めていたが、この設定は 2026 年 9 月から段階的に効かなくなり、2027 年 1 月にすべてのアカウントで廃止される予定である16。ACCOUNTADMIN は、いつもすべてのモデルを使える14。
AI の答えを、どこまで信じるか
Snowflake は、AI の機能の出力は、不正確だったり、不適切だったり、偏っていたりすることがあるとしている。自動の処理に組み込む場合も含め、出力に基づく判断には、人が確かめる仕組みを置くよう書いている1。
Snowflake の AI の製品担当者は、2024 年の同社の技術ブログで、自然な言葉の問いから SQL を作る Cortex Analyst は、業務の語や指標を定義した意味モデルと組み合わせると、実際の使い方に近い問いで 90% 以上の正しい SQL を作るとした。これは、Snowflake が作った 150 問の社内の評価での数字である17。Snowflake の Well-Architected Framework は、モデルを本番に使う前に、自社の実際の入力の見本で、費用、速さ、品質を比べるよう勧めている18。
Cortex Search、Cortex Analyst、Cortex Agents、Snowflake CoWork
AI 関数のほかに、次の機能がある。
- Cortex Search: Snowflake のデータに対する、言葉の意味も使う検索である。おもな使い道は、検索した文を AI の答えに使う形(RAG、Retrieval-Augmented Generation)と、社内の検索である19。
- Cortex Analyst: 業務の利用者が自然な言葉で問い、SQL を書かずに答えを受け取る機能である。作った SQL は、利用者のウェアハウスで動く20。Snowflake は、Cortex Agents に移るよう勧めている20。
- Cortex Agents: Snowflake の管理された環境の中で、AI のエージェントを作って動かす仕組みである。エージェントは、受け取った問いについて推論し、手順を立て、ツールを呼んで、答えを作る21。
- Snowflake CoWork: 業務の利用者が、会話の画面で、自社のデータに自然な言葉で問いかける、すぐに使えるアプリである22。2026 年 6 月に、Snowflake Intelligence から名前が変わった23。
Snowpark:コードを Snowflake の中で動かす
Snowpark は、Python、Java、Scala で書いた処理を Snowflake の中で動かすライブラリーである。データを、プログラムが動く場所へ動かさずに処理できる24。
- DataFrame: 表のデータを扱うデータ構造で、遅延評価される。処理を書いても、結果を求める操作をするまで、SQL はサーバーに送られない25。
- 計算の仕組みを別に用意しない: 計算のための仕組みを、Snowflake の外に用意する必要がない24。
- 関数と手続き: Python で関数(UDF、User-Defined Function)やストアドプロシージャを書いて、Snowflake の中で動かせる2627。
- pandas on Snowflake: pandas のコードを、Snowflake のデータの上で動かす。Snowpark Python 1.40.0 からは、手元で動かすか Snowflake で動かすかを自動で選ぶ形が既定で、集計などで結果が小さくなると、データを手元の pandas へ移して続きを動かす28。
結果を手元に取り出す操作をしたときも、そのデータは手元に来る28。メモリーを多く使う処理のためのウェアハウスを、Snowflake では Snowpark-optimized warehouse という。既定で、ふつうのウェアハウスの 16 倍のメモリーを持つ29。Snowflake の中でコンテナを動かす Snowpark Container Services もある30。
出典30件
-
Snowflake「Snowflake AI and ML | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/guides-overview-ai-features — 利用者が選んだ場合を除き境界の中で動く、学習に使わない、出力は誤りうる。 ↩ ↩2 ↩3 ↩4
-
Snowflake「Snowflake Cortex AI Functions (including LLM functions) | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/aisql ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Snowflake「AI_SENTIMENT | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/sql-reference/functions/ai_sentiment — レビューの例と結果、読める言語。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Snowflake「SENTIMENT (SNOWFLAKE.CORTEX) | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/sql-reference/functions/sentiment-snowflake-cortex ↩ ↩2
-
Snowflake「Nov 04, 2025: Cortex AISQL functions (General Availability) | Snowflake Documentation」2025年11月4日、2026年10月30日取得(アーカイブ). https://web.archive.org/web/20251105055241id_/https://docs.snowflake.com/en/release-notes/2025/other/2025-11-04-cortex-aisql-operators-ga ↩
-
Snowflake「Nov 04, 2025: Cortex AI Functions (General availability) | Snowflake Documentation」2025年11月4日、2026年10月30日取得. https://docs.snowflake.com/en/release-notes/2025/other/2025-11-04-cortex-aisql-operators-ga ↩
-
Snowflake「Migrate legacy SNOWFLAKE.CORTEX functions to AI Functions | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/aisql-migrate-legacy-functions ↩
-
Snowflake「Cross-region inference | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/cross-region-inference — 指示と答えは処理の間だけ別のリージョンへ送られる。 ↩ ↩2 ↩3 ↩4
-
Snowflake「Snowflake AI pricing | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/pricing ↩ ↩2
-
Snowflake「Cost considerations for Cortex AI Functions | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/aisql-cost ↩ ↩2 ↩3 ↩4
-
Snowflake「Snowflake Service Consumption Table」2026年10月29日発効、2026年10月31日取得. https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf ↩
-
Snowflake「Managing Cortex AI Function costs with Account Usage | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/ai-func-cost-management ↩
-
Snowflake「AI cost management and governance | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/governance-and-availability/ai-cost-management-and-governance ↩
-
Snowflake「Privileges and model access for Cortex AI Functions | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/aisql-privileges-and-access ↩ ↩2
-
Snowflake「AI & Data Governance Lens」Snowflake Well-Architected Framework、2026年6月1日更新、2026年10月30日取得. https://www.snowflake.com/en/developers/guides/ai-data-governance-lens/ ↩
-
Snowflake「CORTEX_MODELS_ALLOWLIST deprecation and embedding model RBAC enforcement (Pending) | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/release-notes/bcr-bundles/un-bundled/bcr-2378 ↩
-
Renee Huang(Snowflake の AI の製品担当者)「Snowflake Cortex Analyst: Evaluating Text-to-SQL Accuracy for Real-World BI」Snowflake Blog、2024年8月29日、2026年10月30日取得(アーカイブ). https://www.snowflake.com/en/engineering-blog/cortex-analyst-text-to-sql-accuracy-bi/ ↩
-
Snowflake「Cost Optimization」Snowflake Well-Architected Framework、2026年7月30日更新、2026年10月30日取得. https://www.snowflake.com/en/developers/guides/well-architected-framework-cost-optimization-and-finops/ ↩
-
Snowflake「Cortex Search | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-search/cortex-search-overview ↩
-
Snowflake「Cortex Analyst | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst ↩ ↩2
-
Snowflake「Cortex Agents | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents ↩
-
Snowflake「Overview of Snowflake CoWork | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-cowork — 日本語版の題は、まだ「Snowflake Intelligence の概要」。 ↩
-
Snowflake「Snowflake CoWork: The Personal Agent for Knowledge Workers」2026年6月2日、2026年10月30日取得(アーカイブ). https://www.snowflake.com/en/news/press-releases/snowflake-cowork-powers-the-agentic-enterprise-as-the-personal-agent-for-knowledge-workers-to-work-smarter/ ↩
-
Snowflake「Snowpark API | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/snowpark/index ↩ ↩2
-
Snowflake「Working with DataFrames in Snowpark Python | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/snowpark/python/working-with-dataframes ↩
-
Snowflake「Creating User-Defined Functions (UDFs) for DataFrames in Python | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/snowpark/python/creating-udfs ↩
-
Snowflake「Writing stored procedures with SQL and Python | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/stored-procedure/python/procedure-python-overview ↩
-
Snowflake「pandas on Snowflake | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/snowpark/python/pandas-on-snowflake ↩ ↩2
-
Snowflake「Snowpark-optimized warehouses | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/user-guide/warehouses-snowpark-optimized ↩
-
Snowflake「Snowpark Container Services | Snowflake Documentation」日付なし、2026年10月30日取得. https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview ↩
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。