DataformへのGithub Copilot/Chat Agent modeの適用とチーム内普及

はじめに

こんにちは!アンドパッドのデータ部Data Drivenチームでデータアナリストをしている三田村です。一昨年の6月にアンドパッドにジョインして約2年が経ちました。

現在はプロダクトマネージャー(PdM)やプロダクトマーケティングマネージャー(PMM)といったプロダクト開発をリードする方々を対象としたデータ利活用プロジェクト(PJ)で、プロジェクトマネージャー(PJM)兼ダッシュボード開発を担当しています。

本記事では私が推進しているPJ固有の話ではなく、Data Drivenチーム全体の生産性を向上させるために、DataformへGitHub CopilotおよびGitHub Copilot Chat Agent Mode(以下、Agent)を適用し、チーム内に普及させた取り組みについてご紹介します。

もし私が担当しているPJにご興味を持っていただけた方は、こちらの記事もご覧いただけると幸いです! アウトカム重視のデータ利活用 〜PMM向けプロジェクトでの工夫と成果〜

DataformへのGitHub Copilot/Agent導入のモチベーション

導入のモチベーションは主に以下の3点です。

  • AI活用の潮流と危機感: 2025年2月にサイバーエージェント様が開催された「AI Code Agents 祭り」に参加し、AIエージェント活用の大きな波を痛感。自身での試用で衝撃を受け、導入は不可避という強い危機感を持ちました。
  • プロジェクトの生産性課題:担当プロジェクトではデータ需要に供給が追いつかず、生産性向上が急務でした。しかし、当時のDataform GUI環境ではWebエディタ上での実装となるため、ローカル環境で利用できるようなCopilot/Agentの恩恵を十分に受けられませんでした。
  • 開発環境のボトルネック:加えて、リポジトリの肥大化でDataform GUIのコンパイルエラーが頻発し、開発のボトルネックと化していました。

これらの背景から、開発環境をDataform GUIからDataform CLI(ローカル環境実装)へ切り替えることで、Copilot/Agentを活用できるのではないかと考え、まずは自身のローカル環境で試すことにしました。

その結果、開発効率が大幅に向上することを実感したため、このナレッジをチーム全体に展開することでチームの開発工数を削減し、より本質的な業務に集中できる時間を増やせると考え、チーム内への普及活動も実施しました。

記事化のモチベーション

多くの企業でDataformが活用されている一方で、本記事の執筆時点でGitHub CopilotやAgentを組み合わせた活用事例は見当たりませんでした。そのため当時の私たちと同様に、生成AIの恩恵を受けられていない開発者がまだ多くいるのではないかと考えています。

この記事が、皆さんのDataform開発に生成AIを取り入れるきっかけになると幸いです。

導入した環境

Dataform CLIを導入し、それに合わせてgcloud CLIのインストールと認証設定も行いました。

参考資料

そして弊社ではGitHub Copilotの利用が許可されていたため、VS Code上でGitHub Copilot/Agentも設定しました。

Copilot/Agentの活用例

CopilotとAgentの使い分けとして、Copilotは主に1ファイル内でのコーディング支援に長けています。一方、Agentは複数ファイルにまたがる指示や、指定したコンテキストに合うファイルを自動で検知・参照して実装することが可能です。この違いを念頭に、具体的な活用例をご覧ください。

Copilot

1. 複雑な処理の実装

データアナリストの業務では、例えばネイティブアプリの利用バージョンに閾値を設けてログを抽出するといった、やりたいことはシンプルでも実装が少し複雑になるケースがあります。このような場合にCopilotを活用すると、瞬時にコードを生成してくれます。もちろん、生成されたコードが本当に正しいかは人間による検証が必要ですが、自身の経験上、微修正で済む場合が多いです。

Copilot活用例1

2. 類推可能な処理の実装

業務では、類似したロジックを繰り返し実装する場面が頻繁にあります。そのような定型的な作業も、Copilotを使えば一瞬で完了します。

Copilot活用例2

3. column descriptionの自動生成

Copilotはcolumn descriptionの生成も得意です。ただし、添付の例のようにカラム名から内容を類推するだけだと、精度が完璧ではありません。この精度を上げるための1つの方法を、次のAgentの活用例でご紹介します。

Copilot活用例3

Agent

1. 上流ファイルを考慮したcolumn descriptionの生成

データパイプライン開発では、3層や4層といった多層的なデータモデリングを導入している企業が多いと思います。弊社も同様の設計を採用しており、下流のテーブルで上流と同じカラム定義を使いたい場面がよくあります。 このような時、Agentに上流のファイルを参考にするよう指示することで、手動でのコピー&ペーストの手間を省き、正確なcolumn descriptionを生成させることができます。

Agent活用例1

2. Dataformの.sqlxファイルからLookMLファイルの新規作成・編集

弊社ではBIツールとしてLookerを利用しており、Dataformで作成したBigQueryテーブルと連携させています。

このLookMLの実装において、Agentに「このDataform(.sqlx)ファイルの内容を元にLookMLファイルを生成して」と指示することで、30〜60点ほどの精度のLookMLファイルを生成できます。そこからCopilotを使って各ファイルの精度を80点程度まで高め、最後は作成したいダッシュボードを見ながら手動で微調整を加えています。 この活用方法はまだ初期段階であり、より効率的な方法を現在模索中です。

チーム内への普及活動

ここからはチームにCopilot/Agentを装着・定着させるために行った活動を紹介します。

ドキュメント整備

具体的な環境構築手順やこの記事で紹介したような活用事例をドキュメントにまとめました。このドキュメントは、後述する合宿でそのまま活用しました。

合宿の開催

今年3月に、AI環境構築をもくもく進めるオフライン合宿を開催しました。ドキュメントを整備して共有するだけでも良かったのですが、もし自分が逆の立場だったら、「便利そうだけど目の前の業務を優先してしまう」「環境構築でエラーが出たら面倒だ」といった心理的なハードルから、導入を先延ばしにしてしまうと考えました。

そこでオフライン合宿という形で「困ったらすぐに周りに聞ける環境」と「集中して取り組む時間」を確保し、短時間でのスムーズな導入を後押ししました。

AI活用事例共有Slackチャンネル

合宿用に作成したSlackチャンネルは、その後「AI活用事例共有チャンネル」のような名称を変更し、継続的なナレッジ共有の場としました。今では、チームのメンバーがAI活用の成功事例や失敗談を気軽に共有し、互いの生産性向上に貢献しあっています。

今後の展望

今後は生成AIに指示を出す際のルール(プロンプトのテンプレートなど)を整備し、アウトプットの品質をさらに向上させていきたいと考えています。

まとめ

Dataform CLIとCopilot/Agentといった生成AIの組み合わせは、データアナリストやアナリティクスエンジニアのデータパイプライン開発における新たな標準となる可能性を秘めていると考えています。アンドパッドではこれからもデータ活用のさらなる強化を目指し、新しい技術の導入に挑戦し続けます。

アンドパッドのデータ部では、データ利活用プロジェクトの企画、ダッシュボード開発・運用に共に取り組む仲間を募集しています!ご興味をお持ちいただけた方は、ぜひ弊社採用ページをご覧ください。

hrmos.co