メルカリ「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 | 別エージェントがセッション全体の妥当性を評価 |
- Self-Consistency を Parallel Agent で実装しているのが特徴 — cursor_agent_swarm_planner_worker経済性_整理 の「複数視点で検証」と同じ発想を分析ドメインに適用
3. 精度の源泉=データ基盤への投資(ここが本質)¶
Socrates が「高精度な SQL を自動生成できた背景」は、モデルでもプロンプトでもなく数年かけたデータ基盤整備:
- Basic Tables: 高品質データマート。「分析能力の源泉」。PoC 段階では対象を Basic Tables のみに限定した
- dbt+CI で description 記述を義務化: 全テーブル・全カラムに説明が付いている(=機械可読なデータ辞書。data-engineering の「入口で検証」ならぬ「定義を CI で強制」)
-
カスタムデータカタログ: BigQuery 監査ログから「用途→テーブル」対応表を自動生成(実際に使われている組合せを学習)
-
「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