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
47

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

Avatar for Yunosuke Yamada

Yunosuke Yamada

August 08, 2025
Tweet

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