Content
こんにちは。りなぺんです。

生成AIの活用が「チャットボット」から、タスクを自律的に実行する「エージェント」へとシフトする中、Google CloudとAmazon Web Services(以下、AWSと記載)からそれぞれ開発フレームワークが登場しています。

Google Cloudの 「Agent Development Kit (ADK)」 と、AWSの 「Strands Agents」 です。

両者はどちらもエージェント開発を支援するツールですが、アーキテクチャや想定されるユースケースには異なる特徴があります。

本記事では、これら2つの違いについて記載していきます。

フレームワークの概要

各フレームワークの概要についてお伝えします。

Agent Development Kit(Google Cloud) Strands Agents(AWS)
概要:
Gemini時代のマルチエージェントシステムを構築するために設計された、Google Cloud公式のフレームワーク
概要:
AWSが2025年に公開したオープンソースのエージェント構築SDK
「Model-first(モデル駆動)」を掲げ、極めてシンプルなコードでエージェントを記述できる
特徴:
Googleシステム(BigQuery、Google Workspace等)との深い統合が前提となっており、エンタープライズレベルのセキュリティとスケーラビリティを重視
特徴:
MCPへのネイティブ対応が最大の特徴
AWS Bedrockでの利用が中心だが、設計自体はモデル非依存(Model Agnostic)であり、ローカルLLMや他社モデルでも動作する

フレームワークの詳細は公式ドキュメントをご確認ください。
Google ADK公式ドキュメント
Strands Agents公式ドキュメント

アーキテクチャと思想の比較

「エージェントを作る」という目的は同じですが、アプローチは対照的です。

比較軸 Agent Development Kit(Google Cloud) Strands Agents(AWS)
開発思想 統合型・構造重視

「エージェント=組織のワークフロー」と捉え、役割分担や権限管理を厳密に定義するスタイル

モデル駆動・シンプル重視

「エージェント=モデル+ツール」と捉え、LLMの推論能力を信頼してコード記述量を減らすスタイル

ツール連携 Google システム特化

BigQuery、Google Drive等のAPIを安全かつ簡単に呼び出せるコネクタが豊富

MCP

業界標準のMCPサーバを利用し、Slack・GitHub等の外部ツールと連携

モデル Gemini最適化(他モデルも可)

Geminiが基本だが、設計はモデル非依存
LiteLLM等を介してOpenAI等の利用もサポート

モデル非依存

Bedrockが基本だが、OpenAIやOllama(ローカル)への切り替えも容易

実装スタイルの違い

実際に動かしてみたいと思います。

共通設定

必要なモジュールをダウンロードします。

python -m pip install strands-agents google-adk

APIキーを設定します。

$env:GOOGLE_API_KEY='<キー>'

これで事前準備は完了です。

 

AWS Strands Agentsの場合

import os

from strands import Agent, tool
from strands.models.gemini import GeminiModel


@tool def check_weather(city: str) -> str: """都市の天気を取得する(デモ用に固定値を返す)""" return f"{city} is Sunny, 25°C"

# Geminiモデルを指定してエージェントを作成 agent = Agent( model=GeminiModel( model_id="gemini-2.5-flash", params={}, client_args={"api_key": os.environ["GOOGLE_API_KEY"]}, ), tools=[check_weather], )
# 実行 result = agent("東京の天気は? 必ず check_weather ツールを使って答えて。")

Google Cloud ADKの場合

import asyncio

from google.adk import Agent
from google.adk.runners import InMemoryRunner
from google.adk.tools.function_tool import FunctionTool
from google.genai import types


def check_weather(city: str) -> str: """都市の天気を取得する(デモ用に固定値を返す)""" return f"{city} is Sunny, 25°C"

async def main() -> None: agent = Agent( name="WeatherBot", model="gemini-2.5-flash", instruction="You are a weather bot. Use check_weather when asked about the weather.", tools=[FunctionTool(check_weather)], )
runner = InMemoryRunner(agent) session = await runner.session_service.create_session( app_name=runner.app_name, user_id="demo_user" ) message = types.Content( role="user", parts=[types.Part(text="東京の天気は? 必ず check_weather ツールを使って答えて。")], )
for event in runner.run( user_id=session.user_id, session_id=session.id, new_message=message
): if event.content and event.content.parts: text = "".join(part.text or "" for part in event.content.parts) if text: print(f"[{event.author}] {text}")
await runner.close()

if __name__ == "__main__": asyncio.run(main())

 

コードを動かしてみた感触としては、

Strands Agents は、エージェントのループ処理やエラーハンドリングがSDK内部に隠蔽されているため、開発者は「ロジック」に集中できます。

対して、Google ADKは記述量が多いですが、Session や Runner、 types が明示されております。「誰が」「どのセッションで」「どういう型で」会話しているかを厳密に管理できます。

ユースケース別

それぞれ、選ぶべきケースについて考えてみました。

Google ADK を選ぶケース

  • Google Workspace 連携をしたい!
    • 「Gmail の内容を要約してカレンダーに登録据える」といった業務フローなど
  • Google Cloud 上でデータ分析をしたい!
    • BigQuery 上のデータをGeminiに分析させたい場合、ADKの親和性は圧倒的

 

AWS Strands Agents を選ぶケース

  • SaaS連携を広げたい!
    • MCP対応のツール(Notion、GitHub、Slackなど)を即時に組み込みたい場合
  • AWS基盤を活用したい!
    • LambdaやFargateでサーバレスにエージェントを動かしたい場合

結論

本記事では、エージェント開発フレームワークである、Google Cloud の「Agent Deployment Kit」と、AWSの「Strands Agents」を比較しました。

両者は「自律型エージェントの構築」という目的を共有しつつも、その設計思想と適用領域において明確な差異がありました。

Agent Development Kit(Google Cloud)
  • Google Cloudエコシステム(BigQuery, Google Workspace, Cloud Run等)との深い統合とセキュリティを最優先する設計です。
  • LiteLLMを経由した他社モデルの利用も可能ですが、基本的にはGoogle基盤上での大規模なワークフロー構築や、厳密な状態管理が求められるエンタープライズ開発に適しています。
Strands Agents(AWS)
  • MCP へのネイティブ対応と、「Model-first」による実装の簡潔さを重視した設計。
  • AWS Bedrockをはじめとする多様なモデルと、MCP対応ツールを標準規格で接続できるため、ツール拡張性と開発スピードを重視するプロジェクトに適しています。

どちらを採用するか検討する際は、以下の2点が主な判断基準になりそうです。

  1. 分析対象や連携データが Google Cloud に集中している場合は ADK の機能が活きやすく、AWS環境あるいは特定のクラウドに依存しない構成を重視する場合はStrands Agentsの設計がフィットする可能性がありそうです。
  2. プラットフォーム固有の機能を深く活用したいか、あるいは業界標準規格であるMCP(Model Context Protocol)によるエコシステム活用を優先したいか、という点も、フレームワークを選定する上での一つの分かれ目と言えるでしょう。

 

プロジェクトの技術要件と既存のインフラ環境を照らし合わせ、最適なフレームワークを選択してください。

2025年12月25日 Google ADK と AWS Strands Agentsを比較してみた

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら