Snowflake Intelligenceをはじめから丁寧に
はじめに
こんにちは。ナウキャストでデータエンジニアをしているTakumiです。
Snowflake Intelligenceは、2025年11月4日にGeneral Availability(GA)となりました。本記事では、GA後のSnowflake Intelligenceを実際に構築・検証した内容をもとに、初期構築の手順、構成要素、本番運用で押さえておきたい権限・コスト・評価の観点を整理します。
実際に作ってみて&触ってみて感じたSnowflake Intelligenceのいいところ、改善してほしいところも共有します。
この記事でわかること
- GA後のSnowflake Intelligenceの概要と、Cortex Familyにおける立ち位置
- 自然言語分析、チャート、Artifacts、Tool実行など、Snowflake Intelligenceでできること
- Cortex Analyst / Cortex Search / Cortex Agents / Custom Tool / MCP Connectorの役割
- Role・Warehouse・Semantic View・Cortex Search・Agentの初期構築手順
- 本番利用向けの権限設計、コスト管理(Usage History、Resource Budgets)
- 運用・評価(Agent Evaluations、AI Guardrails、Feedback)
実行環境
Snowflake US West (Oregon) Region
Snowflake Intelligenceとは
Snowflake Intelligenceは、自然言語で組織データからインサイトを取得し、アクションを実行できるビジネスユーザー向けのAgentic Applicationです。単に自然言語でデータに問い合わせるチャットUIではなく、生成されたテーブルやチャートをArtifactsとして保存・共有・再利用できるようになっています。
中核にはCortex Agentsがあり、Cortex Analyst(構造化データ)、Cortex Search(非構造化データ)、Custom Tool、MCP Connectorなどを統合して計画・応答します。
Cortex Family内での立ち位置
Snowflake IntelligenceはCortex Familyの中で、Userに最も近いInterfaceの立ち位置にあります。単なるUIではなく、Cortex Agentsを中核に、構造化・非構造化データ、チャート、Artifacts、Tool実行を統合するWorkspace的な位置づけです。

Snowflake AI Application Frameworkにおける立ち位置
AI Application Framework全体でも、Snowflake Intelligenceはユーザーが直接操作するインターフェースを担っています。ReactやStreamlitのようなアプリケーションUI層に相当しますが、Artifactsの保存・共有、Tool実行、Agent orchestrationまで含むため、単なるフロントエンドよりSnowflake管理のAgentic Workspace/UIとして捉える方が正確です。

できること
| 機能 | 説明 |
|---|---|
| 自然言語分析 | 構造化データ(Cortex Analyst)・非構造化データ(Cortex Search)への問い合わせ |
| チャート生成 | Data to Chart(Vega-Liteベース)による可視化 |
| Artifacts | 生成されたテーブル・チャートの保存、共有、再訪問、フォローアップ質問、Refresh(Preview) |
| ファイル | チャット上でのファイルアップロード・参照(ビジネスユーザー向け体験の強化) |
| Tool実行 | SQL実行、Custom Tool(UDF/SP、API連携、Web検索)、MCP Connector経由の外部Tool |
構成要素
Cortex Analyst
概要
Snowflake上の構造化データに対し、自然言語による問い合わせを可能にするAgentシステムです。Snowflake Intelligenceでは、Cortex AnalystをAgentのToolとして利用します。
Semantic ViewとSemantic Model
AIが組織のデータを理解するために、Semantic ViewまたはSemantic Modelを使います。
| 方式 | 概要 | 主な利用シーン |
|---|---|---|
| Semantic View | Snowsight等で作成するSnowflakeネイティブのセマンティック定義 | GUI中心の構築、Snowflake Intelligenceとの連携 |
| Semantic Model(YAML) | Stage上のYAMLファイルとして定義 | 既存のSemantic Model資産、バージョン管理 |
Cortex Analystが参照するのは生データではなくセマンティック定義ですが、Semantic Model/Viewだけでガバナンスが自動的に完全になるわけではありません。参照先データ、Semantic View、Search Service、Custom Tool、Agent権限の組み合わせで制御されます。
Snowflake におけるSemantic Modelの立ち位置については、以下の図がわかりやすいです。

