Snowflake Cortexは、Snowflakeに内蔵されたAI・ML機能の総称です。外部のAIサービスにデータを渡すことなく、自然言語による分析、予測、テキスト処理、文書検索まで幅広く対応しています。
本記事では「Cortexで何ができるか」を機能ごとに整理します。Snowflake利用企業のAI活用地図と合わせて読むと、どの場面でCortexを使うべきかがより明確になります。
① 自然言語でデータを聞く――Cortex Analyst
社員がSQLを書かずに、日本語でデータに質問できる機能です。「先月の地域別売上を見たい」と入力すると、AIが自動でSQLに変換し、Snowflake内で実行して結果を返します。
- データはSnowflakeの外に出ない。 LLMもSnowflake内で動作するため、質問文も含めて社外に渡らない。
- アクセス権限(RBAC)がそのまま効く。 普段見られないデータは、自然言語で聞いても見られない。
- 精度は意味モデルの整備次第。 「粗利」「離脱率」などの自社定義を正しく設定しておく必要がある。
一般社員への展開は、後述のStreamlit in Snowflakeと組み合わせて行うのが標準的な構成です。
② 予測・異常検知・要因分析――Cortex ML Functions
SQLの関数として呼び出せる機械学習機能です。Pythonの知識がなくても、分析担当者レベルで使えます。
| 関数名 | できること | 使用例 |
|---|---|---|
| FORECAST | 時系列予測 | 来月の需要・売上を予測する |
| ANOMALY_DETECTION | 異常値検知 | 通常と異なる動きをいち早く発見する |
| CLASSIFICATION | 分類 | 解約しそうな顧客を特定する |
| CONTRIBUTION_EXPLORER | 要因分析 | 売上が下がった要因を分解する |
重い計算はSnowflakeが担うため、手元PCのスペックは問いません。予測結果はそのままSnowflakeに格納され、Cortex Analystや Streamlitで社員が参照できます。
③ テキスト・文書の処理――Cortex LLM Functions
SQLから呼び出せるLLM関数です。顧客コメントの分類、レポートの要約、多言語対応など、非構造化データの処理に使います。
| 関数名 | できること |
|---|---|
| COMPLETE | テキスト生成・質問への回答・要約 |
| SENTIMENT | 感情分析(ポジティブ/ネガティブ/ニュートラル) |
| TRANSLATE | 多言語翻訳 |
| EXTRACT_ANSWER | 文書から特定の質問に答えを抽出 |
| SUMMARIZE | 長文の要約 |
顧客アンケートの感情スコアを一括計算したり、英語レポートを日本語に変換してSnowflakeに格納したりといった処理が、SQLの延長で完結します。
④ 社内文書の検索――Cortex Search
PDF・テキストなどの非構造化ドキュメントを、意味ベースで検索できる機能です。キーワードが一致しなくても、意味的に近い文書を見つけられます。
- 社内規程・マニュアル・議事録などをSnowflakeに格納し、自然言語で検索できる
- Cortex Analystと組み合わせて、構造化データ(数値)と非構造化データ(文書)を横断した質問応答(RAG=社内文書を検索してAIに答えさせる仕組み)が構築できる
⑤ 分析結果を社員に届ける――Streamlit in Snowflake
Snowflake上でPythonのWebアプリを動かせる機能です。Cortexの分析結果を可視化し、エンジニア以外の社員が使える画面として配布できます。
- Cortex Analystの「自然言語質問窓口」として使うのが典型的な構成
- ML Functionsの予測グラフをダッシュボード化することも可能
- データはSnowflake内に閉じたまま、見やすいUIを提供できる
⑥ 複数機能を束ねて自律実行――Cortex Agents
Cortex Analystは「自然言語→SQL」を担いますが、複雑な質問には複数ステップの処理が必要になります。「今月の売上が下がった要因を教えて」という質問に答えるには、数値の検索、異常検知、関連ドキュメントの参照、それらを統合した回答生成が必要です。
Cortex Agentsはこの複数処理を自律的に組み合わせて指揮する仕組み(オーケストレーション層)です。Cortex Analyst・Cortex Search・LLM Functionsを状況に応じて呼び出し、一問一答形式で最終回答を返します。
社員は「なぜ先月の売上が落ちたのか」と入力するだけ。Cortex Agentsが裏で必要なツールを選んで実行し、回答をまとめて返す。SQLを書く必要はない。
| できること | 内部で使われる機能 |
|---|---|
| 数値データへの自然言語質問 | Cortex Analyst |
| 社内文書・マニュアルの参照 | Cortex Search |
| 回答の文章生成・要約 | LLM Functions(COMPLETE) |
| 上記の自律的な組み合わせ | Cortex Agents(オーケストレーション) |
コーディングは不要か
社員が日々使う分析画面を構築するのはエンジニアの仕事ですが、一度作ればあとは社員がコードを書く必要はありません。Cortex Agentsを使った会話型UIをStreamlitで作り、社員に配布するのが現実的な構成です。
一方、意味モデル(「粗利の定義」「離脱の条件」)の整備や、AgentがどのツールをどのAPIで呼ぶかの設定は、分析担当者かエンジニアが行います。導入時に一度整備すれば、その後は社員が自走できる仕組みになります。
Cortexで向かないこと
Cortexは万能ではありません。以下の用途は向いていません。
- Snowflake外のシステムをまたぐ作業。 SlackやGoogle Driveなど複数システムを横断する場合はClaudeが適している。
- 高度なカスタムMLモデルの開発。 独自アーキテクチャのモデルや、特殊な学習パイプラインが必要な場合はML Jobsか外部MLプラットフォームを使う。
- リアルタイムストリーミング処理。 Cortexはバッチ処理が中心で、ミリ秒単位の即時推論には向かない。
まとめ――Cortexでできることの地図
自然言語分析はCortex Analyst、予測・異常検知はML Functions、テキスト処理はLLM Functions、文書検索はCortex Search、配布はStreamlit、そして複数機能の自律連携がCortex Agents。すべてSnowflakeの中で完結する。
「分析担当者の手間を減らし、社員が自走できる仕組みを作る」という目的に対して、Cortexは一つの答えです。Cortex Agentsまで整備すれば、社員はSQLも設定操作も不要で、会話するだけでデータに触れられます。分析担当者は高度な分析・モデル設計に集中できるようになります。
Cortexの最大の強みは「データを外に出さずに、AIを使える」ことです。どの機能を使っても、データはSnowflakeの管理境界の中に留まります。全社員向けの分析基盤としては、まずCortexで完結できる範囲を固めることが、コスト・セキュリティ両面で堅い選択です。
Cortexの導入設計や機能選定については、お問い合わせフォームからご相談ください。