Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例

Avatar for Kashira Kashira
December 10, 2025

 LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例

2025-12-10 アジャイルデータモデリング事例共有会の発表資料

イベントページ:
https://connpass.com/event/375524/

Avatar for Kashira

Kashira

December 10, 2025
Tweet

More Decks by Kashira

Other Decks in Technology

Transcript

  1. 5 kaiはピクシブ内製のLLM Agentです。 • 解 (Solution): 問題解決、答えを見つける • 会 (Encounter):

    データと人が出会い、新たな知見に繋がる • 開 (Open): 新たなビジネスの可能性を開拓する といった目的のために作られました。 kaiとは?
  2. 7

  3. 8

  4. 9

  5. 10

  6. 11

  7. 12

  8. 14

  9. 15

  10. 16

  11. 17

  12. kaiが可能にしたビジネス的な成果 これらの分析を非エンジニア・非専門職が行えるように 1. ユーザージャーニーを広く調査する (1日->30分) 2. PdMが自分で数値分析をしてレポートを書く 3. 新しいマーケットの調査 a.

    今までマーケターが1人で出来なかった分析が可能に 4. クエリの制作時間の作成 a. 複雑なクエリを書くのが面倒なので、それのdraftを作ってもらう b. Draftに30分かかるようなクエリもすぐに出力される 18 現在はDAUが10人程度の活発度です(限定公開中だが)
  13. 23 • 非エンジニアのメンバーが分析をするハードルが高い ◦ エンジニアが多い会社で、PdMもエンジニア上がりの人も多い ◦ データが分かりやすい状態で整備されていない • マルチプロダクトを横断して分析するハードルが高い ◦

    横断でデータを整備する動きがあまり発生していない ◦ それぞれが局所最適かつ、ディメンショナルモデリングも分からない状態で データ整備がされる ◦ MartとSourceはあるけどDWHは無いになりがち • プロダクトによって利活用の差が大きい 現行の体制での課題
  14. LookerのConversational Analytics • 悪くはないけど、LookMLも汚い状態でどれが正しいのか?LLMは判別 できない ◦ マルチプロダクト故に、同じような定義がそこらじゅうにある • セマンティックレイヤでの制約は柔軟性が低い ◦

    全てのカラムが繋ぎ込まれていないと動かない ◦ 例えば、 ▪ pixiv閲覧Exploreでは、user_idをキーに閲覧が分析できる ▪ BOOTH注文 Exploreでは、user_idをキーに注文を分析できる ▪ これを合わせた分析が不可能(SQLならjoinするだけ) • Looker特有のコンテキストを覚えさせるのが大変 ◦ fieldsでカラムを指定してとか、visには何があってみたいな 27
  15. 初期のLLM Agent BigQueryにある全てテーブルからクエリを生成させようとした。 出てきた課題 • テーブルの選択が間違っている(テーブル名は適当です) ◦ pixiv.user, pixiv.user_with_deleted, hub.user

    ◦ どれを使えば良いのか分からないから、無難にpixiv.userを使う • Sample値が分からないのでfilterが上手くいかない ◦ work_typeのdescが、work_type: 作品タイプ だけ ◦ 中身が分からないから、work_type = ‘イラスト’など適当にフィルタする • Joinのキーがおかしい ◦ Uniqueが分からないので、ファンアウト引き起こしやすい ◦ 全然違うカラムで結合しようとする 31
  16. 成功したLLM Agent 上手くいった点 • テーブルの選択は大体成功する • クエリもまあまあ成功する ◦ どれだけテーブルからコンテキストが得られるか次第で大きく変わるけど 出てきた課題

    • LLMが使えるレベルのテーブルが圧倒的に足りない ◦ 既存で整備されているテーブルでも、Descriptionやサンプル値の不足、テーブル利用 時の注意点が分からないなどLLM-Readyではない 35
  17. モデルストーミング 以下の順番で進めましょう. • イベントの詳細のモデル化 • ディメンションのモデル化 • イベントマトリックス 44 引用:

    ローレンス・コル、ジム・スタグニッド(2024) 「アジャイルデータモデリング」 株式会社講談社サンティフィック
  18. イベント詳細のモデル化 週1で30分かつ、4部署合同なため、かなり簡略化しました。 • 3Wがメイン (Where, Who, What) ◦ 弊社はプロダクトごとに見ることが多いので、Whereで絞ってあげてWho, Whatの方

    が答えやすい。今回は特にプロダクト横断の部署とのやり取りだったので。 ◦ ここで得られた回答から、残りの要素で気になることがあれば質問する • BEAMテーブルは使っていない ◦ これは力量不足 ◦ Sample値を書き出す時間がなかなか取れない ◦ 今思うと、LLMで生成すればもう少し良い感じかも 45 力不足な所もあると思うが、今回のケースは3Wあればデータ整備の優先度付けには十分だった。 モデルの一貫性や完全性が担保されていないが、すでに存在しているものがベースに作業。
  19. ディメンションのモデル化 • 今回はスキップ • すでにモデル化されたものを利用した ◦ 履歴に関しては、ほぼscd type1で進めている(たまにscd type2) ◦

    階層に関しても複雑な階層を扱うケースはそこまで多く無かった ▪ BOOTHのカテゴリくらい ▪ ucchi-先生がやってくれた 46
  20. 優先度を決める • 現場が欲しいデータの優先度 ◦ 書籍で紹介されているように、dimはプロセスより高得点になる • 実装の難易度・提供の速度 ◦ 早く価値を出すほど、相手からのフィードバックも多い ◦

    信頼してもらうために、実装が簡単なプロセスを実装するのも大事 • 入り口・出口までを意識する ◦ マーケティングファネルが参考になった 48 正解はないので、チームの事情に合わせてバランスよく取り組むと良い. 私の場合は、実装が簡単なタスクを1つ、実装が難しいが現場が欲しいデータ関連を1つ 並行して進めることが多かった
  21. マーケティングファネルの例 • 認知 ◦ 広告などからのアクセス • 興味・関心 ◦ pixivの作品の閲覧 ◦

    pixivでの回遊 • 検討 ◦ pixivの投稿へのブックマーク ◦ クリエイターのフォロー • 購入 ◦ プレミアム会員 ◦ BOOTHの購入 ◦ FANBOXでの支援 • 継続 ◦ プレミアム会員の継続 ◦ FANBOXの支援継続 49
  22. 実装時の工夫(part1) • dbtのdata testの充実 ◦ Unique, Not Null, Accepted Value,

    Relationshipは可能な限り設定 • BigQueryのDescriptionにメタデータを寄せる ◦ データカタログ製品にメタデータを登録すると呼び出しツールが増えるので、精度が 悪くなる(トークン量も増える) ◦ schemaを見せるだけでクエリがかける状態に持っていく ◦ カラムのType(FK、PK), Sample Value(特にSTRING)など 50
  23. 53

  24. 結果: 改善後の出力の話 • ⭕ ビジネスプロセスのカバレッジが大幅に上がった • ⭕ 社内でもkaiのLLM Agentはすごいと声をいただけた ◦

    経営層からもデータ整備の重要性を認識して貰えている • ❌ ドメイン特化で使うには課題があり ◦ 例えば、BOOTHチームのみが知りたいデータは出せない(整備が追いつかない) ▪ ショップの振り込み履歴の有無 ▪ ショップのニュースの受け取り設定 • ❌ 非構造なデータ周りが非常に弱い ◦ 社内の分析の知見や、ビジネスモデルの繋がりなどをAgentが認識できていない • ❌ 想定よりクエリレビューの依頼が来ないので不安 ◦ 社内向けには、本調査の前段階で使うこと想定していると伝えている 55
  25. 最後: まとめ • LLM Readyな世界ではDWH層のモデリングの重要度が上がっている • DWH層のモデリングはアジャイルデータモデリングを参考に実装すると筋が良い ◦ 今回は話さなかったけど、デザインパターンも豊富 •

    どこに何のデータを、どのように保持するか?もデータモデリング一環で考える 重要性が高まっている ◦ 精度はコンテキストに左右される 57