Claude CodeでDataikuを動かしてみた

目次

1. はじめに

はじめに

DataikuのCode Studioの中で、Claude Codeが動くようになりました。

「Dataikuの中でコーディングエージェントが使える」だけなら、正直そこまで驚く話ではありません。面白いのはその先で、Claude CodeはDataikuのPython APIを叩けます。つまりDataikuそのものを操作させられるということです。

実際にどこまで任せられるのか、データの加工から機械学習まで一通り試してみました。先に結論を書くと、一番の収穫は、出てくるものがスクリプトではなくDataikuの画面から普通に触れる成果物だったことです。

使ったデータ

架空の小売チェーン8店舗、2026年1月〜6月の売上データを用意しました。

データセット行数内容
sales_raw67,969売上明細
stores8店舗マスタ
products30商品マスタ

sales_raw は意図的に汚してあります。日付フォーマットが 2026-01-05 / 2026/01/05 / 20260105 の3種類混在していたり、store_id に前後の空白が入っていたり、支払方法が「現金 / cash / CASH / げんきん」のようにばらついていたり。クレンジングのネタとして仕込んだものです。


2. 導入・設定

前提

Claude CodeはCode Studio(Dataikuの中でVS CodeなどのIDEを立ち上げる機能)の上で動きます。まずCode Studioが使える状態になっている必要があります。

  • Code StudioはKubernetes上で動くため、Elastic AI computation(コンテナ実行の設定、イメージビルド設定、クラスタ定義)が一通り済んでいること。kubectlは1.23以上。
  • Dataiku Cloud Stacksを使っている場合、この要件は最初から満たされています。
  • Code Studio Templateの作成には管理者権限が必要です。

左上のメニューに「Code Studios」の項目が見当たらない場合は、この前提が満たされていません。

プラグインを入れる

画面上部の9点メニューから「プラグイン」を開き、「Claude」で検索します。Claude Code for Code Studios が出てくるのでインストールします。

途中でコード環境のビルドを聞かれるので、必要に応じてビルドしてください。

Code Studio Templateを作る

9点メニューから「アドミニストレーション」→「Code Studios」タブへ進み、CREATE CODE STUDIO TEMPLATE で新規作成します。

テンプレートは「ブロック」を積んで作る形式です。今回必要なのは2つだけです。

  • VS Code(IDE本体)
  • Claude Code(さきほどのプラグインが追加してくれるブロック)

Claude Codeブロックでは、接続方式を3通りから選べます。

方式内容
LLM Mesh経由Dataikuのガバナンス下でルーティングする。使用するLLMを選択できる
Claudeサブスクリプション手持ちのClaudeサブスクリプションでAnthropicに直接接続する
APIキーAnthropicコネクションの認証情報、またはAPIキーを直接指定する

設定できたらテンプレートをビルドします。

起動する

プロジェクトからCode Studioを新規作成し、作ったテンプレートを選んで起動します。

起動したら、VS Codeの左バーか上部ナビにあるClaudeアイコンをクリックするか、ターミナルで claude と打つだけです。

LLM Meshモードならそのまま使い始められます。自分のClaudeサブスクリプションを使う設定にした場合は、初回にログインが必要です。

いきなりレシピを作らせる前に、Claude CodeがDataikuを認識できているか確認しておくと後が楽です。

このDataikuプロジェクトに接続して、データセットの一覧と
各データセットの行数・カラム名を教えて。

データセット3つが正しく返ってくればOKです。


3. データ加工

汚れたデータをそのまま渡して、クレンジングを任せてみます。

sales_raw データセットには次の問題があります。Prepareレシピを作って、
出力を sales_prepared という名前で作成してください。

- sale_date のフォーマットが 2026-01-05 / 2026/01/05 / 20260105 の3種類混在している
- store_id に前後の空白が入っている行がある
- quantity と unit_price に欠損がある
- payment_method が 現金/cash/CASH/げんきん のように表記ゆれしている
  (正しくは 現金・クレジット・電子マネー の3種)
- member_flag が 1/0/Y/N/TRUE/FALSE で混在している(2値に統一したい)
- 完全に重複した行がある
- quantity に800以上の異常値が混ざっている

プロンプト通りにPrepareレシピとして生成されました。ステップが画面に並ぶので、何をしているか一目で追えます。


4. 集計と結合

SQLを投げてみる

以下のSQLと同じ処理をするレシピを、このプロジェクトに作ってください。
入力は sales_prepared、出力は sales_by_store_day という名前でお願いします。

SELECT
    store_id,
    sale_date,
    SUM(quantity * unit_price) AS sales_amount,
    COUNT(*)                   AS transaction_count,
    SUM(quantity)              AS total_quantity
FROM sales_prepared
GROUP BY store_id, sale_date

67,969行の明細が、8店舗 × 181日で 1,448行に集計されました。

コードレシピで出力されるとコードを読める人しか触れませんが、ビジュアルレシピなら他のメンバーがそのまま引き継ぎやすいです。

マスタを結合する

集計したデータに、店舗マスタと商品マスタを繋ぎます。

次の2つのレシピを作ってください。

1. sales_by_store_day に stores を store_id で左結合する
   出力名は sales_daily_enriched

2. sales_prepared に products を product_id で結合して、
   store_id × category で売上金額を集計する
   出力名は sales_by_category

明細に対する結合と、集計済みデータに対する結合の両方を、こちらが順序を指定しなくても適切に組んでくれました。


5. 機械学習

レシピが作れるなら、モデルも作れるはずです。

sales_daily_enriched を使って、店舗別の日次売上金額(sales_amount)を予測する
機械学習モデルを作ってください。

- 曜日、月、日、売場面積、スタッフ数、エリアを特徴量に使ってください
- 複数のアルゴリズムを試して、一番精度の良かったモデルを Flow にデプロイしてください
- 最後に各モデルの精度を比較して教えてください

出てくるのがスクリプトの中の学習済みオブジェクトではなく、Visual MLのSaved modelであり、UIから精度も特徴量重要度も確認できますし、Flowに載ったモデルは通常のビルド機構でそのまま再学習できます。

今回は行いませんでしたが、モデルの精度向上も行えます。


6. まとめ

Claude CodeにDataikuを任せてみた結果です。

行ったことできたもの
汚れたデータのクレンジングを指示Prepareレシピ
SQLを投げる集計のビジュアルレシピ
マスタの結合を指示Joinレシピ2本
予測モデルを作らせるVisual MLのSaved model

出てくるものがコードではなく、Dataikuの画面から触れる成果物だという点がとても便利です。AIを使いながらでも、Dataikuを使っている意味が残るのが大きい点だと思います。

裏側ではClaude CodeがDataikuのPython APIを叩いているだけで、Dataiku側に「コードをビジュアルレシピに変換する機能」があるわけではありません。ただ結果として、コードが読めないメンバーにも引き継げる形で残ります。ここがDataikuでコーディングエージェントを使う一番の利点だと感じました。

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次