Verified Query Repository(VQR)
Semantic Model内に定義できるセクションで、自然言語の質問と検証済みのSQLをペアで登録する仕組みです。Cortex Analystはユーザーの質問がVQR内の質問と似ていると判断したとき、対応するSQLを流用して回答を生成します。
| 役割 | 効果 |
|---|---|
| ドメイン知識の注入点 | メトリクスやエンティティでは表現しづらい複雑ロジックを明示的に提供 |
| ユーザー体験ブースター | 似た質問を検知してSuggested Questionsを提示 |
| ガバナンスフック | 検証日時・検証者をメタデータで管理し、監査証跡を確保 |
参考文献: Suggested Questions in Cortex Analyst
Cortex Search
概要
Snowflake内の非構造化データに対して、意味検索・キーワード検索を行うサービスです。RAGに必要な検索エンジンをフルマネージドで提供し、ハイブリッド検索(ベクトル+キーワード)とRe-Rankingで高精度な検索を実現します。Snowflake Intelligenceでは、AgentのToolとして検索結果をコンテキストに渡します。
ハイブリッド検索+Re-Ranking
- Embedding空間で意味的に類似する文章をベクトル検索で取得
- 表面的に一致する文章をキーワード検索で取得
- Semantic Rankingで最終的な検索順位を決定
Embeddingsモデル
Snowflake Arctic Embeddingシリーズを使用します。
- snowflake-arctic-embed-m-v1.5(約1.1億パラメータ)
- snowflake-arctic-embed-l-v2.0(約5.68億パラメータ)
制約・課題(本番利用の注意点)
- トークン長制限512トークンを超えるチャンクは、先頭512トークンのみsemantic retrievalの対象(キーワード検索はコンテキスト制限なし)
- Cortex Search Serviceはowner's rightsで実行される。呼び出しユーザーのロールとTool実行時の権限が常に同じとは限らない
参考文献
- [2025] Before You Process That PDF: What I Learned Using Snowflake Cortex Search
- Query a Cortex Search Service
Cortex Agents
概要
構造化・非構造化データの両方にまたがり、複数のToolを使って自然言語の問い合わせに回答します。公式ドキュメントでは、AgentはLLM-based orchestrationによりCortex Analyst、Cortex Search、Custom Tool等を使って計画・応答すると説明されています。
Orchestration
自然言語で受けた質問を、計画→分割→ルーティングのワークフローで処理します。ワークフローの参考実装はAgent Gateway(orchestration-framework)として公開されています。
| ステップ | 説明 |
|---|---|
| 計画 | 要求を解析し、複数の実行パス候補から最適なプランを策定 |
| 分割 | 複合クエリを小さなタスクに分割し、並列/逐次実行を最適化 |
| ルーティング | Cortex Analyst、Cortex Search、Custom Tool、MCP Connectorを自動選択 |
Tool Use
Orchestrationで生成した計画に沿って、以下のツールを呼び出します。
| Tool | 説明 |
|---|---|
cortex_search |
非構造化データの検索 |
cortex_analyst_text_to_sql |
Semantic View/Modelを参照したText-to-SQL |
sql_exec |
SQLの実行 |
data_to_chart |
Vega-Lite仕様によるチャート生成 |
| Custom Tool | UDF/Stored Procedure、API連携、Web検索など |
| MCP Connector | リモートMCP ServerのToolを発見・実行(Jira、Salesforce、独自アプリ等) |
Reflection
各Toolの呼び出し後、得られた結果を自己評価し、コンテキストの修正や追加情報の検索を行います。ReActやSelf-Reflection系列の研究を応用したアプローチが採用されています。
- ReAct: Synergizing Reasoning and Acting in Language Models
- Self-Reflection in LLM Agents: Effects on Problem-Solving
Custom ToolとMCP Connector
Custom ToolはStored ProcedureやUDFに加え、API連携やWeb検索をAgentから呼び出せます。MCP Connectorは、リモートMCP Server上のToolをSnowflake Intelligence / Cortex Agentsから発見・実行するための仕組みです。本番では、各Toolの実行ロール(owner's rights / caller's rights)を個別に確認してください。
構築手順
前提条件
- 利用するデータはSnowflake上のTable、Stage等にロード済みであること
利用データ(デモ用)
| 種別 | データ |
|---|---|
| 構造化 | Snowflake MarketplaceのUS Real Estate |
| 非構造化 | FRB FOMCの議事録 |
想定シナリオ:住宅価格トレンドを構造化データから可視化し、FOMC資料からトレンドの背景を説明してもらう。
設定環境の準備
Role、Warehouse、Database
use role accountadmin;
-- Role
create role snowflake_intelligence_admin_rl;
create role snowflake_intelligence_modeling_rl;
create role snowflake_intelligence_ro_rl;
grant role snowflake_intelligence_modeling_rl to role snowflake_intelligence_admin_rl;
grant role snowflake_intelligence_ro_rl to role snowflake_intelligence_modeling_rl;
-- Warehouse
create warehouse snowflake_intelligence_wh with warehouse_size = 'X-SMALL';
grant usage on warehouse snowflake_intelligence_wh to role snowflake_intelligence_admin_rl;
grant usage on warehouse snowflake_intelligence_wh to role snowflake_intelligence_modeling_rl;
grant usage on warehouse snowflake_intelligence_wh to role snowflake_intelligence_ro_rl;
-- Database
create database snowflake_intelligence;
grant ownership on database snowflake_intelligence to role snowflake_intelligence_admin_rl;
DECLARE
sql_command STRING;
BEGIN
sql_command := 'GRANT ROLE snowflake_intelligence_admin_rl TO USER "' || CURRENT_USER() || '";';
EXECUTE IMMEDIATE sql_command;
END;
Config Schema、Stage(Semantic Model用)
Semantic ViewをSnowsightで作成する場合は不要です。YAMLのSemantic ModelをStageに置く場合のみ作成します。
create schema if not exists config;
grant usage on schema config to role snowflake_intelligence_modeling_rl;
grant usage on schema config to role snowflake_intelligence_ro_rl;
use schema config;
create stage semantic_models encryption = (type = 'SNOWFLAKE_SSE');
grant read on stage snowflake_intelligence.config.semantic_models to role snowflake_intelligence_modeling_rl;
grant read on stage snowflake_intelligence.config.semantic_models to role snowflake_intelligence_ro_rl;
Cortex Search
チュートリアルを参考に構築しました。
- PDFをStageにアップロード
- Chunk分けを行うFunctionを作成
- Chunk情報を格納するTableを作成
- Tableを元にCortex Search Serviceを作成
Cortex Analyst(Semantic View)
SnowsightでSemantic Viewを作成しました。単一Tableに対してはディメンションやシノニムの定義をある程度自動生成してくれますが、Table間のリレーションは手動でモデリングする必要があります。

