【登壇資料】「Snowflakeの生成AI機能を活用したデータ分析アプリの作成」というタイトルでDevelopersIO 2025 Osakaに登壇しました #devio2025

【登壇資料】「Snowflakeの生成AI機能を活用したデータ分析アプリの作成」というタイトルでDevelopersIO 2025 Osakaに登壇しました #devio2025

Snowflakeの機能を題材に、生成AIによるデータ分析のうれしいことや、これまでの仕組みづくりの延長線だと考えていることをご共有しました。
2025.09.05

データ事業本部の鈴木です。

2025年9月3日(水)に開催されたDevelopersIO 2025 Osakaに「Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜」というタイトルで登壇しました。

https://classmethod.connpass.com/event/361520/

登壇資料

ポイントのご紹介

データ分析で生成AIを活用するうれしいこと

私は3つうれしいと思っていることがありますが、その中でも「エンジニアに依頼するオーバーヘッドの軽減」を最もうれしいものとしてご紹介しました。

エンジニアに依頼するオーバーヘッドの軽減1

分析業務を依頼・担当している方だと思い当たるところがあるかもしれませんが、分析作成は高度なSQL実装やデータ・ビジネスロジックへの深い理解が必要になるため、それなりの開発時間が必要になり、依頼すると直ぐに完成することばかりではありません。

例えば、ビジネスロジックの細部を反映させるため説明や作り込みが必要であったり、データの性質・品質上より凝った集計処理が必要になったりなどです。分析したい目的に対して「これでいこう」と依頼側・開発側の双方の理解と納得が必要な、時間のかかるかなり高度な作業なのです。

とはいえ分析の検討のため単発でいろいろ分析を実行したかったり、単純に直ぐ必要であったり、それほど難しい処理が必要でなかったりする場合、わざわざ実装担当に依頼しないでもざっくり分析を作成できる手立てがあると嬉しいケースは多々あると思います。

エンジニアに依頼するオーバーヘッドの軽減2

開発側も、分析が作れて自社のビジネスを深く理解している人材は非常に希少であり、本当はより難度の高い分析開発や組織のデータ活用推進に注力するべきですが、全ての依頼を受けているとなかなかそういった改善に手が出ないのが実情だと思います。
生成AIによる分析作成は(いまいまはかもですが、)こういったケースに大変役立つ技術だと考えています。

生成AIに間に入ってもらうことで、依頼側は直ぐに分析結果を得ることができ、より正確に分析したい場合に初めて開発を依頼することができます。開発側もより注力すべき分析開発を行いつつ、余った時間は基盤やAIの改善やビジネス理解の深化に使うことができます。

私は、生成AIが我々に組織のデータ活用のためのより強力な推進力を提供してくれることを非常に期待しています。

Snowflakeの生成AI機能とアプリ作成

Snowflakeの生成AI機能は日々続々とリリース・アップデートされていますが、その中でも今回は以下の4つを紹介しました。

  • Cortex Analyst
  • Cortex Search
  • Cortex Agents
  • Snowflake Intelligence

特にCortex AnalystとCortex Searchは最近しっかりめの資料を作成しましたのでご興味があればご一読ください。

https://dev.classmethod.jp/articles/review-introduction-snowflake-cortex-analyst-2025/

https://dev.classmethod.jp/articles/review-introduction-snowflake-cortex-search/

Cortex Analyst・Cortex Search・Cortex AgentsはREST APIで利用できるため認証できればどこからでも使えますが、SnowflakeのStreamlitアプリを使うとより便利かつ簡単に画面を提供することができます。

Streamlitアプリからの利用

Getting Started with Cortex Agentsを参考)

SQL生成の難しさ

Cortex Analystでなくてもプロンプトを作り込むことで自作のSQL生成器をつくることは可能です。
ただしビジネスユースケースに耐えうるSQLを精度高く生成するためには単発の生成だけではなく、質問内容の補完や複数エージェントでの生成と合成、答えがあらかじめ分かっている質問かどうかのチェックなど行うべきポイントがあります。
Cortex Analystの仕組みは以下のブログでも紹介されており、単発で生成しているわけではなく、技術的にかなり高度かつ複合的な工夫がされていることが分かります。

https://www.snowflake.com/en/engineering-blog/cortex-analyst-multi-turn-conversations-support/

また、セマンティックモデルでは、ハードリミットではないものの精度向上のため、

  • テーブルは10個まで
  • カラムは50個まで

以下が推奨されており、一つ作れば基盤全体で使えるというものではなく、どちらかというとより柔軟なデータマートというイメージが近い印象があります。ユースケースに合わせて適度に分割・設計する必要がありますね。

Cortex Analystに学ぶ精度向上のポイント

自作する場合は作り込みによってはもちろん一つの巨大なセマンティックファイル的なものを作って使うことも可能と想像されますが、以下のAWSブログで紹介されているように、分析対象が多い場合は対象を間引く操作があった方が良いと考えられるため、セマンティックモデルの推奨事項は自然な内容に思いました。

https://aws.amazon.com/jp/blogs/machine-learning/enterprise-grade-natural-language-to-sql-generation-using-llms-balancing-accuracy-latency-and-scale/

セマンティックモデルには別名の定義もありますが、ここも難しいポイントです。ユーザーの質問が分析対象のテーブル名・カラム名を正確に使ってくれるわけではないため、ビジネス的な文脈でどういった呼ばれ方をし得るかも分かっている必要があります。
ここはデータカタログやビジネス用語集といったデータマネジメントで登場する仕組みが必要になります。SQLの組み立てが正しくできたとしても、0除算などデータ起因の問題でクエリが失敗する場合もあります。この場合もデータカタログで分析対象のデータの性質や制約を見る必要があります。もしかするとデータ品質の満足度合いも確認する必要があるかもしれません。

このような理由から、生成AIの登場により今までの仕組みがひっくり返ったわけではなく、むしろ今までの正統進化としてより力を入れて仕組みを用意していく必要性が出てきたと考えられます。

最後に

「Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜」の登壇報告と簡単なポイントのご紹介でした。
生成AIのデータ分析への応用はものすごいスピードで進展していますが、今までの仕組みがひっくり返ったわけではなく、むしろ今までの正統進化なのかなと思っています。
生成AIにはチャレンジしつつも、それをきっかけに人間もAIも使いやすいデータ分析基盤の整備・ブラッシュアップを改めて行うよいタイミングのように感じております。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.