131 Views
August 04, 25
スライド概要
2025/07/29に開催されたイベント「エンタメ業界のデータエンジニアリング最前線 #2」の発表スライドです。
イベント概要: https://datayokocho.connpass.com/event/358114/
DeNA が社会の技術向上に貢献するため、業務で得た知見を積極的に外部に発信する、DeNA 公式のアカウントです。DeNA エンジニアの登壇資料をお届けします。
AIオールインで加速する! DeNAのデータ基盤開発スピード 向上に向けた取り組み 笠西 哲 株式会社ディー・エヌ・エー IT本部AI・データ戦略統括部データ基盤部ゲームエンタメグループ © DeNA Co., Ltd. 1
自己紹介 笠西 哲 株式会社ディー・エヌ・エー IT本部AI・データ戦略統括部データ基盤部ゲームエンタメグループ ● 業務内容 ○ ゲーム領域のデータ基盤構築・運用 (アナリティクスエンジニア) ● 趣味 ○ 一人旅・街歩き・ランニング ○ バドミントン・テニス (最近暑すぎて趣味が全て封じられています...) © DeNA Co., Ltd. 2
目次 1 はじめに:ゲーム領域のデータエンジニアが抱える課題 2 データ基盤構築のテンプレート化 3 生成AIを活用したデータ基盤開発の効率化 4 おわりに © DeNA Co., Ltd. 3
1. はじめに:ゲーム領域の データエンジニアが抱える課題 © DeNA Co., Ltd. 4
DeNAのデータエンジニアリング組織「データ基盤部」 1 ● 全社横断でデータ・機械学習(ML)基盤を開発・運用する組織 ● 「チームトポロジー」を導入して事業ドメイン毎にチームを細分化 ゲーム / エンタメ ヘルスケア / メディカル ライブコミュニティ スポーツ / スマートシティ 事業部 横断組織 データ/ML利活⽤⽀援 データ基盤部 ゲーム エンタメG ヘルスケア‧ メディカルG ライブ コミュニティG スポーツ‧ バックオフィスG 経営企画 / HR / CS など 横断機能の提供‧技術⽀援 プラットフォームG © DeNA Co., Ltd. © SQUARE ENIX ©DeNA Co., Ltd. 5
2 ゲームドメインの課題:データ基盤の数が多すぎる! ● DeNAは数多くのゲームタイトルをリリースしている ● ゲームタイトル毎に要件が異なるため、基本的には個別のデータ基盤を構築 ○ 分析用途だけでなく、ML基盤やゲームの各種機能にデータを提供することも ● たった6名で数十個ものデータ基盤を開発・運用している ○ → 開発効率を向上させないと手が回らなくなる 〇〇データ基盤 ▲▲データ基盤 ■■データ基盤 ◆◆データ基盤 © DeNA Co., Ltd. 6
開発効率化に向けた取り組み①:テンプレート化 3 ● タイトル毎に要件は異なるものの、同じデータ基盤なので共通化できる部分も多い ● 開発環境テンプレートを作成し、複数案件で導入している ● データ基盤として、どの案件でも共通で満たすべき項目を網羅した データ基盤立ち上げチェックリストの作成にも取り組んでいる 開発環境テンプレート 開発スピード向上・属人化の回避 案件A 案件B データ基盤 立ち上げチェックリスト © DeNA Co., Ltd. 案件C データ基盤の品質担保・考慮漏れの防止 7
開発効率化に向けた取り組み②:生成AIの活用 4 ● (特にリリース前は)情報の秘匿性が高いゲーム案件の性質上、 昨年まで生成AIの活用は他ドメインと比較してやや遅れていた ● 今年2月にDeNAが「AIオールイン」を掲げて以降、ゲームドメインでも 生成AIを積極的に活用できる環境が整ってきている ● 本発表では「あるアプリのアップデートに伴うデータ基盤の改修」に生成AIを 活用した事例を後ほどご紹介 © DeNA Co., Ltd. 8
2. データ基盤構築のテンプレート化 © DeNA Co., Ltd. 9
1 開発環境テンプレートの作成 ● ゲームドメインではデータ基盤の数が非常に多く、以下の課題が生じていた ○ 案件ごとに1から開発環境を作るのでは間に合わない ○ 案件ごとに開発環境がバラバラだと開発・運用が属人化する ● 開発環境テンプレートリポジトリを作成し、実際に多数の案件で活用している 開発環境テンプレート 案件Aの開発環境 © DeNA Co., Ltd. 案件Bの開発環境 案件Cの開発環境 10
2 開発環境テンプレートの全体像 Cloud Composer 実行スケジュールは Cloud Composer (Airflow)で管理 Load, Transform処理は Batchで実行 Artifact Registry Batch Batch 集計データ BigQuery Staging BigQuery Data source Cloud Storage, etc. Python © DeNA Co., Ltd. Cloud Storage dbt Core 11
2 開発環境テンプレートの全体像 マネージドサービス だから運用が楽! GCSにコードをアップロード/ Artifact Registryにイメージをpush するだけなのでCDの導入も簡単! Cloud Composer Cloud Storage Artifact Registry 実際の処理をBatchに任せる ことで、スペックを柔軟に カスタマイズできる & Airflow Workerに 負荷がかからない Batch Batch 集計データ BigQuery Staging BigQuery Data source Cloud Storage, etc. Python dbt Core Python, dbt Coreで案件固有の処理を書くだけでデータ基盤を構築できる © DeNA Co., Ltd. 12
開発環境テンプレートの効果 3 ● 開発に着手するまでのリードタイムが大幅に減少 ○ テンプレートを入れるだけですぐデータ取り込み・変換処理の実装に着手できる ● 各ゲームタイトルのアーキテクチャが共通化されることによって、 新規メンバーがデータ基盤の開発・運用に関わる時の認知負荷が低下 ○ 属人化の回避に貢献している ■ 案件毎にアーキテクチャがバラバラだとキャッチアップが大変 ○ 案件の性質に応じた一部のカスタマイズは実施している © DeNA Co., Ltd. 13
4 開発環境テンプレートのカスタマイズ 案件の予算に応じて より安価なWorkflowsに 置き換え Cloud Composer Cloud Run jobsの 実行時間制限が24時間 (168時間)に緩和 Cloud Storage Artifact Registry → ジョブ起動のオーバー ヘッドが短い等の利点から Cloud Run jobsに置き換え Batch Batch 集計データ BigQuery Staging BigQuery Data source Cloud Storage, etc. Python dbt Core dbt Fusionへの移行も...? © DeNA Co., Ltd. 14
5 開発環境にとどまらないテンプレート化の取り組み ● データ基盤立ち上げチェックリスト ○ データ基盤の品質を担保するための指針 ○ 担当者がやるべきことの明確化・考慮漏れによる不要な手戻りを防ぐ データ基盤の実装には 直接関係ないかもしれないが、 見過ごすと手戻りリスクが大きい 見過ごされやすいが、リリース直前まで 放置すると後から問題になる可能性も (要件定義のチェックリスト例) まだまだ作成中ですが...最終的には公開したいと考えています © DeNA Co., Ltd. 15
3. 生成AIを活用した データ基盤開発の効率化 © DeNA Co., Ltd. 16
生成AIを活用したデータ基盤の開発効率化 1 ● 今年2月にDeNAが「AIオールイン」を掲げて以降、全社的に生成AIを積極的に 活用できる環境が整ってきている ● 生成AIを活用して、要件定義・実装のそれぞれのフェーズを効率化できないか 日々試行錯誤している ● 今回は「あるアプリのアップデートに伴うデータ基盤の改修」に生成AIを活用した 事例をご紹介 © DeNA Co., Ltd. 17
1 生成AIを活用したデータ基盤の開発効率化 ● 要件定義の効率化 ○ ソースデータ(ログ)設計の効率化 ■ 必要なコンテクストが少ないタスクは生成AIに任せるのに向いていそう ○ マート設計の効率化 ■ 生成AIによって考慮の抜け漏れを防ぐ ● 実装の効率化 ○ エンジニアの実装効率化 ■ 既に多方面から共有されているためここでは割愛 ○ アナリストのSQL実装効率化に踏み込んだ取り組み © DeNA Co., Ltd. 18
ソースデータ(ログ)設計の効率化 2 ● スマホアプリの場合、アップデートで追加されるアプリ側の画面単位の機能仕様書を 参照し、その画面で取得したいログを設計して実装してもらう ○ ログ設計に最低限必要なコンテクストは 「現行のログ仕様書」「追加される画面の機能仕様書」のみ ○ → 生成AIに任せるのに向いているタスクでは? 現行の ログ仕様書 © DeNA Co., Ltd. 追加される 画面の仕様書 修正後の ログ仕様書? 19
ソースデータ(ログ)設計の効率化 2 ● 試しに既にログ設計済みの機能でテストしてみたところ、シンプルなプロンプトでも 人間が実際に設計したログにかなり近い出力が得られた ○ → 実際に新規追加される画面でログ設計を任せてみた 【プロンプト】 今後追加される〇〇機能の仕様書と現状のログ設計書を参照し、新規でログ追加すべき 項目や、既存のログ項目のうち追加・修正すべき項目を洗い出してください。 ログ設計書に合わせて、出力タイミング、イベントID、フィールド名、データ型、 フィールドの説明を合わせて出力してください。 © DeNA Co., Ltd. 20
2 ソースデータ(ログ)設計の効率化 ● 新規追加される画面についても、追加・修正が必要なログの候補を出してくれた ○ 後は出された候補をデータ基盤・アナリストで選定すればOK ● → 必要なコンテクストが少ないタスクは生成AIとの親和性が高そう 【回答】 分析ログとして出力する優先度の高い項目を10個に絞り、ログの名前と付随して出力される フィールド名を以下に示します。 これらの項目は、ユーザーの基本的な行動、...の利用状況、エンゲージメント、収益への 貢献、 そして問題発生の可能性を把握する上で重要性が高いと考えられます。 ログの名前: ... 付随して出力されるフィールド名: xxx_id (...), xxx_type (...), xxx_timestamp (...) 理由: ... … © DeNA Co., Ltd. 21
3 マート設計の効率化 ● アプリのアップデートに伴いどのようなデータを分析したいか ○ 追加される機能の仕様書を渡して考えてもらう ○ さすがにこれだけでは分析項目の網羅はできないが、必要な分析観点の 抜け漏れを防ぐ意味合いでは機能した ○ まず人間がちゃんと考えた上で、生成AIを使って分析観点の抜け漏れを チェックしてマート設計に活用する 【プロンプト】 〇〇機能の仕様書を参照して、この機能について分析すべき項目を重要度の高いものから10 個列挙してください。 © DeNA Co., Ltd. 22
3 マート設計の効率化 ● ログ追加に伴う、既存マートへの影響範囲の特定 ○ → 影響範囲の抜け漏れを洗い出せた 【プロンプト】 次のバージョンアップで、以下のようにログが追加・修正されます。これに伴って、既存の マート設計から修正すべき項目を洗い出してください。 (ログ追加・修正項目) ● 一方、マート設計を一から任せるのはまだ難しいかもしれない ○ 既存のマートの設計思想や、背後の中間集計との整合性も取る必要がある ○ → 必要なコンテクストが多い © DeNA Co., Ltd. 23
実装の効率化 4 ● 全社的に生成AIツールの利用可否の判断フローが整備されており、安心して使える ○ ツール毎に利用可能・検討中・利用不可といったステータスが明確に ● データエンジニアもGitHub Copilot, CursorなどのAIコーディングツールを 活用して開発効率化 ○ 既に多方面から生成AI活用事例が共有されているのでここでは割愛 © DeNA Co., Ltd. 24
4 実装の効率化 ● データエンジニアにとどまらず、アナリストのSQL実装も大きく効率化 ○ マート仕様書やクエリ作成上の注意点をコンテクストとして読み込めるように ドキュメント整備し、生成AIによるSQL生成に活用 ○ 発展して、アナリストと一緒に「AIが認識しやすい形のデータマート」とは何か? という議論を進めている ○ 今後は人間よりもAIが理解しやすい形のデータを提供することが求められる? 分析したい内容 データ分析用SQL データマートの情報 © DeNA Co., Ltd. 25
5 生成AI活用まとめ ● 要件定義フェーズ ○ 必要なコンテクストが少ないログ設計においてはかなり有効活用できる ○ ログ設計以外のフェーズにおいても、最初は人間がしっかり考えつつ、 考慮の抜け漏れを防ぐ目的で生成AIを活用 ● 実装フェーズ ○ 全社的に生成AIツールの利用フローが整備されており、安心して使える ○ データ基盤のみならず、アナリストのSQL実装の効率化に向けた取り組みも進行中 ● 今後の展望 ○ ソースデータの正常性確認・ダッシュボード開発など他フェーズの効率化 ○ 「生成AIが理解しやすい形のデータ」とは何か?の検討 © DeNA Co., Ltd. 26
4. おわりに © DeNA Co., Ltd. 27
1 ゲームドメインのデータ基盤開発効率化に向けた取り組み ● データ基盤開発のテンプレート化 ○ 開発環境テンプレートリポジトリを作成し、多数の案件で活用中 ■ 開発スピードの向上・開発環境の共通化による属人化の軽減効果 ○ データ基盤立ち上げチェックリストの作成も ● 生成AI活用 ○ 要件定義・実装の両面で効率化 ■ 特に必要なコンテクストが少ないタスクで有効 ○ データ基盤のみならず、アナリストの業務効率化も目指して試行錯誤 © DeNA Co., Ltd. 28
© DeNA Co., Ltd. 29