2025年11月4日の「Data Engineering Summit 前夜祭」で、このタイトルについてお話しさせていただきました。
😇 データモデリング、不安じゃないですか?
僕は元々ソフトウェアエンジニアで、GitやUnit Testの導入なんかもやっていました。
そんな僕がデータモデリング(特にディメンショナルモデリング)を始めた時、ものすごい不安に襲われたんです。
「SOURCE層からWAREHOUSE層 (Dim + Fact) にしてるけど... これで合ってる? 🤔」
具体的には、こんな不安でいっぱいでした。
- ❌ Dim/Factの整合性は取れてる?
- ❌ NULL/空文字の考慮漏れない?
- ❌ ビジネスロジックの解釈は正しい?
- ❌ データの欠損に気づけてる?
- ❌ 他の人のモデルをレビューできる?(自信ない...)
😱 元バックエンドエンジニアの叫び
もうね、心の中はこれです。
「データモデリングにも自動のUnit Testみたいのないの?🤔」
「UTみたいに、即座にフィードバックくれるものが欲しい...!」
僕がUT(ユニットテスト)に感じていたのは「絶対的な安心感」でした。
- ✅ 即座のフィードバック: 変更の影響をすぐ確認できる
- ✅ リファクタの安心感: 「ここ直しても壊してない」って常に検証できる
- ✅ 設計の改善: 「なんかテスト書きにくいな...」って時は、だいたい設計が悪いっていうサイン
この「実装 → 検証 → 改善」のサイクルを、データモデリングでも実現したかったんです。
💡 結論:「AI AgentとMCPでUTと同じような相棒に!」
そこで僕らがたどり着いたのが、これです。
AI Agent(Claude Code) と Snowflake MCP を組み合わせて、
Unit Testみたいな「相棒」にしちゃおう!
🛠️ やったこと:技術スタックと開発サイクル
- 🔧 環境: Airflow × ❄️ Snowflake
- 🤖 AI: Claude Code
-
🔌 連携: Snowflake MCP
- (もともと分析用で導入してたのを、開発にも転用しました)
これを導入して、こんな開発サイクルを回せるようにしました。
- (僕ら): DAGを実装する
- (手動): AirflowでDAGを実行
- (自動): Snowflake MCPが実行結果をキャッチ
- (相棒🤖): Claude Codeが結果を分析して、フィードバックをくれる**
- (僕ら): 「なるほど!」ってなって実装を直す
- (1. に戻る)
まさに、UTと同じ感覚で「くるくる回せる」開発体験です!
🤖 AI(相棒)が教えてくれること
じゃあ、具体的にどんなフィードバックをくれるのか?
いくつか実例を紹介します。
実例1. モデリングの基本チェック(アサーションみたい!)
AIがUTのアサーションチェックみたいに、基本的なミスを教えてくれます。
-
参照整合性エラー:
🤖「Factテーブルの◯◯件で
dim_customerのkeyが存在しません。原因は空文字が1,234件、NULLが567件です。Dimへの未登録顧客レコード追加を推奨します」 -
データ欠損の指摘:
🤖「GA4のRawデータを確認しました。この定義だと意図したセッションデータの約23%が欠損します。
session_startイベントが含まれていません」
いやー、これ手動で気づくの大変ですよね...!助かる...!
実例2. コードレビュー・Linter
AIがLinterみたいに、ローカルルールもチェックしてくれます。
-
コーディング規約:
🤖「
CLAUDE.md(ローカルルール)に基づきチェックしました。日付カラムの接尾辞が「_date」ではなく「_dt」になっています」
これでレビューの認知負荷も下がります。
実例3. 元データの探索・分析
これが本当に強力で、Raw/Source層までしっかり見に行って、ロジックの不備を指摘してくれます。
↑これは、僕があまり詳しくないGA4のドメインをレビューしてた時。「なんか変だな...?」という違和感をAIに投げたら、一緒にRawデータ(session_engagedの値が0とか1になってる)を見ながら「これ、こういうことじゃないですか?」って違和感の正体にたどり着けた瞬間です。
「おのれぇえGA4!!!!!!!!wwwwww」ってなりました。
さいごに
というわけで、「データモデリングにもUnit Testみたいな相棒が欲しい!」という悩みから、AI AgentとMCPを導入した話でした。
この「相棒」のおかげで、
- ディメンショナルモデリングの基本的な違反の指摘
- コードレビュー・Lint
- 元データ確認とロジック不備の指摘
あたりを自動でやってもらえるようになり、あの頃の不安が「安心感」に変わってきました。
データモデリング、まだまだ勉強中ですが、AIという相棒と一緒に頑張っていこうと思います!