コンテンツにスキップ

2026年4月3日

2位入賞!Dataiku AIエージェント ハッカソン技術解説
DataikuとAIエージェントで実現する店舗管理DX

By データ & AI 事業部 石部紗羽、横田幸士、谷川美優、山本杏奈、山本絢子


1. はじめに

2026年1月に参加したDataiku主催の「 AI エージェント ハッカソン」において、弊社チームは 2位入賞という大変光栄な結果をいただきました。本記事では、ハッカソンの参加を通じて得られた知見や、実際に構築した AI エージェントの技術的ポイントを中心に解説していきます。

Dataikuとは

Dataiku(データイク)は、データの準備から機械学習モデルの構築、運用(MLOps)、そして生成AIの活用までを統合管理できるプラットフォームです。データサイエンティスト、データエンジニアといった専門家だけでなく、ビジネスアナリストなどの非専門家も同じ環境で協業できるのが最大の特徴です。

主な特徴とメリット

  • エンドツーエンドのワークフロー:データの接続、準備、可視化、モデル作成、デプロイまでを一気通貫で行えます。
  • 「コード」と「ノーコード」の融合:独自のPython/Rコードを記述できる一方で、GUIベースのレシピ(ビジュアルレシピ)も豊富に用意されており、スキルセットを問わずチーム全員がプロジェクトに貢献できます。
  • 強力なガバナンスとMLOps: 作成したモデルの監視や管理が容易であり、エンタープライズレベルでのAI運用を支えます。
  • LLM Meshの提供:生成AI(LLM)の安全かつ効率的な利用を支える「LLM Mesh」機能を搭載し、最新技術のビジネス実装を加速させています。

注目機能:Agent Hub(エージェント・ハブ)

今回のハッカソンで注目されるのは、Dataikuの最新バージョンで強化されたAgent Hubです。Agent Hubは、AIエージェント(特定のタスクを実行するAI)の「作成・共有・管理」を一元化する共同作業スペースです。これまでの「チャットボットを作って終わり」という段階を超え、組織全体でAIエージェントを資産として活用するための基盤となります。「データ分析の結果を、現場のユーザーがチャット形式で手軽に引き出せるようにする」インターフェースとしてAgent Hubは非常に強力です。

Agent Hubでできること

  • ノーコードでのエージェント構築:自然言語で指示を書くだけで、専門的な知識がなくても数分で独自のAIエージェントを作成できます。
  • 「ツール」との連携による自律的なアクション:単に回答するだけでなく、Dataiku上のデータセットの検索、SQLの実行、機械学習モデルによる予測、さらには外部APIの呼び出しなど、具体的な「アクション」をエージェントに実行させることが可能です。
  • エージェント・ライブラリでの共有:作成したエージェントをカタログ化してチームや全社に公開できます。他のメンバーが作成した「便利なエージェント」をすぐに探し出し、自分の業務に組み込めます。
  • エンタープライズレベルのガバナンス:管理者は、どのアナリストがどのLLM(大規模言語モデル)を使い、どのようなコストが発生しているかを可視化・制御できます。



2. AIエージェント ハッカソン

今回のハッカソンでは、私たちは「飲食系フランチャイズ企業における店舗一元管理と新規店舗開拓」をテーマとして取り組みました。多拠点を抱える企業では、店舗データの分散や意思決定の属人化が大きな課題となります。そこで私たちは、Dataiku の持つ柔軟なデータ活用基盤を生かし、店舗運営と拡大戦略を同時に支援する「実用的なAIエージェント」の構築を目指しました。

ソリューション設計にあたっては、Dataiku の 6S フレームワーク(Search / Stitch / Science / Synthesize / Show / Share) を軸に据えることで、データの再利用性・説明可能性・拡張性を兼ね備えたアーキテクチャを実現しています。このソリューションをどのように設計し、どのような技術的アプローチで形にしていったかを詳しく解説していきます。

本記事で紹介している手順・動作の流れは、デモ動画でもご確認いただけます。ポイントを短時間で把握していただけます。



ユースケースと技術要件

ユースケースをフランチャイズ企業の飲食店店舗一元管理と新規開拓として以下の3つの機能を実装しました。

  • 店舗光熱費の予測と月次/日次の電気・ガス・水道最適化提案
  • 店舗利益率と光熱費の評価
  • 新規開拓に向けた既存データの活用

 

ワークスペース設計

飲食店のフランチャイズ企業に属する3つの部署を仮定し、各部署に専用ワークスペースを用意し、アクセス可能なWebappやダッシュボードを管理しています。

