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

Agent Development Kitで作るマルチエージェントアプリケーション(AIAge...

Avatar for Yunosuke Yamada Yunosuke Yamada
August 08, 2025
1.3k

Agent Development Kitで作るマルチエージェントアプリケーション(AIAgent勉強会)

Avatar for Yunosuke Yamada

Yunosuke Yamada

August 08, 2025
Tweet

More Decks by Yunosuke Yamada

Transcript

  1. About US 3 会社名 株式会社スリーシェイク 設立日 2015/1/15 Mission: インフラをシンプルにして イノベーションが起こりやすい世界を作る

    Vision: 労苦〈Toil〉を無くすサービスを適正な価格で提供し続ける Value: エンジニアリングレイヤーに横たわる人、手法、ツールが サイロ化されて労苦が発生しているプロセスをシンプルにし サービス機能開発に集中できるソリューション (SRE、DevSecOps、DataOps、HROps)を提供する 2015 2016 2017 2018 2019 2020 2021 2022 0 50 100 従業員: 200名over Engineer 60% 所在地 東京都新宿区大京町22-1 グランファースト新宿御苑3F・4F  代表者 代表取締役社長 吉田 拓真 沿革 2021年1月 JAFCOから総額5億円の資金調達 2022年8月 自動脆弱性診断ツール「Securify Scan」をリ リース。JAFCO、MUCAPから総額8.48億円の資金調達 Googleクラウド・AWSの両方のエンジニアリングに強みを持つ (2024年8月に国内2例目の、GoogleCloudのDevOpsスペシャライゼーションを取得)
  2. SREを主軸にクラウドネイティブ化/エンジニアリング内製化を支援 SRE/DevOps SecOps BizOps HR ・SRE総合支援からセキュリティ対 策を全方位支援 ・Geminiを用いた生成AIの活用支援 ・ワンストップで脆弱性診断を行う セキュリティ対策SaaS

    ・クラウド型ETL/データパイプ ラインSaaSの決定版 ・あらゆるSaaSをノーコードで連携 ・ハイスキルフリーランスエンジニ ア紹介エージェント IT内製化 / 高度化 クラウドネイティブ化 モダナイゼーション ITアジリティ向上 4
  3. ADK(Agent Development Kit) AIエージェントを実装するためのGoogle製OSS Python、Javaで利用可能 主な強み • ローカル開発からデプロイ、運用まで整備 • Google

    Cloudとの様々な連携 • マルチエージェント前提の設計 こんな人におすすめ • エージェントをさくっと作ってデプロイしたい • Google Cloudを使っている 15
  4. 基本的な書き方 Agentに色々指定するだけ 16 root_agent = Agent( name="weather_time_agent", model="gemini-2.0-flash", description=( "Agent

    to answer questions about the time and weather in a city." ), instruction=( "You are a helpful agent who can answer user questions about the time and weather in a city." ), tools=[get_weather, get_current_time], ) https://google.github.io/adk-docs/get-started/quickstart/
  5. 別のエージェントを利用する方法 ①sub_agentsによる指定 制御はサブエージェントに移る (サブエージェントがユーザに返答する) 17 parent_agent = LlmAgent( name="parent_agent", model="gemini-2.5-flash",

    sub_agents=[child_agent_1, child_agent_2], ) parent_agent = LlmAgent( name="parent_agent", model="gemini-2.5-flash", tools=[ AgentTool(child_agent_1), AgentTool(child_agent_2), ], ) ②Agent-as-a-Toolによる指定 制御は親エージェントのまま (親エージェントがユーザに返答する)
  6. ADKでのSwarmパターンの実装 ADKでは自然には実装できない(sub_agentsに自身以外のエージェントを全て指定する) 問題点というよりは階層化を強制する「Pit of Success」 19 hotel_agent = LlmAgent( name="hotel_agent",

    model="gemini-2.5-flash", ) flight_agent = LlmAgent( name="flight_agent", model="gemini-2.5-flash", ) hotel_agent.sub_agents = [flight_agent] flight_agent.sub_agents = [hotel_agent]
  7. ADKの注意点 • Agent, Agentic Workflow, Workflowなどの分類の中ではAgentの部類に近い ◦ そのため複雑な制御はLangGraphの方が書きやすい ◦ ※ADKでもWorkflow

    agents, Custom agentsで複雑な制御はできる • 作り方からして小さなエージェントをたくさん作っていく方向 ◦ 数が増えたら2階層にする(Hierarchicalパターン)などが良さそう 20
  8. Vertex AI Agent Engine AIエージェントのデプロイ、管理を行うGoogle Cloudのフルマネージドサービス サポート • ADK •

    LangChain, LangGraph, etc... • カスタムコード 主な機能 • コンテキスト管理 • 評価 • オブザーバビリティ 23
  9. Agent Engineとオブザーバビリティ • ログ ◦ stdout, stderrへの出力はデフォルトでCloud Loggingに送信 • メトリクス

    ◦ リクエスト数、レイテンシー、CPU、メモリがデフォルトでCloud Monitoringに送信 ◦ カスタムメトリクスもサポート • トレース ◦ enable_tracing=Trueを指定するとCloud Traceに送信 ◦ スパン属性として入出力などをデフォルトで提供 25