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段階を自律的に繰り返します。
- タスク理解: 与えられた問題の詳細分析
- 計画立案: 多段階戦略の設計
- ステップ実行: 計画の段階的実装
- 結果評価: 中間成果の品質判定
- 次行動決定: 評価に基づく戦略調整
- 目標達成: 最終目的の完遂
たとえば「サンフランシスコの天気を調べて要約して」と頼むと、エージェントは自分で天気APIのURLを組み立て、リクエストを送り、レスポンスを解析し、人間が読みやすい形に整形して返します。途中でエラーが出れば、別のアプローチを自分で試します。
Strand Agent SDKの特徴
Strand Agent SDKは、Anthropicが開発したAIエージェント構築フレームワークです。最大の特徴は極限のシンプルさにあります。
3要素だけでエージェントが動く
必要なのは以下の3つだけです。
- プロンプト — エージェントへの指示(システムプロンプト)
- エージェント — Claude モデルとツールの組み合わせ
- 実行 — タスクの投入と結果の取得
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("サンフランシスコの天気は?")
このコードを実行すると、エージェントは以下を自律的に行います。
- サンフランシスコの座標を特定
- weather.gov APIにリクエスト送信
- レスポンスのJSON解析
- 単語数カウントツールの実行
- 結果を人間向けに整形して出力
組み込みの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を動かしてみて、エージェントの動作原理を体感してみてください。