Claude AIエージェントをAmazon Bedrockで構築する方法【Strand Agent SDK入門】

Amazon BedrockとStrand Agent SDKを使い、わずか44行のPythonコードでClaude AIエージェントを構築する手順を解説。Weather Agent実装、MCP Server統合、CDKコード自動生成まで、実践的なサンプルコード付きで紹介します。

AI

Claude AIエージェントをAmazon Bedrockで構築する方法

この記事でわかること

  • AIエージェントと従来AIの違い — 単発応答ではなく、自律的に推論・実行を繰り返す仕組み
  • Strand Agent SDKの使い方 — プロンプト・エージェント・実行の3要素だけで構築できる設計
  • 44行で動くWeather Agentの実装 — 環境構築からコード完成までの具体的手順
  • MCP Server統合とCDK自動生成 — AWSサービスと連携する応用パターン
  • 他フレームワークとの比較 — LangChain・AutoGPT・CrewAIとの違い

AIエージェントとは何か

AIエージェントは、従来のAIシステムとは根本的に異なります。ChatGPTのような「質問→回答」の単発やり取りではなく、自分で考え、計画を立て、行動し、結果を評価して次のアクションを決める自律型システムです。

特徴 従来のAIシステム AIエージェント
動作方式 単発の入出力 継続的な推論・実行ループ
計画能力 なし 複数ステップの戦略立案
自律性 人間の指示待ち 自発的な行動決定
学習・適応 固定的な応答 結果に基づく戦略調整

具体的には、エージェントは以下の6段階を自律的に繰り返します。

  1. タスク理解: 与えられた問題の詳細分析
  2. 計画立案: 多段階戦略の設計
  3. ステップ実行: 計画の段階的実装
  4. 結果評価: 中間成果の品質判定
  5. 次行動決定: 評価に基づく戦略調整
  6. 目標達成: 最終目的の完遂

たとえば「サンフランシスコの天気を調べて要約して」と頼むと、エージェントは自分で天気APIのURLを組み立て、リクエストを送り、レスポンスを解析し、人間が読みやすい形に整形して返します。途中でエラーが出れば、別のアプローチを自分で試します。


Strand Agent SDKの特徴

Strand Agent SDKは、Anthropicが開発したAIエージェント構築フレームワークです。最大の特徴は極限のシンプルさにあります。

3要素だけでエージェントが動く

必要なのは以下の3つだけです。

  1. プロンプト — エージェントへの指示(システムプロンプト)
  2. エージェント — Claude モデルとツールの組み合わせ
  3. 実行 — タスクの投入と結果の取得

LangChainのような複雑なチェーン定義やAutoGPTのような大量の設定ファイルは不要です。

設計思想

  • スキャフォールディング排除: 複雑な設定やボイラープレートを徹底的に排除
  • LLM能力最大化: モデルの推論力を制限しない自由度重視の設計
  • 柔軟な判断委任: 細かい制御よりもモデルの高度な判断を信頼する思想

環境構築

# SDKインストール
pip install strand-agents strand-agent-tools

# Bedrock使用時の環境変数設定
export CLAUDE_CODE_ENV=bedrock

# MCP Server利用時の追加インストール
uv add --optional-dependency mcp

動作要件: Python 3.8以上。EC2、Lambda、ECS、Fargateいずれにもデプロイ可能です。


実装例1: Weather Agent(44行で完成)

最もシンプルなエージェントの実装例です。weather.gov APIから天気情報を取得し、人間が読みやすい形で表示します。

Step 1: システムプロンプトを書く

weather.gov APIの使い方をプロンプトに記述します。APIキーは不要で、位置情報から緯度経度への変換もモデルが自動で行います。

Step 2: ツールを定義する

@toolデコレータを使い、関数をそのままツールとして登録します。

Step 3: エージェントを作成・実行する

from strand_agent import Agent, tool

@tool
def word_count(text: str) -> int:
    """テキストの単語数をカウント"""
    return len(text.split())

# システムプロンプト定義
system_prompt = """
天気情報を取得し、人間が読みやすい形式で提供してください。
API: https://api.weather.gov を使用
"""

# エージェント初期化
agent = Agent(
    model="claude-3.5-sonnet",
    tools=[word_count],
    system_prompt=system_prompt
)

# 実行
result = agent.execute("サンフランシスコの天気は?")

このコードを実行すると、エージェントは以下を自律的に行います。

  1. サンフランシスコの座標を特定
  2. weather.gov APIにリクエスト送信
  3. レスポンスのJSON解析
  4. 単語数カウントツールの実行
  5. 結果を人間向けに整形して出力