これにより、他部署のエージェントや分析を再利用可能とし、工数削減に貢献することができます。

hackathon_analysing_data

データ分析チーム
(hackathon_analysing_data)


役割:
既存または新規の店舗データの整理、加工、分析を行うチームを想定

機能:
・データの整理、加工、分析
・時系列モデルを使用した予測
hackathon_managing_branch

店舗管理チーム
(hackathon_managing_branch)


役割:
主に店舗の管理運営をする現場スタッフを想定

機能:
・店舗情報を用いたAIエージェントの活用
hackathon_developing_new

新規開拓チーム
(hackathon_developing_new)


役割:
既存店舗のデータを活用した新規店舗の開拓を行うチームを想定

機能:
・ 新規開拓に向けた既存データの利用

以下の図は、今回想定したユースケースにおける全体像です。各チームの役割と機能、このソリューションで期待できる効果、Dataikuの6Sフレームワークの関係を表しています。

ワークスペースにおける各チームの関係図



前提条件

環境

  • プラットフォーム:Linux (Amazon EC2)
  • Connection(保存先):Amazon S3バケットのみ
  • Dataiku バージョン:14.2.0(Cloud Stack版)
  • LLM:Amazon Bedrock (バージョン等は都度記述)



3. 技術解説

ここからは各部署のワークスペースの機能を、技術的側面からそれぞれ解説していきます。

 

3.1 データ分析チームのワークスペース(hackathon_analysing_data)

店舗情報の統計結果やデータ分析の結果の可視化、さらには分析結果を社内他部署に提供することを想定しています。

 

Dataikuを用いたデータの静的分析

実際のデータには様々な関係が存在します。収集したデータについて、これらの関係が適切に構築されているか、また大きな外れ値が存在していないかを確認する際、Dataikuを使用すると簡単に見分けることができます。

以下は今回のハッカソンで私たちが作成したデータにおいて、設定どおりに関係性が反映されているかを確認した際の結果です。今回は世田谷区・千代田区・江東区・渋谷区・練馬区の5つの区に均等に店舗が分配されるように設定しました。

地域別店舗分布の確認結果

Dataikuでデータの分布を確認することができます。また、20%ずつきれいに5等分されていることがわかります。

このように、Dataikuを用いてデータ分析を行うことで、使用するデータについて詳しく知ることができます。

今回はこの手法を用いて、以下の変数の分布を確認しました。

  • 質的変数の分布確認→地域、プラン、店舗形態、環境区分、主要客層
  • 量的変数の分布確認→ガス/電気/水道の使用量、家賃、面積、売上、人件費、従業員数、稼働率、仕入額、空調台数、食洗器台数、来客数、最高/最低気温、最高/最低湿度

これらの変数が適切に分布しているか確認することで、データの信頼度を判断し、予測モデルに使用すべきかの判断基準としました。

Dataikuで利用できるアルゴリズム

Dataikuではデータ予測に多種多様なアルゴリズムを使用することができます。複数のアルゴリズムを用いて同じデータを分析し、その予測結果から使用するアルゴリズムを選択することができます。

今回、私たちが予測モデルを作成する際に比較した主なアルゴリズムは以下の4つです。

  • Random forest
    →大量の決定木をランダムに作成し、多数決で結果を出すアンサンブル学習手法。
  • NPTS
    →過去の類似パターンをもとに将来を推測するタイプの手法。
  • imple Feed Forward – Torch
    →全結合層のみで構成されたシンプルなニューラルネットワークを用いた時系列モデル。
  • Deep AR -Torch
    →再帰型ニューラルネットワーク(RNN)を用いた代表的な時系列予測モデル。

以下の表はこれらの4つのアルゴリズムについて、性能や特性を観点別に比較したものです。

モデル選択画面

モデル選択

様々なアルゴリズムを用いた際の結果を確認したかったため、アルゴリズムの特性が偏らないように選出しました。

また時系列への依存度が高すぎず、変数を意識して予測できるアルゴリズムを選出しました。

各アルゴリズムの右側に表示されている数値はMAPEの値です。アルゴリズムの精度を見る指標として、MAPE(Mean Absolute Percentage Error:平均絶対パーセント誤差)があり、値が低いほど予測精度が高いことを意味します。この評価指標は設定により変更することが可能です。

今回のハッカソンでは「短時間で予測可能」「学習コストが低い」という条件を重視したため、精度と実行速度のバランスが良かったNPTSを採用しました。

