Slide 1

Slide 1 text

AIを活用したStreamlitアプリ開発のTipsと、 ほかのAI機能との棲み分け 2026/3/26 @ Snowflake AI Data Meetup WEST クラスメソッド株式会社 データ事業本部 鈴木那由太

Slide 2

Slide 2 text

目次 ⚫Snowflake Intelligenceすごいですよね! ⚫ダッシュボードの型とStreamlitアプリの強み ⚫AIの支援を受けてモニタリング型ダッシュボードアプリを開発してみる 2

Slide 3

Slide 3 text

3 鈴木 那由太 ● 2021年〜 入社 ○ データ分析基盤構築・運用 ● 2023年〜 データ活用側の案件 ○ 機械学習システム構築 ○ BIダッシュボード構築 ● 2024年〜 AI活用の案件 ○ Snowflake Cortex AIを使った データ分析アプリ開発 ● 所属 ○ クラスメソッド株式会社 ● オフィス ○ 大阪(淀屋橋) ● 受賞 ○ 2025 Japan AWS Top Engineers (AI/ML Data Engineer) ○ APJ Snowflake Partner Champions AI & ML ○ 趣味 ○ ギター

Slide 4

Slide 4 text

Snowflake Intelligenceすごいですよね!

Slide 5

Slide 5 text

Snowflakeのデータ活用機能 5 ネイティブだと以下の機能がある。 • ダッシュボード:クエリ実行結果を表示 • Streamlitアプリ:Pythonスクリプトでデータアプリを実現 • Snowflake Intelligence:AIが自然言語から分析を実行 ▼ダッシュボード ▼Streamlitアプリ ▼Snowflake Intelligence

Slide 6

Slide 6 text

大きな進展:Snowflake IntelligenceのGA 6 ※分析は2分ほどかかったため適宜飛ばしています QuickStartのサンプルを使っています。→

Slide 7

Slide 7 text

もう全部Snowflake Intelligenceでいいのでは? 7 データ分析の全てのユースケースはカバーできない肌感がある。 • 人間のAIに問い合わせするスキルが個人に依存する • 分析・モニタリングしたい内容が複数ある • より事業ドメイン寄りのデータ分析がSnowflake Intelligenceでサポートする可視化で 表現できない etc.

Slide 8

Slide 8 text

もう全部Snowflake Intelligenceでいいのでは? 8 ダッシュボードも組み合わせて使う必要がある。 データ分析の全てのユースケースはカバーできない肌感がある。 • 人間のAIに問い合わせするスキルが個人に依存する • 分析・モニタリングしたい内容が複数ある • より事業ドメイン寄りのデータ分析がSnowflake Intelligenceでサポートする可視化で 表現できない etc.

Slide 9

Slide 9 text

ダッシュボードの型とStreamlitアプリの強み

Slide 10

Slide 10 text

ダッシュボードの3タイプ 10 引用:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2022_Amazon-QuickSight-Visual-Best-Practice_1231_v1.pdf 粒度と変更頻度から、3つの型が提案されている。

Slide 11

Slide 11 text

各機能が得意な分析タイプ 11 # 型 機能 用途 1 分析型 Snowflake Intelligence 課題の発見、原因の分析 2 課題解決型 Streamlitアプリ Snowflake Intelligence 特定済みの課題に対するアプローチ 3 モニタリング型 Streamlitアプリ KPIのモニタリング 変更頻度が高く粒度が細かいもの => AIとの対話 固定の分析を継続して精度高く知りたいもの => ダッシュボード でもStreamlitアプリって実装が必要で作るの 大変じゃないですか?

Slide 12

Slide 12 text

コーディングエージェントによるコード生成例 12 Cortex Codeなどのコーディングエージェントでは、 dbtモデルがあればStreamlitアプリの生成までできる。 • Pythonスクリプトの生成は得意 • Cortex CodeやAIエディタが使える

Slide 13

Slide 13 text

アクションに繋がるダッシュボードには設計が必要 13 引用: https://dev.classmethod.jp/articles/bi-blog-relay-questionnaire-thinking-step/ ▼アンケートをそのままグラフに ▼設計したダッシュボードに

Slide 14

Slide 14 text

AIの支援を受けて モニタリング型ダッシュボードアプリを開発してみる

Slide 15

Slide 15 text

設計ステップ 15 分析を設計する5ステップに沿って進める。 引用: https://dev.classmethod.jp/articles/explanation-of-dashboard-design-that-leads-to-action/

Slide 16

Slide 16 text

設計ステップ 16 ダッシュボードアプリ開発として捉える。 引用: https://dev.classmethod.jp/articles/explanation-of-dashboard-design-that-leads-to-action/ 要求定義 要件定義 基本設計 機能設計 詳細設計 要求定義書 要件定義書 基本仕様書 機能仕様書 画面モック 集計設計書 可視化設計書

Slide 17

Slide 17 text