Cortex Agentの作成
Agentは次の方法で作成・実行できます。
| 方法 | 用途 |
|---|---|
| Snowsight GUI | ビジネスユーザー・初期検証向け |
| CREATE AGENT(SQL) | バージョン管理・CI/CD |
| Cortex Agents Run API | アプリケーション連携(agent:run、Agent Objectなしの/api/v2/cortex/agent:run) |
| DATA_AGENT_RUN(SQL関数) | SQLからの実行 |
Agent Objectを作成し、agent:run APIから実行する方法と、Agent Objectなしで設定を渡して/api/v2/cortex/agent:runを呼ぶ方法があります。詳細はCortex Agents Run APIを参照してください。
Agent設定項目
| 項目 | 説明 |
|---|---|
| About | エージェントの表示名・概要・目的を設定する |
| Tools | Cortex Analyst、Cortex Search、Custom Toolなど、利用するToolを登録する |
| Skills | Agentの応答方針や補助的な能力をスキルとして追加する |
| MCP Connectors | リモートMCP Serverを接続し、外部Toolを発見・実行できるようにする |
| Orchestration | モデル(auto推奨)やPlanning Instructionを設定する |
| Access | 利用可能なRoleを追加し、Verify accessで参照可否を確認する |
CREATE AGENTの例(CLI)
CREATE AGENT IDENTIFIER('MY AGENT')
WITH PROFILE='{"display_name": "MY AGENT"}'
COMMENT='Description about agent'
FROM SPECIFICATION $$
{
"models": {
"orchestration": "auto"
},
"instructions": {
"response": "<Write Response Instruction Here>",
"sample_questions": [
{"question": "<Sample Question Here>"}
]
},
"tools": [
{"name": "Cortex Search Service Name", "type": "cortex_search"},
{"name": "Semantic View Name", "type": "cortex_analyst_text_to_sql"},
{"name": "Semantic Model Name", "type": "cortex_analyst_text_to_sql"}
],
"tool_resources": {
"cortex search service name": {
"id_column": "FILE_URL",
"name": "<Database>.<Schema>.<cortex search service name>"
},
"Semantic View Name": {
"semantic_view": "<Database>.<Schema>.<Semantic View name>"
}
}
$$
GUIでの設定
以下の設定をGUI上で行うことが可能です。
- About: Agentの表示名、説明、用途を定義する
- Tools: Cortex Analyst、Cortex Search、Custom Tool、Webサーチの設定
- Skills: Agentの応答方針や補助的なスキルを設定
- MCP Connectors: MCP Serverの接続設定
- Orchestration: モデル選択とPlanning Instructionを設定する
- Access: 利用可能なRoleを追加






権限設計
本番利用では、Agent自体のUSAGEに加え、Agentが利用する各リソースへの権限が必要です。
| 対象 | 必要な権限の例 |
|---|---|
| Agent |
USAGE on agent |
| Semantic View / Semantic Model |
USAGE、SELECT(参照先Table) |
| Cortex Search Service |
USAGE(owner's rightsの挙動に注意) |
| Custom Tool |
USAGE on function/procedure、実行ロールの確認 |
| MCP Connector | Connector定義へのUSAGE、接続先Toolの権限 |
| Warehouse | Agent・各Toolで指定するWarehouseへのUSAGE
|
Cortex Agent evaluationsを行う場合も、評価対象のAgentとToolへの権限が必要です。最小権限の原則で、ロールごとに利用可能なAgent・Toolを分離することを推奨します。
コスト管理
課金の考え方(GA後)
Preview期間中の「Agent機能は無料」という前提はGA後には当てはまりません。主なコスト要因は以下のとおりです。
| 要因 | 説明 |
|---|---|
| Cortex Agents orchestration | Orchestrationトークン |
| Cortex Analyst | Analystトークン |
| Cortex Search | インデックスサイズ・保持時間 |
| Warehouse | Agent本体および各Tool実行時のWarehouse稼働 |
Usage History
Snowflake Intelligence経由の利用は、Account Usageビューで確認できます。
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.SNOWFLAKE_INTELLIGENCE_USAGE_HISTORY
ORDER BY start_time DESC
LIMIT 100;
credits、tokens、user、request、agent、granularなtoken/credit breakdownが参照できます。
Snowflake Intelligence経由ではなく、Cortex Agents Run API等から直接呼び出したリクエストはCORTEX_AGENT_USAGE_HISTORYに記録されます。UI利用とAPI利用を分けて監視してください。
Resource Budgets
2026年3月に、Snowflake Intelligence / Cortex Agents向けのResource Budgetsが追加されました。利用上限、タグ、通知、自動アクションを設定し、本番運用でのコスト暴走を防ぐことができます。
デモ時のコスト試算(参考)
以下はPreview検証時の体感ベースの試算です。GA後の単価・課金体系は公式のCortex Agentsドキュメントで確認してください。
| 項目 | 値 |
|---|---|
| 質問数 | 3(住宅価格トレンド → 都市選定 → トレンド理由) |
| Cortex Analyst呼び出し | 6 msg |
| Warehouse | XS・約3分 |
| Cortex Search | 既存サービス利用 |
試算ではCortex Analystのトークン消費が支配的でした。Tool数、モデル、データ量によって変動するため、本番ではUsage HistoryとResource Budgetsで継続監視するのが確実です。
運用・評価
AI ObservabilityとAgent Evaluations
デプロイ後の挙動は、Snowflake付属のTruLensやSnowsight上のダッシュボードで可視化できます。加えて、Cortex Agent evaluationsがGAとなり、評価データセット、LLM judge、カスタム評価指標による品質管理が可能です(評価実行にもコストが発生します)。
| 機能 | 内容 |
|---|---|
| Evaluations | LLM-as-a-Judgeによる精度・網羅性・コスト・レイテンシー |
| Comparison | モデル・プロンプト・Tool構成の横並び比較 |
| Tracing | 入力、検索、生成SQL、LLM出力のフロー可視化 |

AI Guardrails
2026年5月14日に、Cortex AI Guardrails support for Snowflake Intelligence and Cortex AgentsがGAとなりました。ハルシネーション、不適切な応答、安全制御の観点から、本番利用前にGuardrailsの設定を検討してください。
デモ
デモとして、以下の一連の質問を行いました。
Q1. "Show housing price trends between 2023 and 2025 by geo-id"
Q2. "Choose 5 Biggest City in Biggest City in the us."
Q3. "Why is it higher trending"
デモ動画(Preview時点の記録): https://x.com/mmjjaadmm/status/1951468478566986157
レイテンシーはTool数、Analyst/Searchの呼び出し回数、Warehouse、モデル、データ量で大きく変わります。検証時は3問で約5分(1問あたり約1分40秒)でしたが、一般化はせず、精度・レイテンシー・コストのトレードオフがあると捉えるのがよいでしょう。
今後改善してほしいこと
より高度な可視化
Data to Chart(Vega-Lite)により、Line/Barに限らないチャート生成が可能になりました。一方で、地図チャートやより高度なBI表現(Scatter、Heatmap、Funnel等)は、今後の拡張に期待したい領域です。
レイテンシーとコストの透明性
PlanningとReflectionにより品質は上がりますが、待ち時間とコストも増えがちです。Tool数やモデル選択を調整しつつ、Resource BudgetsとUsage Historyで運用側が把握しやすいUXの継続改善を期待しています。
Tool権限設計の難しさ
Cortex Searchのowner's rights、Custom Toolの実行ロール、MCP Connector経由の外部Toolなど、Agentにぶら下げる要素ごとに権限モデルが異なります。本番では権限設計がボトルネックになりやすいため、ドキュメントとベストプラクティスの充実を期待しています。
まとめ
Snowflake Intelligenceは、GA後も進化を続けており、
- 構造化・非構造化データへの自然言語アクセス
- Cortex AgentsによるTool統合(Analyst、Search、Custom Tool、MCP Connector)
- Artifactsによる分析結果の保存・共有・再利用
- Usage History、Resource Budgets、AI Guardrailsによる本番運用
を、比較的短時間で試せる点が大きな価値です。
「Agent UIを簡単に作れる」だけでなく、「会話から生成した分析結果を組織内で再利用できるWorkspace」として捉えると、GA後のSnowflake Intelligenceの位置づけがより明確になると思います。
変更履歴
| 日付 | 内容 |
|---|---|
| 2025/11/18 | Snowflake Intelligence GAに伴い、agentsスキーマの記述を削除 |
| 2026/05/28 | GA後の仕様、Artifacts、Usage History、Resource Budgets、MCP Connector、AI Guardrailsに関する記述を更新。章立てを再構成 |
Discussion