Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実体験から学ぶ分析エージェントの開発と運⽤

Avatar for Recruit Recruit PRO
October 09, 2026

 実体験から学ぶ分析エージェントの開発と運⽤

2026/10/8に、Data Engineering Summit 2026 前夜祭で発表した山本の資料になります。

Avatar for Recruit

Recruit PRO

October 09, 2026

More Decks by Recruit

Other Decks in Technology

Transcript

  1. Profile 写真 ⼭本 哲⽣ Yamamoto Tetsuo 所属 株式会社リクルート データ推進室 旅⾏‧飲⾷‧ビューティー‧IDP‧SaaSデータソリューション部

    データエンジニアリング2グループ グループマネジャー 開発や分析の業務⽣産性向上に関する 基盤開発を担当 © Recruit Co., Ltd. All Rights Reserved
  2. データウェアハウス (BigQuery) の規模 ユーザー数 数千 ⼈ テーブル数 数万 個 レコード数

    数兆 件 ⚠ ドメイン知識がないと分析に使うべきデータがわからない © Recruit Co., Ltd. All Rights Reserved
  3. 分析依頼がデータ組織に集中 依頼者 データ組織 営業 依頼者が⾃分で 分析できる窓⼝を作る 調査 マーケティング ビジネス企画 …

    SQL作成 結果説明 担当者が依頼ごとに対応 データ組織が分析のボトルネックに © Recruit Co., Ltd. All Rights Reserved Slack から使える 分析エージェント
  4. 分析エージェントのアーキテクチャ Google Skill Registry ドメインA ドメインB ドメインC 動的ロード 分析エージェント Agent

    Development Kit (ADK) 利⽤者 Slack App ADK標準のIntegration BigQuery ⾮同期で受付 ドメインB の skill 本⼈の権限でSQL実⾏ カスタムツール(HTML出⼒など) 分析結果の検証 実⾏ログ‧トレース 改善に活⽤ © Recruit Co., Ltd. All Rights Reserved
  5. ADKの採⽤理由:Google Cloudとの統合が容易 BigQueryへのSQL実⾏ ドメイン知識の読み込み ログの保存 公式のBigQueryツールセット 設定するだけでスキーマ探索とSQL実⾏が可能 SkillToolset Google Skill

    Registryから必要なドメイン知識のみを動的読み込み BigQuery Agent Analytics plugin 追加するだけでログをBigQueryに保存可能 💡 リトライ‧セッション保存‧トレースなどの⼀般的な機能も標準搭載 © Recruit Co., Ltd. All Rights Reserved
  6. SQLは本⼈の権限で実⾏ 💡 依頼:「昨⽇の予約数を出して」 既存のデータ閲覧ポリシーを そのまま適⽤ 🤖 分析エージェント 依頼者本⼈の権限で SQL を実⾏

    本⼈だけが⾒られるデータを 分析に利⽤可能 👤 Aさん 👤 Bさん (閲覧権限あり) (閲覧権限なし) 集計結果を回答 権限不⾜として回答しない 🔑 初回のみ OAuth で権限を連携 © Recruit Co., Ltd. All Rights Reserved
  7. コスト削減 LLM トークン消費削減 BigQuery スキャン量削減 使わないツールは除外 上限を超えるクエリは実⾏前に拒否 ツールは使わなくてもトークンを消費 スキャン量を減らすとともにタイムアウトも防⽌ 拒否する場合修正⽅法を返す

    スキーマ探索を1回にまとめる 複数ターンの往復を減らす × スキャン量が上限を超えています ◦ 必要な列のみを SELECT してください ◦ パーティション列への WHERE を書いてください 💸 デフォルトの実装ではコストの無駄が発⽣ © Recruit Co., Ltd. All Rights Reserved
  8. 敵対的レビューの導⼊ ① 軽量モデルで 依頼を分類 ② 対象を限定 因果‧予測‧施策提案 ③ 別モデルで検証 ④

    回答を書き直し ※ 対象外の依頼は、検証せずに即時回答 📍 検出例:観察データから因果を断定 📍 検出例:代理指標と⽬的指標を同⼀視 ❌ 施策Aで予約が増えた ❌ クリック率が上がったのでCVも伸びた ⭕ 施策Aの実施後に予約が増えた(因果は未検証) ⭕ クリック率は上昇。CVへの影響は別途確認が必要 🛡 分析に基づく誤った意思決定の防⽌ © Recruit Co., Ltd. All Rights Reserved
  9. なるべくADK標準を継承して拡張 ADK 標準 ReflectAndRetryToo lPlugin 失敗時の⾃動リトライ ⚠ 標準のままだと困ったこと SQL のエラーでリトライされない

    標準は例外のみリトライし SQL のエラーでは値を返す LlmEventSummarizer 要約されたことが利⽤者に⾒えない ⻑い履歴の要約 会話履歴を正確に覚えていると誤解させる 🔄 ADK の更新が容易に © Recruit Co., Ltd. All Rights Reserved ✨ 拡張した要素 🔁 SQL エラーもリトライ対象に 🗂 要約したことを進捗に表⽰
  10. 利⽤ログによる改善ループ 🔍 ログからわかること ① ログを収集 ② エージェント⾃⾝で分析 プラグイン → BigQuery

    利⽤状況を調査 利⽤の多い依頼 時間がかかっている依頼 ④ 改善を実施 ③ 改善対象を決定 ツール‧プロンプト‧ガードレール 利⽤実績から判断 エージェントのエラー 📈 分析エージェント⾃⾝で改善を効率化 © Recruit Co., Ltd. All Rights Reserved