【AWS】StrandsとAgentCoreで何が出来るのか?

どんどん増えているAWSのAIエージェントサービス。

現在どんなサービスがあり、それぞれどのような特徴を持つのか調べてみました。

目次

AWSのAIエージェントサービス

現在は以下2種類の特徴を持つサービスが存在するようです。

  • AIエージェントを自分で作る
  • AIエージェントで開発を加速させる

AIエージェントを自分で作る

・Amazon Bedrock Agents

ローコード(GUI)でエージェントを構築できる

Amazon Bedrock AgentCore

エージェント専用のインフラとモジュールを使って構築できる

Strands Agents

Pythonでエージェントを構築できる

AIエージェントで開発を加速させる

・Amazon Q Developer

AWS環境のコード生成・デバッグ・インフラ構築を自然言語で支援するツール

・Kiro

AIエージェントと連携して開発を進めることを支援するAIエージェント型のIDE

ここでは、最近よく見る「Bedrock AgentCore」と「Strands Agents」についてもう少し調べてみました。

Strands Agentsとは

最低3行でAIエージェントを構築できる。シンプルで開発しやすい

from strands import Agent

agent = Agent()
agent("1764の平方根はいくつですか。")

Bedrock AgentCoreとは

引用元: https://aws.amazon.com/jp/blogs/machine-learning/amazon-bedrock-agentcore-is-now-generally-available/

AIエージェントを大規模かつセキュアに展開するため、以下7つの機能を提供。

  • Runtime(セッション分離を備えた低レイテンシのサーバーレス環境)
  • Memory(セッションと長期メモリを管理)
  • Identity(エージェントがユーザーに代わって認証認可)
  • Code Interpreter(エージェントが生成したコードを実行するための分離環境)
  • Gateway(MCP やランタイム検出などのプロトコル間を中継)
  • Browser tool(エージェントの Web自動化ワークフローを拡張)
  • Observability(エージェント運用の監視)

MCPにも対応。今後A2Aのサポートも予定しているとのこと。

例えばStrandsとAgentCoreでこんなことが出来る!

Strands Agents SDKで作成したAIエージェントや、LangGraphやGoogle ADK、OpenAI Agents SDKなど、その他フレームワークで作成した AI エージェントをプロダクトとしてデプロイ。

引用元: https://aws.amazon.com/jp/blogs/startup/5min-ai-agent-hosting/
# Strands Agents SDK を使用した最低限のエージェント

from bedrock_agentcore.runtime import BedrockAgentCoreApp
from strands import Agent

app = BedrockAgentCoreApp()
agent = Agent()

@app.entrypoint
def invoke(payload):
    user_message = payload.get("prompt")
    result = agent(user_message)
    return {"result": result.message}

if __name__ == "__main__":
    app.run()

まとめ

どんどん増えているAWSのAIエージェントサービス。
主にStrandsとAgentCoreでどのようなことができるのか把握しました。

本当にたった数行でエージェントをAWS環境にデプロイできるのか、別途試してみようと思います。


目次