コンテンツにスキップ

メルカリ「Socrates」— データ基盤への投資で Text-to-SQL を信頼可能にするマルチエージェント

作成日: 2026-07-24 出典 / きっかけ: 山田尚史(@na0fu3y、メルカリ Agent Engineer / BI Product・GDE)の登壇資料「メルカリにおけるデータアナリティクス AI エージェント Socrates と ADK 活用事例」+ Mercari Analytics Blog / mercan。Findy 3社の中で「重厚なデータ基盤で Text-to-SQL を信頼可能にする」型として調査 関連: 意味層_enforced_cube_dbt_looker_整理 カンム_synapse_セマンティックレイヤーの育て方_整理 タイミー_dre_looker_adk_社内aiエージェント_整理 cursor_agent_swarm_planner_worker経済性_整理(マルチエージェント分業)ミラティブ_ashura_分析民主化aiエージェント基盤_整理


0. 要点(3行)

  • Socrates はメルカリのデータアナリティクス AI エージェント(2025-04-18 ローンチ、構想〜約1ヶ月で高速開発)。ADK ベースのマルチエージェントで、生 SQL は生成するが、その精度はデータ基盤への数年の投資で担保する設計
  • 精度の源泉は3点: Basic Tables(認証済み高品質データマート=「分析能力の源泉」)、全テーブル・全カラムに dbt+CI で description 記述を義務化、BigQuery 監査ログから作るカスタムデータカタログ(用途→テーブル対応表)。「精度は semantic layer などでカバー」とも
  • ADK の3種エージェントを役割分担: Sequential(成果物レビュー)/ Loop(なぜなぜ分析の反復)/ Parallel(Self-Consistency=複数仮説を同時検証)。さらに Agent-as-Judge が別エージェントとしてセッション全体の妥当性を評価

1. Socrates とは

  • データ分析 AI エージェント。関連データ/ドキュメントの提案・探索、仮説提案、BigQuery クエリ生成・実行、Python による高度加工・可視化、結果解釈、レポート自動生成支援
  • 規模の文脈: メルカリ連結2,190名、クエリログは1日50万件。初期デモは2日、本ローンチまで構想約1ヶ月
  • 「AI エージェントは『作って終わり』でなく『育て続ける』もの」— 周辺資産(データ・ドキュメント)と組織プロセスの継続改善が成功の鍵(3社共通の結論)

2. アーキテクチャ(ADK マルチエージェント)

ADK 部品 Socrates での役割
LLM Agents 推論・思考
Sequential Agent LLM 成果物のレビュー(直列)
Loop Agent なぜなぜ分析の反復
Parallel Agent Self-Consistency=「売上増加の原因」を複数仮説(ホビーカテゴリ/季節変動/キャンペーン)で同時探索
Tools BigQuery(スキーマ参照・SQL 実行)、Python Code Executor、Vertex AI RAG Engine(社内ドキュメント検索)、Google Drive
Agent as a Judge 別エージェントがセッション全体の妥当性を評価

3. 精度の源泉=データ基盤への投資(ここが本質)

Socrates が「高精度な SQL を自動生成できた背景」は、モデルでもプロンプトでもなく数年かけたデータ基盤整備:

  1. Basic Tables: 高品質データマート。「分析能力の源泉」。PoC 段階では対象を Basic Tables のみに限定した
  2. dbt+CI で description 記述を義務化: 全テーブル・全カラムに説明が付いている(=機械可読なデータ辞書。data-engineering の「入口で検証」ならぬ「定義を CI で強制」)
  3. カスタムデータカタログ: BigQuery 監査ログから「用途→テーブル」対応表を自動生成(実際に使われている組合せを学習)

  4. 「dbt や Looker のようなセマンティックレイヤーが整備されていれば、Socrates はデータの場所や扱い方の情報を活用できる」= 意味層を"活用する側"であって、意味層そのものではない

4. ツールの役割分担(自由度×精度のトレードオフを設計)

手段 自由度 使いどころ
生データアクセス 最高(だが権限管理が複雑) 高精度が要る例外
Socrates 高(ガードレール付き) 探索的分析
Conversational Analytics / Looker Explores 定型に近い問い
Looker 低(加工済み・環境構築不要) 誰でも使える定番指標
  • 「何でも Socrates」ではなく、問いの性質で入口を出し分ける設計。カンムが1エージェントに寄せたのと対照的

5. 考察(自分の解釈)

  • 一言でいうと「意味層を"作る"のでなく、Text-to-SQL が失敗しないほどデータ基盤を"耕して"おく」。タイミーが Looker で数字の作り方を固定したのに対し、メルカリは生成 SQL を許しつつ、grounding(Basic Tables+description+カタログ)と検証(Agent-as-Judge)で信頼性を底上げする別ルート
  • カンムとの差は「投資量」に集約される。カンムも同じ Text-to-SQL+文脈だが、メルカリは description を CI で全カラム強制するところまで基盤を固めている。「業務ドメインを入れる」を組織規律(CI ゲート)にまで昇華したのがメルカリ、プロンプト/MCP に留めたのがカンム
  • 3社の教訓の一致点=「作って終わりでなく育てる」+「評価系が要る」。メルカリは Agent-as-Judge、カンムは Execution Accuracy、タイミーは評価環境が積み残し。意味層/基盤を整えても、エージェントの判断の妥当性評価は別問題として全社が直面
  • 自分の docs との接続: 「全カラムに description を CI 必須」は data-modeling.md の「NULL の意味を1つに固定」等のメタデータ規律の徹底版であり、データ契約(data contract)を CI で強制した実例。data-engineering.md の「入口で検証」のスキーマ版
  • 留保: 精度の定量値(正答率等)は資料に無し。Mercari Analytics Blog の「仕様書駆動データ分析」「Basic Tables」記事に踏み込むと grounding の実装詳細が取れる

6. まとめ — 転用できる型

状況
Text-to-SQL の精度を上げたい モデルでなくデータ基盤を耕す(認証済みマート+全カラム description+利用ログ由来カタログ)
description が付いていない dbt+CI で記述を義務化(メタデータを組織規律にする)
分析エージェントの信頼性 Agent-as-Judge で別エージェントに妥当性検証させる
問いの幅が広い 自由度×精度で入口を出し分ける(Looker〜生データの階段)
多仮説の検証 ADK Parallel Agent で Self-Consistency(複数仮説を同時探索)

参考リンク

  • 登壇資料「Socrates と ADK 活用事例」(山田尚史, 2025-06-10): https://speakerdeck.com/na0/merukariniokerudetaanariteikusu-ai-eziento-socrates-to-adk-huo-yong-shi-li
  • 「データ分析エージェント Socrates の育て方」: https://speakerdeck.com/na0/detafen-xi-eziento-socrates-noyu-tefang
  • Mercari Analytics Blog「Basic Tables」: https://note.com/mercari_data/n/n247a65af9bf5
  • Mercari Analytics Blog「仕様書駆動データ分析/コンテキストエンジニアリング」: https://note.com/mercari_data/n/n2828a0098baf
  • mercan「構想1ヶ月でローンチ」: https://careers.mercari.com/mercan/articles/53431/

作成: 2026-07-24 / 最終更新: 2026-07-24