ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Bedrock AgentCore】Strands AgentをBedrock AgentCoreにデプロイ

この記事を共有する

目次

はじめに

皆さんこんにちは!パーソル&サーバーワークスの小泉です。
本記事では、Strands AgentをAmazon Bedrock AgentCore(以下、Bedrock AgentCore)にデプロイする方法について記載します。

前提

  • OS:Amazon Linux2023
  • BedrockのモデルアクセスからClaude 3.7 Sonetを有効化
  • aws configureでdefaultプロファイルを作成
  • Python3.10,uvをインストール済み
  • リージョン:us-east-1

環境構築

ファイルの作成

  • .env
  • main.py

.env

AWS_PROFILE=default

main.py

from dotenv import load_dotenv
from strands import Agent
from strands.models import BedrockModel
from strands.tools.mcp import MCPClient
from mcp import stdio_client, StdioServerParameters
from bedrock_agentcore.runtime import BedrockAgentCoreApp
load_dotenv()
bedrock_model = BedrockModel(
    region_name="us-east-1",
    model_id="us.anthropic.claude-3-7-sonnet-20250219-v1:0",
)
mcp = MCPClient(lambda: stdio_client(
    StdioServerParameters(
        command="uvx",
        args=["awslabs.aws-documentation-mcp-server@latest"]
    )
))
app = BedrockAgentCoreApp()
@app.entrypoint
def invoke(payload):
    """ユーザー入力を処理して、エージェントの応答を返す"""
    user_message = payload.get("prompt", "Hello")
    try:
        with mcp:
            tools = mcp.list_tools_sync()
            agent = Agent(
                model=bedrock_model,
                system_prompt="AWSの公式ドキュメントから回答して、わからないことは「わかりません」と答えてください。",
                tools=tools
            )
            response = agent(user_message)
            return {"result": response.message}
    except Exception as e:
        return {"error": str(e)}
# ===== アプリ起動 =====
if __name__ == "__main__":
    app.run()

コマンド実行

uv venv
source .venv/bin/activate
uv init
uv add strands-agents bedrock-agentcore bedrock-agentcore-starter-toolkit
agentcore configure --entrypoint main.py --name awsmcp #すべて空Enter
agentcore launch

デプロイ確認

Bedrock AgentCoreにデプロイされていることを確認できました

runtime.png

テスト

実際に応答を返すことを確認できました

回答結果.png

まとめ

今回はStrands AgentをBedrock AgentCoreにデプロイしてみました。
やってみる前は「結構難しそうだな...」と思っていましたが、実際は必要なファイルを用意してコマンドを数回実行するだけでサクッと動かせました。
次は、他のMCPサーバーなど追加して、もっと便利なエージェントに育てていきたいなと思います。

この記事は私が書きました

小泉 和貴

記事一覧

全国を旅行することを目標に、仕事を頑張っています。

小泉 和貴

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。