組み込みのHTTPリクエストツールが最初から使えるため、HTTP通信用のコードを自分で書く必要はありません。


実装例2: MCP Server統合

MCP(Model Context Protocol)Serverを使うと、外部サービスとの連携が簡単になります。AWSは以下の4つの公式MCPサーバーを提供しています。

MCPサーバー 機能
Documentation MCP AWSドキュメントの検索・参照
Architecture Diagram MCP AWSアーキテクチャ図の自動生成
Cost Analysis MCP リアルタイムのコスト分析
Nova Canvas MCP AI画像生成

統合コード例

# MCP サーバーのインストール
uvx install aws-mcp-documentation
uvx install aws-mcp-diagram

# エージェントにMCPサーバーを接続
agent = Agent(
    model="claude-3.5-sonnet",
    mcp_servers=[
        MCPClient("aws-docs"),
        MCPClient("aws-diagram")
    ],
    system_prompt="""
AWS認定ソリューションアーキテクトとして、
ベストプラクティスの提案と図表生成を行ってください。
"""
)

これにより、「S3とLambdaを使ったサーバーレスアーキテクチャを提案して」と指示するだけで、エージェントがAWSドキュメントを参照しながら構成図まで自動生成します。


実装例3: CDKエージェント(インフラコード自動生成)

Claude Codeと統合することで、AWSインフラのコードを自動生成するエージェントも構築できます。

  • ゼロからの生成: 空ファイルから完全なCDKスタックを作成
  • コンテキスト学習: 既存のコードベースを参照して設計パターンを踏襲
  • TypeScript対応: CDK TypeScriptコードを自動生成
  • ベストプラクティス適用: セキュリティ設定やタグ付けを自動追加

実際にAnthropic社内では、Claude Codeを使ってCDKエージェントをゼロから構築するデモが行われ、API使用量とコストの完全な透明性も確認されています。


応用例: 数学アニメーション生成

Three Blue One Brownスタイルの数学アニメーションも、エージェントで自動生成できます。

  • 2x³のような関数をテキストで入力
  • Manim(Mathematical Animation Engine)を自動で呼び出し
  • -3から3の範囲で二次方程式をプロット
  • MP4形式の高品質アニメーションとして出力

数式の入力から動画完成まで、すべて自動実行されます。


Amazon Bedrock統合のメリット

Strand Agent SDKをAmazon Bedrock経由で使うことで、エンタープライズグレードの機能が利用できます。

  • インフラ管理不要: サーバーレスで自動スケーリング
  • 統一API: Claude familyの全モデルに一貫したアクセス
  • IAMベース認証: Anthropicとの直接契約やAPIキー管理が不要
  • ガードレール機能: コンテンツフィルタリングの統合
  • 監査ログ: CloudTrailとの完全統合
  • データローカライゼーション: リージョン指定でデータの所在地を管理

他のエージェントフレームワークとの比較

項目 Strand Agent LangChain AutoGPT CrewAI
学習コスト 最小(3要素のみ) 高(多数の概念) 中程度 中程度
ボイラープレート ほぼなし 多量 多い 中程度
AWS統合 ネイティブ 追加設定必要 限定的 限定的
MCP対応 組み込み プラグイン なし 限定的
デプロイ容易性 非常に高い 複雑 複雑 中程度

LangChainは柔軟性が高い反面、概念が多く学習コストが高めです。Strand Agentは「AWS環境でClaudeエージェントを最速で動かしたい」場合に最適です。


まとめ: どんな場面で使えるか

Strand Agent SDK + Amazon Bedrockの組み合わせは、以下のようなユースケースに向いています。

エンタープライズ

  • インフラ自動化(CDK/CloudFormationコード生成)
  • コスト最適化の分析と推奨
  • セキュリティ監査の設定チェック

研究・教育

  • 数学ビジュアライゼーション
  • データ分析と統計解析
  • 実験プロトコルの設計支援

スタートアップ

  • MVP開発の加速(プロトタイプ自動生成)
  • 外部API統合の簡素化
  • カスタマーサポートの自動化

44行のコードからエージェント開発を始められるハードルの低さが、このSDKの最大の強みです。まずはWeather Agentを動かしてみて、エージェントの動作原理を体感してみてください。

このブログを書いている人

福岡のAIエンジニア。生成AI(ChatGPT・Claude)を活用した業務自動化、Webサイト開発、技術顧問を行っています。
「何から始めればいいかわからない」というご相談も歓迎です。

© 2022-2025 infoHiroki. All rights reserved.