このようにDataikuでは、目的や要件に合わせてさまざまなアルゴリズムを柔軟に使い分けることができます。複数のアルゴリズムを一つのデータセットに適用し、その結果を比較して最適なモデルを選択することが可能です。

※データ数や選択したアルゴリズムによっては、処理時間やCPU使用率に影響が出る可能性があります。


時系列予測モデルの設定サマリー

予測結果

今回構築したモデルのサマリーです。Forecast Horizonは予測する期間を示す値のことで、今回は30日先までの予測を出すように設定しています。

ガス使用量の時系列予測結果

モデルの出力結果はこのようになりました。

  • gas_m3をターゲットとして、Forecastに予測結果を格納しています。
  • 2025年12月31日までの1日毎のデータがある場合、Forecast Horizonで設定した30日後(つまり1月30日)までの予測結果を出力しています。
  • この表の”quantile_01~quantile_09“は、予測値の「確率分布」に対する分位点(quantile/分位)を示しています。ある確率を満たす値で、予測の不確実性を帯(レンジ)として表すために使います。


Tips:ダミーデータの作成


今回のDataikuハッカソンに際して、Dataikuの機能を活用しデータ分析するためダミーデータを作成しました。

今回作成したダミーデータは、ファーストフードチェーン店を想定したもので、以下の5種類です。

  • 店舗情報:店舗の立地、店舗形態、環境区分などの基本情報
  • 水道使用量に関する情報:その店舗一日あたりの水道使用量など
  • 電力消費量に関する情報:その店舗一日あたりの電力消費量など
  • ガス消費量に関する情報:その店舗一日あたりのガス消費量など
  • 店舗情報詳細:その店舗の一日当たりの売り上げや稼働率、従業員数など

※ここでいう「ダミーデータ」とは、実際に取得されたデータではなく人工的に作られたデータのことです。

※店舗情報は店舗そのもののステータスデータ、店舗情報詳細は日次データとして分割しました。

ダミーデータを作成するうえで最も重要なのは、「データ間の相関が現実的であること」です。例えば、オフィス街では独立店舗よりビルイン店舗が多かったり、フードコートはファミリー層が中心だったりと、実際のデータには明確な傾向があります。相関の設定が現実とかけ離れていると、予測モデルの結果も本番データとは異なってしまう可能性があります。

そのため今回はAIを使用してPythonを組み、データ同士が因果関係を持つダミーデータを作成しました。





3.2 店舗管理チームのワークスペース(hackathon_managing_branch)

各店舗の管理にあたり、売上・費用管理改善を対話ベースで行うことを想定しています。

中心となるのはAgent Hubで、複数のAIエージェントを統合し、店舗IDをキーに一貫した対話を実現しました。

※AIエージェントの作成方法はこちらを参考にしました。【Dataiku】エージェントの基本的な作り方

 

使用するメインのエージェント:【飲食店店舗光熱費管理エージェント】(Agent Hub)

店舗管理チームが使用するAgentを束ねるメインのAgent Hubになります。今回は以下のような設定で使用しています。

 

Core Settings

  • 使用したLLMモデル:Anthropic Claude 4 Sonnet through Bedrock
  • Instructions:このAgent Hubの役割を定義します。(ここで店舗IDの形式について定義しておくことで、店舗IDの誤入力等を指摘できるようになります。)

Agent HubのCore Settings設定画面



  • Enterprise Agents:プロジェクト内外で作成したAgentを追加できます。(同じ環境にあるエージェントはすべて追加可能)今回追加したエージェントは6つです。

 

Agent Hubに登録したエージェント一覧




各Agentの概要

  ① starter_agent

  • LLM Meshで全エージェントを接続
  • 初回利用者向けガイド機能
 ② profitability_calculator 
  • Inline Pythonで利益率計算
  • utility_calculatorと連携
 ③ comparing_branch
  • Dataset Lookupで店舗情報を検索/店舗情報から他店舗を検索
 ④ utility_calculator
  • 電気・ガス・水道料金をそれぞれInline Pythonで計算
  • 時系列予測モデルで月末までの使用量を推計
 ⑤ manage_target_amount 
  • Dataset Appendで目標値を記録
  • Sort+Dataset Lookupで最新値を取得し「記憶する」体験を実現 
 ⑥ saving_idea
  • Google Custom Search APIで節約方法を提案
  • 店舗情報を活用しパーソナライズ


店舗管理エージェント全体構成図

全体構成の技術的工夫ポイント

  • LLM Meshで複数エージェントを統合し、会話の中で機能切替をシームレス化
  • Inline Pythonで料金計算ロジックを実装し、ハルシネーション防止のためSQLで現在時刻を取得
  • Dataset Append+Lookupで「過去の会話を記憶しているような体験」を再現


