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

やるべきときにMLをやる AIエージェント開発

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

やるべきときにMLをやる AIエージェント開発

「ML/DSバックグラウンドだからこそ面白い。AIエージェントをプロダクトに実装する、泥臭い裏側と挑戦」で発表した内容です。

at https://layerx.connpass.com/event/379705/

Avatar for Yusuke Fukasawa

Yusuke Fukasawa

January 27, 2026
Tweet

More Decks by Yusuke Fukasawa

Other Decks in Science

Transcript

  1. © Commune Inc. All rights reserved ⾃⼰紹介 2 深澤祐援 (Yusuke

    Fukasawa) @fukkaa1225 機械学習エンジニア 趣味: テニス‧ポケモン対戦(シングル) のゲーム理論的解析 年末年始は⾔語処理学会(2026)の ために論⽂を書いてました
  2. プロダクト紹介 コミューンは、単なる場作りを越えて活性化し、 事業成果が出るコミュニティサクセスプラットフォーム © Commune Inc. All rights reserved ロイヤルユーザー育成のためのUXを⼀気通貫で提供

    プロジェクトを成功に導く運⽤サポート体制 ⽀援と実績で培ったノウハウ提供 コミューンの3つのポイント 1.プロダクト 2.運⽤サポート 3.ノウハウ提供 6
  3. © Commune Inc. All rights reserved 7 アジェンダ • コミューンにおけるデータ分析の課題

    • データ分析エージェント Community Sage • Community Sage と機械学習 ◦ ツールの実装 ◦ エージェントの評価
  4. © Commune Inc. All rights reserved 9 コミューンにおけるデータ分析の課題1 • 数百以上のコミュニティが存在

    • コミューンからコミュニティマネージャーがついてるコミュニティが数多く 存在する • 担当者によっては数⼗以上のコミュニティ運営に関わっていることがある コミュニティA コミュニティB コミュニティC コミュニティD コミュニティE コミュニティF
  5. © Commune Inc. All rights reserved 10 コミューンにおけるデータ分析の課題2 • 忙しい担当者が全てのコミュニティの数字を詳細に集計‧分析する時間が

    なかなかない • そもそも SQL を書いたりするスキルが全員に備わっているわけではない • データ集計‧分析が運営上必須だが、それを⾏うための時間や能⼒がない 悪循環にあった コミュニティAの報告のために MAU‧DAU を調べて傾向を まとめつつ、コミュニティ B の 施策提案のために最近の投稿を 全部チェックして...
  6. © Commune Inc. All rights reserved 12 google-adk → BigQuery

    https://cloud.google.com/blog/ja/products/ai-machine-learning/bigquery-meets-google-adk-and-mcp
  7. © Commune Inc. All rights reserved 13 Google-ADK を⽤いて実装 •

    google-adk でエージェントを定義して、 Google Cloud Agent Engine にデプロイする ⽅式 • サービスアカウント設定で権限を絞る エージェント定義 # Agent definition root_agent = Agent( model=MODEL_NAME, name=AGENT_NAME, instruction=build_root_instruction, tools=[ bq_toolset, ], ) app = build_adk_app() # Check if the agent is already deployed deployed_agent_resource = find_deployed_agent_resource() if deployed_agent_resource: LOGGER.info(f"Agent already deployed: {deployed_agent_resource}") LOGGER.info("Update the agent.") # Update the existing agent agent_engines.update( resource_name=deployed_agent_resource, agent_engine=app, display_name=DISPLAY_NAME, extra_packages=extra_packages, service_account=SERVICE_ACCOUNT, requirements=requirements, env_vars={"CUSTOM_AUDIENCE": CUSTOM_AUDIENCE}, ) LOGGER.info("Agent updated successfully.") else: LOGGER.info("Deploying a new agent.") (省略) デプロイ
  8. © Commune Inc. All rights reserved 14 Community Sage の全体像

    BigQuery Toolset Read-only access Community Sage Root Agent Community Name Resolver Agent Find Similar Community Agent Graph Plotter Agent
  9. © Commune Inc. All rights reserved 15 Community Sage の応答イメージ

    “なんでもコミュニ ティ” の先⽉のMAU は xxx でした “なんでもコミュニティ (仮称)” の 先⽉のMAU を調べてね!
  10. © Commune Inc. All rights reserved 20 Community Sage と機械学習

    • ツールの実装と評価 • エージェントそのものの評価
  11. © Commune Inc. All rights reserved 22 Community Sage と機械学習:

    Community Name Resolver ユーザから⾃然⽂章による問いかけをされた際に、コミュニティ名が含まれていると そのままではクエリを書けない “なんでもコミュニ ティ(仮称)” とだけ⾔ われても id が わからないと 絞れないぞ!? “なんでもコミュニティ (仮称)” の 先⽉のMAU を調べてね!
  12. © Commune Inc. All rights reserved 23 Community Sage と機械学習:

    Community Name Resolver 名前解決を専⾨に ⾏うエージェントを ⽤意して、そちらに 判断してもらう
  13. © Commune Inc. All rights reserved 24 Community Sage と機械学習:

    Community Name Resolver 「なんでもコミュニティって どういうところ?」 「なんでんかんでんコミュニ ティについて教えて」 のような正式コミュニティ名 から表記ゆれを意図的に⽣じ させたデータセットを LLM で 作成 各LLM での評価を実施し、コ ストパフォーマンスを⽐較
  14. © Commune Inc. All rights reserved 26 Community Sage と機械学習:

    Find Similar Community 「コミュニティAに似ている コミュニティを調べるのに苦 労する」 という声に対して実装した機 能 投稿データのサマリーから ベクトルインデックスで検索で きる エンドポイントを別で⽤意 ↓ このエンドポイントをツールと して叩くsub agent を⽤意して 紐づけ
  15. © Commune Inc. All rights reserved 27 Community Sage と機械学習:

    Find Similar Community LLM でサクッとやれば?と最初提案をもらっていたのですが即却下しました • LLM は⼤規模なデータを⼀気に処理 するのは向いてない ◦ 各コミュニティの投稿を毎回全 て取得して傾向を⾒つけて似て るかどうか判断...というのは LLM にやらせる必要がない ◦ サマリー⽣成は得意なのでやっ てもらう • 似ているものを返す、というのは faiss などに任せる⽅が良い
  16. © Commune Inc. All rights reserved 29 Community Sage と機械学習:

    エージェントそのものの評価 gemini 2.5 pro で社内エージェント提供を開始 → 概ね問題ないが、かなりプロンプト調整をしても「意図を汲み取らず、変な 結果を返すんですけど!」という報告がなかなか収まらない... 先⽉の MAU だけ教え てくれればいいのに、 そのコミュニティ全期 間の MAU 出さない で!やかましい! “なんでもコミュニティ (仮称)” の MAU を調べてね!
  17. © Commune Inc. All rights reserved 30 Community Sage と機械学習:

    エージェントそのものの評価 ユーザからの質問をつぶさに観察し、評価に適切だと思われるシナリオを 全14種作成 brand_id = x であることがわかりました。 次に、質問内容を確認させてください。いくつか曖昧な点があります: 確認事項 「ログインUU」と「アクションUU」の定義について ログインUU: その月にログイン(アクセス)したユニークユーザー数 アクションUU: ログイン以外に何らかのアクション(投稿、コメント、いいね、閲覧など)を行ったユニーク ユーザー数 上記の理解で正しいでしょうか? 「アクション」の範囲について どのようなアクションをカウント対象としますか? ...(以下確認事項が続く ...) “コミュニティA” のログインUUにおけるアクションUU率 を2025年1-12月の月 ごと、かつ当月の新規登録ユーザーに絞って計算してください。
  18. © Commune Inc. All rights reserved 31 Community Sage と機械学習:

    エージェントそのものの評価 adk の機能でシナリオシミュレート機能があるのでそれを使って会話を⽣成 中間出⼒まですべて含めて LLM as a Judge を⾏う https://builders.ramp.com/post/how-to-build-agents-users-can-trust • タスク完了度 • データ正確性 • 回答品質 ※数値だけを出⼒させるのは 当てずっぽうになりやすいの で、先にカテゴリカルな評価 を出⼒させる
  19. © Commune Inc. All rights reserved 32 Community Sage と機械学習:

    エージェントそのものの評価 全14シナリオを各3回ずつ実⾏させた結果、Opus 4.5‧GPT-5.2 が優秀だとわかった Gemini 系は定義が曖昧な質問に対して、事前確認をすることなく突っ⾛る傾向があっ た(その結果、間違った数値を提⽰していた)
  20. © Commune Inc. All rights reserved まとめ 34 • データ分析エージェント「Community

    Sage」を社内展開しています • 機械学習エンジニアだからこそできるエージェント開発の TIPS を共有しまし た ◦ ⾃然⽂章から SQL に必要な情報を抽出するエージェントの評価 ◦ 「似てるコミュニティを返す」実装は LLM から切り離す ◦ エージェントの評価は丁寧にデータをアノテーション‧評価メトリクス を決めて実践