CHAPTER 05

Cortex Analyst構築

自然言語から正しいSQLを生成するための基本

5-1. Cortex Analystの役割

Cortex Analystは、利用者の自然言語質問をSemantic Viewの定義に基づいてSQLへ変換し、Snowflake上の構造化データを分析する機能です。

flowchart LR Q[自然言語] --> CA[Cortex Analyst] SV[Semantic View] --> CA CA --> SQL[SQL生成] SQL --> WH[Warehouseで実行] WH --> R[結果]

5-2. 処理の流れ

  1. 質問の意味を理解する
  2. 適切なDimension・Metric・RelationshipをSemantic Viewから探す
  3. SQLを生成する
  4. WarehouseでSQLを実行する
  5. 結果をAgentへ返す

5-3. Semantic Viewの作成方法

Semantic ViewはSnowsightから作成する方法と、DDL/YAML仕様から作成する方法があります。初心者はまずUIで作成し、仕組みを理解してからコード管理へ進む方法が分かりやすいです。

AI & ML
  ↓
Cortex Analyst
  ↓
Create Semantic View
  ↓
対象テーブル選択
  ↓
Dimension / Metric / Relationship確認
  ↓
保存・テスト

5-4. Warehouseは何に使うのか

Cortex Analystが生成したSQLを実際に実行するときはWarehouseが必要です。AgentへCortex Analystツールを追加する際、利用WarehouseとQuery Timeoutを設定できます。

注意:LLMの推論コストだけでなく、生成SQLを実行するWarehouseコストも発生し得ます。分析用Warehouseを分離すると管理しやすくなります。

5-5. 精度が低いときに確認する順序

順序確認項目
1質問自体「今年」が会計年度か暦年か
2Metric定義売上に返品を含むか
3Relationship顧客と売上のJOIN関係は正しいか
4Literal値「関東」とDB値が一致するか
5Verified Query正解SQLを登録できるか

5-6. Verified Queryを使った改善例

質問:「今月の売上TOP10顧客を教えて」

この質問が重要で、SQL定義も固定したい場合、正解SQLをVerified Queryとして登録します。類似質問時にCortex Analystがその例を活用できます。

重要KPI・月次会議で使う定型質問・経営会議で参照する質問は、VQR候補として優先度が高いです。

5-7. 複数Semantic Viewのルーティング

Cortex Agentは複数のSemantic Viewを利用できます。売上と在庫など、領域を分けた上でツール説明を明確にすると、Agentが適切なViewへルーティングしやすくなります。

flowchart TD Q[質問] --> A[Cortex Agent] A --> S[Sales Semantic View] A --> I[Inventory Semantic View] A --> AR[AR Semantic View]

5-8. 評価

Cortex Analystには、Verified Queryを評価データとしてSQL correctnessを確認する評価機能があります。本番前に「よくある質問セット」を作成し、継続的に評価する運用が有効です。

この章で理解したこと

  • Cortex Analystは自然言語→SQLの分析機能
  • SQL実行にはWarehouseが関係する
  • Semantic Viewの品質が生成SQLの品質に直結する
  • VQR・Literal検索・評価を使って継続改善できる
← 第4章へ 目次へ戻る 第6章へ →