各エージェントの役割

 

①1_starter_agent

すべてのエージェントに接続しているエージェントで、初めての方に対してこのAgent Hubが持つ機能の説明を行います。

  • 使用したツール:
    LLM Mesh(各エージェントの呼び出し)

  • 機能の説明:
    ②から⑥のエージェントを接続し、複数あるエージェントの選択を変更することなく会話を続ける/終了することができます。

  • 工夫点:
    Agent Hubが持つすべての機能を会話の中で説明できるため、初めての人にこのAgent Hubの使い方を説明することができます。
    また、すべてのエージェントが店舗IDを軸に働いているため、最初に店舗IDの入力を促すプロンプトを設定することで、すべてのエージェント機能において情報の利用がスムーズになります。

Agent Hub機能説明の会話例


LLM Mesh設定例



Calculatorツールによる現在時刻取得例

②2_profitability_calculator

1か月(日割り計算)の営業利益率を計算してくれるエージェントです。

  • 使用したツール:
    • Inline Python(利益率の計算を行う)※④で紹介
    • LLM Mesh (3_utility_calculatorを呼び出す)
    • Calculator(現在時刻を取得する)
       
  • 機能の説明:
    データセットから抽出した売上高、仕入額、人件費、家賃と④で計算した光熱費をもとに、Pythonで定義したルールに従って営業利益率を計算します。

comparing_branchエージェントの設定例

③2_comparing_branch

類似店舗の情報を抽出し、比較分析するエージェントです。

  • 使用したツール:
    • Dataset Lookup(店舗IDからその店舗の情報を抽出する)
    • Dataset Lookup(抽出した店舗の情報から類似店舗を検索する)
    • LLM Mesh(2_profitability_calculatorを呼び出す)
       
  • 機能の説明:
    該当店舗の情報を抽出し、その情報をもとに類似店舗を検索する機能を持っています。また、その店舗の営業利益率を計算し、自分の店舗の比較評価を行うことができます。


④3_utility_calculator

1か月の光熱費を計算してくれるエージェントです。

  • 使用したツール:
    • Inline Python(電気料金の計算を行うもの、ガス料金の計算を行うもの、水道料金の計算を行うもの)
    • Calculator(現在時刻を取得する)
       
  • 機能の説明:
    データセットから電気、ガス、水道の使用量(過去のデータと予測したデータ)を抽出し、Pythonで定義したルールに従って光熱費を計算します。また、データ分析チームの予測した光熱費使用量から、月全体の光熱費を計算することが可能です。

  • 工夫点:
    時系列予測モデルで月末までの使用量の予測を算出しているため、今月の光熱費の予測を計算することが可能になります。
    また、店舗IDを会話から抽出し、データセットに対して店舗IDを検索し該当店舗の光熱費のみ計算を行うことができます。会話の中で月の指定がなかった場合は、自ら現在時刻を取得し、今月の光熱費を計算します。時刻はCalculatorツールを使用してSQLで現在時刻を取得することで、生成AIのハルシネーションを防ぐことができます。

utility_calculatorにおけるInline Python設定例


光熱費(ガス・水道・電気)計算の会話実行例①

光熱費(ガス・水道・電気)計算の会話実行例②



⑤3_manage_target_amount

店舗ごとの目標光熱費金額を設定できるエージェント

  • 使用したツール:
    • Dataset Append(光熱費目標金額、店舗ID、格納時刻のデータ施途への格納を行う)
    • Dataset Lookup(店舗IDの最新の光熱費目標金額を抽出する)
    • LLM Mesh(utility_calculatorの呼び出しを行う)
       
  • 機能の説明:
    会話の中で光熱費の目標値を設定した際に、それをデータセットに格納しておくことで記憶しておくことが可能です。新しい会話を始めた際には同じデータセットに店舗IDで検索をかけることで、エージェントが前回の会話を記憶しているかのように振る舞うことが可能になります。

  • 工夫点:
    Agent ToolとしてはDataset Append(上書きではなく追加)のみであったため、データセット格納の際に格納時刻をレコードに持たせておくことで、そのデータセットをソートし、最新のデータをDataset Lookupを使用して抽出できる仕組みを作成しました。
    また、料金計算ルールをInline Pythonとして持たせておくことで、光熱費削減量から削減したい使用量を逆計算できるようになるため、より具体的なアドバイスの生成に役立ちます。

  • システムの動き
    (1) チャットにて今月の光熱費目標を設定。


 

 (2)  格納時刻、店舗IDとともにデータセットに格納。

