Vポイントマーケティング|TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

Databricks Agent SkillsでGithub Copilotからデータセット調査とダッシュボードアプリ開発!

こんにちは、VポイントマーケティングAIエンジニアの三浦です。

いつの間にか近所の並木道の桜が満開になっていました。朝早くの、少し肌寒い時間に見に行くのが好きです。

AIを使った開発で最近必ずと言っていいほどAgent Skillsを活用しています。Agent SkillsはAIにやってほしいワークフローをまとめたもので、Agent Skillsとして定義しておけば必要な時にいちいち指示を出すことなくAIがそのワークフローを定められた手順に従って実行してくれるようになります。

Github CopilotでAgent Skillsを導入する方法は以前こちらの記事でまとめています。

techblog.vpoint.co.jp

Agent Skillsは自分で作成するだけでなく、公開されている便利なAgent Skillsを自分のプロジェクトに取り込むことでAI開発を効率化することが出来ます。

最近Databricksが公開しているAgent Skillsを使ってみたのですが、Github Copilotを使ってデータセットの内容のレポートを作成したり、データを可視化できるダッシュボードアプリをDatabricks Appsにデプロイするといったことが出来てとても便利でした。

今回はDatabricks Agent Skillsでどんなことが出来るのかを実際に試したことを交えながらご紹介したいと思います。

Databricks Agent Skills

Databricks Agent Skillsは以下で公開されています

github.com

2026/03/30現在、以下の5つのSkillがあります。(README.mdのAvailable Skillsにはdatabricks-appsしか言及されていませんが、リポジトリのskillsフォルダには含まれています。)

  • databricks
  • databricks-apps
  • databricks-jobs
  • databricks-lakebase
  • databricks-pipelines

この中でDatabricks CLIの操作に関連しているものがdatabricksSkillで、このSkillは他のSkillを使う際に必要になる必須のSkillです。あとはLakeflow Jobsを開発する際はdatabricks-jobsを、Lakebaseを操作する際はdatabricks-lakebaseを、Lakeflow Spark Declarative Pipelinesを開発する際はdatabricks-pipelinesを、そしてDatabricks Appsを開発する際はdatabricks-appsをピックアップしてAgent Skillsに追加していく形になります。

Github CopilotのAgent Skillsの追加方法

Github CopilotでAgent Skillsを追加する場合はプロジェクトに.github/skillsというフォルダを作成しSkillのフォルダを配置します。

今回私はDatabricksに格納されたサンプルスキーマsamples.wanderbricksに含まれているテーブル一式にどんなデータが含まれているのかのレポートの作成と、それらのデータを可視化するダッシュボードアプリの開発に取り組んでみようと考えました。そのためDatabricks Agent Skillsからdatabricksdatabricks-appsをピックアップして.github/skillsに配置しました。

Wanderbricksデータセット

今回使用したWanderbricksデータセットはDatabricksに格納された、旅行予約プラットフォームのシミュレーションデータです。users, reviewsなど16個のテーブルで構成されています。

learn.microsoft.com

Databricks Agent Skillsでレポート作成

databricksdatabricks-appsをセットしてさっそく以下のような指示をGithub Copilotに出してみます。

databricksのsample schema "samples.wanderbricks"はどのようなデータが含まれているか調べ、各テーブルの内容と構成をマークダウン形式でレポーティングして。

databricksSkillはSKILL.mdの"Data Exploration — Use AI Tools"にSQLクエリを実行する手順が記載されていることからSQLクエリを実行したデータ探索が可能になります。

Github Copilotに指示を出すとプロファイルの選択や認証のためのブラウザの起動など最初にいくつか対応が求められます。

使用するプロファイルを聞かれました。

その後SQLクエリが複数回実行され、データセットの内容がまとめられたレポートが生成されました。

レポート(概要)

レポート(テーブル詳細)

レポート(ユースケースに応じたおすすめのテーブル)

特にレポートの内容を指示していなかったのですが、データセットの仕様を理解するための情報がかなり含まれているように感じました。最後に"ユースケース別おすすめテーブル組み合わせ"というセクションが出力されているのがいいなと思いました。次にこの中で触れられている"顧客セグメンテーション"分析の結果を表示するダッシュボードアプリをDatabricks Appsで開発してみようと考えました。

Databricks Agent Skillsでアプリ作成

まずこのデータセットで出来る顧客セグメンテーション分析メニューについて考えてもらいました。

顧客セグメンテーション分析について具体的に詰めてみます。

いったんこの分析メニューで進めることにします。次にアプリを開発するための最適なフレームワークも聞いてみました。

フレームワークの確認

DatabricksのTypeScript SDK "AppKit"が推奨されました。このSDKで開発の指示を出しました。

ではAppKitでdatabricks appsで動くダッシュボードアプリを開発してください。

完了後、ソースコードと合わせてDatabricks Appsデプロイ用のdatabricks.ymlやアプリ起動設定のファイルapp.ymlも生成されていることが確認できました。

# databricks.yml
bundle:
  name: wanderbricks-dashboard

variables:
  sql_warehouse_id:
    description: SQL Warehouse ID

resources:
  apps:
    app:
      name: "wanderbricks-dashboard"
      description: "Wanderbricks 顧客セグメンテーション分析ダッシュボード"
      source_code_path: ./
      # Uncomment to enable on behalf of user API scopes. Available scopes: sql, dashboards.genie, files.files
      # user_api_scopes:
      #   - sql

      # The resources which this app has access to.
      resources:
        - name: sql-warehouse
          sql_warehouse:
            id: ${var.sql_warehouse_id}
            permission: CAN_USE

targets:
  default:
    default: true
    workspace:
      host: https://adb-xxxxxxxxxxxxx.x.azuredatabricks.net

    variables:
      sql_warehouse_id: xxxxxxxxxxx
# app.yml

command: ['npm', 'run', 'start']
env:
  - name: DATABRICKS_WAREHOUSE_ID
    valueFrom: sql-warehouse

これはもう、Databricks Appsにデプロイするところまで全部準備出来てしまってます・・・!さらにデプロイまで指示することが出来てしまいます。

ではデプロイしてください。

しばらく待つと、以下のようにデプロイが完了し、アプリにアクセスするためのURLが表示されます。

アプリのデプロイが完了しました。

表示されたURLにアクセスすると、確かにダッシュボードアプリが立ち上がりました。

Databricks Appsにデプロイしたダッシュボードアプリ

作業開始して1時間もかからずにここまで出来てしまいました。

まとめ

ということで、今回はDatabricksのAgent SkillsをGithub Copilotに取り込んでデータセットの調査レポートの作成から可視化用のダッシュボードアプリの開発、デプロイまでを行ってみました。

少し前までは分析用のNotebookでグラフを書いてプレゼン資料に貼りつけて・・・といったことをしていましたが、ここまでスピーディーにダッシュボードアプリを開発して社内向けに公開できるのなら、分析の結果は今後ダッシュボードで報告する、なんてこともありだな・・・と感じました。他のDatabricks Agent Skillsも試してみたいと思います。