設計ステップ 17 ダッシュボードアプリ開発として捉える。 引用: https://dev.classmethod.jp/articles/explanation-of-dashboard-design-that-leads-to-action/ 要求定義書 要件定義書 基本仕様書 機能仕様書 画面モック 集計設計書 可視化設計書 これら文書を元にアプリコードを生成したい。 要求定義 要件定義 基本設計 機能設計 詳細設計

Slide 18

Slide 18 text

スクリプト作成のイメージ 18 以下の設計書をインプットに、Streamlitで動くダッシュボードアプリを作成する。 ▼画面モック ▼目標成果物

Slide 19

Slide 19 text

Jaffle Shopを例に試してみる 19 5ステップをJaffle Shopを例にAIに支援してもらいつつやってみる。 飲食店舗のフードおよびドリンクの販売データが含まれている。 dbt Projects on Snowflakeで テーブルを作成しておく

Slide 20

Slide 20 text

①課題の探索 20 Jaffle ShopのマートモデルをSemantic Viewに登録し、Snowflake Intelligenceで探索した。 <分かったこと> • ドリンクのみ購入する顧客は、フードと一緒に購入 する顧客より購入頻度が高い • フードとドリンクを一緒に買う顧客の方が通算で使 う金額が多い • フードの利益率も高めだが購入されている • 店舗によって販売の傾向はほぼ同じ <仮説> • フード併売が伸びない要因の1つとして、ドリンクと 一緒に買いたくなる商品の不足があるのではないか • また、時間帯ごとに顧客ニーズが異なるため、現行 フードが時間帯需要に合っていないのではないか 設定を含め30分くらいで かなり深くまで理解できた。

Slide 21

Slide 21 text

②課題設定 21 # 分析ゴール 分析シナリオ いつ 誰が 何をする なぜ 1 客単価向上 ドリンク併売促進フー ド施策の週次モニタリ ング 週次 経営者 ドリンクのみ注文者 数 フード未併売の顧客規模を把握し、施策対 象となる改善余地を継続的に確認するため 2 ドリンクとフード両 方の注文者数 開発フードを含む併売の進捗を確認し、施 策が客単価向上に寄与しているかを把握す るため 3 ドリンク併売促進フー ド施策の月次分析 月次 月の時間帯別の1,2 の構成比 どの時間帯で併売が進む/進まないかを把 握し、提供方法や販促の改善につなげるた め 4 開発フードの商品別実 績分析 月の売上商品上位5 件 開発フードが実際に売上上位に入るかを確 認し、商品力や継続展開の判断材料とする ため 併売してもらえるフード開発という施策のモニタリングをお題にシナリオを作成した。

Slide 22

Slide 22 text

③画面モックを用意する 22 モックはエージェントが読めれば何でもよいが、Streamlitで再現できるかは意識しておく。 スクショでもかなり正確に 理解してくれた ▼HTMLの画面モック

Slide 23

Slide 23 text

④集計(マート)を設計する 23 • クエリを書きつつが効率良いが、dbtモデルと画面モックから集計の叩き台を生成できる。 • モデルから設計書に起こせる。 ▼集計仕様書叩き台作成 ▼クエリ叩き台作成 集計クエリは60点くらいのものは すぐ作成できるので手直しする。

Slide 24

Slide 24 text

⑤可視化を設計する 24 • マートと画面表示の間を埋める。 • グラフ種別・Streamlitで行う追加集計・カラムと表示の対応など • 個人的には手で書いた方が簡潔な文書になるので好み。 ▼可視化設計書の叩き台作成 AIが可視化の詳細を理解する 資料に相当する。 実装内容が指定しやすい。

Slide 25

Slide 25 text

⑥画面モックと可視化設計から実装する 25 アプリ実装が大幅に時短に。 必要な資料を渡して実装させる。

Slide 26

Slide 26 text

⑥実装をStreamlit in Snowflakeで検証する 26 初回からかなりイメージに近い出力にできる。 ▼モック ▼初回に出力された画面

Slide 27

Slide 27 text

⑥実装をStreamlit in Snowflakeで検証する 27 初回からかなりイメージに近い出力にできる。 追加部分はスクショと 一緒に修正依頼 コード生成のみで完璧をめざすと 設計書が細かくなりすぎてしまい、 恐らく厳しい。

Slide 28

Slide 28 text

何度か直してもらって完成! 28

Slide 29

Slide 29 text

まとめ 29 • 変更頻度が高く・粒度の細かな分析でSnowflake Intelligenceが大きなインパクトがある。 • 変更頻度が小さく・粒度が粗めの分析でStreamlitアプリの強みが活かせる。 • アクションに繋がるダッシュボード構築には目的を意識した設計をする必要がある。 • Streamlitアプリによるダッシュボードの設計・実装は、AIエージェントの支援を受けて かなり進めやすくなっている。 • 課題探索 • 設計作業 • ドキュメント作成 • 分析SQL作成 • アプリ実装

Slide 30

Slide 30 text

No content