光熱費目標データのDataset Append結果



(3)  Dataset Lookupは最上のデータから取得するため、Sortレシピで格納時刻を昇順に並び替え。

Scenarioによる格納時刻順ソート処理
(SortレシピはScenarioにてDataset Appendのデータセット更新をトリガーにして実行している)


ScenarioによるSortレシピ自動実行設定



(4)  dataset Lookupでデータを取得し、エージェントが過去の会話を記憶しているかのように振る舞うことができる。また、設定した目標をもとに実際の光熱費の評価を行うことができる。

目標値を考慮した光熱費評価結果の表示例





⑥4_saving_idea

節約方法提案エージェント

  • 使用したツール:
    • Google Search(グーグル検索を行う)
    • Calculator(現在時刻を取得する)
    • Dataset Lookup(店舗情報を検索する)
       
  • 機能の説明:
    設定した目標に対し、どのように節約すればよいか一般的な情報をもとに提案できます。

  • 工夫点:
    Google API Endpointと接続し、Googleを用いたWeb検索を可能にする機能を持ちます。また、あらかじめ店舗情報を保持しておくことでより、その店舗にあった節約方法を提案できるようになります。

  • 会話例:

Googleでの検索結果をもとに答えを生成します。


Sourceとなった記事のリンクも閲覧可能です。




※ Google Search Toolの設定方法

(1) Google Searchプラグインツールをインストール。

(2) cx idとAPI Keyを取得し入力する。

※取得方法はこちらを参照:Google Custom Search API を使ってGoogle検索を自動化

Google Search API設定画面






3.3 新規開拓チームのワークスペース(hackathon_developing_new)

新規出店予定地についての情報をもとに、既存店舗との比較を基にした分析、予測を行うことを想定しています。

分析、予測にあたっては既存店舗のクラスタリングモデルに新規出店予定地の情報を入力として与え、ラベリングした結果をもとに、特徴の似た店舗の情報を活用しています。

 

学習済みモデルをAmazon SageMakerにデプロイしAPI Endpointから呼び出す

ここではDataikuのAgentから「Model Prediction」ツールでサポートされていない機械学習モデルをAgent ToolとしてAgentから呼び出して予測を行うための手順を示します。(本来であればDataiku上のAPI Nodeを利用するべきですが、諸事情により使用できなかったため、遠回りしています。)

 

設定の全体像

 AWS側:

デプロイに関わるサービスに関する必要なポリシーをDataikuとのSTS Assume Roleにアタッチします。
Dataiku DSS から Amazon SageMaker にモデルをデプロイする際には、

  • Amazon ECR(Elastic Container Registry)
  • IAM
  • SageMaker Execution Role

に関連するIAMポリシーの設定が必要になります。


Dataiku側:

  • 各Project>API Designer
    各Project内で作成したモデルを作成済みのEndpointに対してデプロイします。
  • Local Deployer
    • Infrastructures
      デプロイに使用するインフラの設定を行います。DSSが使用するARNやConnection、AWS上でのレジストリを指定します。
    • Deployments
      上記Infrastructure上で動作するAPI Endpointの設定およびデプロイを行います。
  • Administration>Connection
    DataikuとAmazon SageMakerとのConnection設定を行います。

Agent Toolとして追加されたAPI Endpoint一覧画面

実際にAgent ToolにAPIエンドポイントを追加してみる

デプロイが完了すると、Dataikuのプロジェクト内からAgent Toolである"API Endpoint"としてモデルを呼び出すことができるようになります。

Project内の"Agent Tools"タブより、"API Endopoint"を選択し、設定画面へ進むと、先ほどのEndpointが表示されていることが分かります。



実際の分析

クラスタモデルを作成したモデルでの分析結果をもとにクラスタリングによるラベル付けが完了しているデータセットに対してDataset Lookupツールを使用できるような形でエージェントを作成すると、以下のように使用できることが分かります。

クラスタリング結果を用いた新規出店分析の実行例





4. まとめ

このハッカソンで示したのは、同じ土台(Dataiku)で部署横断のエージェント運用を可能にする設計です。Dataikuが提唱する6Sフレームワーク(Search/Stitch/Science/Synthesize/Show/Share)を考えることで、データの再利用性、説明可能性、拡張性を両立しました。

ユーティリティ最適化から新規出店の検討まで、会話型の一貫体験を社内標準にしていくことで、現場のスピードと品質を高めることが可能です。

 





ほかの記事を読む

アイテムを更新しています。