2025年11月4日の「Data Engineering Summit 前夜祭」で、このタイトルについてお話しさせていただきました。
僕は元々ソフトウェアエンジニアで、GitやUnit Testの導入なんかもやっていました。 そんな僕がデータモデリング(特にディメンショナルモデリング)を始めた時、ものすごい不安に襲われたんåです。
「SOURCE層からWAREHOUSE層 (Dim + Fact) にしてるけど... これで合ってる? 🤔」
具体的には、こんな不安でいっぱいでした。
もうね、心の中はこれです。
「データモデリングにも自動のUnit Testみたいのないの?🤔」 「UTみたいに、即座にフィードバックくれるものが欲しい...!」
僕がUT(ユニットテスト)に感じていたのは「絶対的な安心感」でした。
この「実装 → 検証 → 改善」のサイクルを、データモデリングでも実現したかったんです。
そこで僕らがたどり着いたのが、これです。
AI Agent(Claude Code) と Snowflake MCP を組み合わせて、 Unit Testみたいな「相棒」にしちゃおう!
これを導入して、こんな開発サイクルを回せるようにしました。
まさに、UTと同じ感覚で「くるくる回せる」開発体験です!
じゃあ、具体的にどんなフィードバックをくれるのか? いくつか実例を紹介します。
AIがUTのアサーションチェックみたいに、基本的なミスを教えてくれます。
🤖「Factテーブルの◯◯件で
dim_customerのkeyが存在しません。原因は空文字が1,234件、NULLが567件です。Dimへの未登録顧客レコード追加を推奨します」
🤖「GA4のRawデータを確認しました。この定義だと意図したセッションデータの約23%が欠損します。
session_startイベントが含まれていません」
いやー、これ手動で気づくの大変ですよね...!助かる...!
AIがLinterみたいに、ローカルルールもチェックしてくれます。
🤖「
CLAUDE.md(ローカルルール)に基づきチェックしました。日付カラムの接尾辞が「_date」ではなく「_dt」になっています」
これでレビューの認知負荷も下がります。
これが本当に強力で、Raw/Source層までしっかり見に行って、ロジックの不備を指摘してくれます。
↑これは、僕があまり詳しくないGA4のドメインをレビューしてた時。「なんか変だな...?」という違和感をAIに投げたら、一緒にRawデータ(session_engagedの値が0とか1になってる)を見ながら「これ、こういうことじゃないですか?」って違和感の正体にたどり着けた瞬間です。
「おのれぇえGA4!!!!!!!!wwwwww」ってなりました。
というわけで、「データモデリングにもUnit Testみたいな相棒が欲しい!」という悩みから、AI AgentとMCPを導入した話でした。
この「相棒」のおかげで、
あたりを自動でやってもらえるようになり、あの頃の不安が「安心感」に変わってきました。
データモデリング、まだまだ勉強中ですが、AIという相棒と一緒に頑張っていこうと思います!
