エージェンティックビジョン:Amazon BedrockとMCPサーバーを用いた視覚的知能の構築
この記事では、コンピュータビジョン、Strandsエージェント、MCPを統合したコンピュータビジョンMCPサーバーを紹介します。AWSのIAM、S3、OpenSearch、Bedrock、Rekognitionなどのサービスを活用し、統一されたインターフェースで画像や動画の分析を実現します。ユーザーはStreamlit UIを通じてメディアをアップロードし、オブジェクト検出、トリミング、背景除去などのタスクを実行できます。
現実世界のアプリケーションへのAI統合は長い間、「見る」システム、「考える」システム、「行動する」システムの間の断絶という根本的な課題に直面してきました。開発者は複雑な統合、複数のAPI管理、およびこれらのギャップを埋めるためのカスタムソリューションの作成に苦労し、非効率的でコストが高く、脆弱な実装を招いていました。
本記事で紹介するコンピュータビジョンMCPサーバーは、コンピュータビジョン、Strandsエージェント、モデルコンテキストプロトコル(MCP)の3つの主要技術を融合し、視覚情報を取得、理解、行動に移すための統一パイプラインを提供します。この統合により、知覚、意思決定、行動の間の従来の障壁が低減され、AIシステムは人間の知能のように協調的に動作できるようになります。
ソリューション概要
アーキテクチャでは、クライアントは集中型AWS IAMロールを介して複数のAWSサービスと対話します。Amazon S3はオブジェクトストレージ、Amazon OpenSearchは検索機能、Amazon Bedrockは生成AIモデル(Claude 4 Sonnetなど)、Amazon Rekognitionは画像分析を担当します。IAMロールが権限を一元管理するため、クライアントに資格情報を埋め込む必要がなく、複数のAWSサービス間での制御されたアクセスが簡素化されます。
3つの主要技術
- コンピュータビジョン:画像や動画などの視覚情報を処理。
- Strands Agents:AIエージェント構築のためのフレームワーク。複数のモデルプロバイダーとデプロイターゲットをサポートし、可観測性、トレーシング、スケーラブルなデプロイメントを備える。
- MCP:AIシステムとツールやデータソースの統合を簡素化する標準プロトコル。
ユーザーインターフェース
インターフェースはStreamlitベースのチャットUIです。左側のメニューパネルでは、ユーザーは基本モデル(デフォルトはClaude 4 Sonnet)を選択でき、会話履歴のリセットも可能です。中央のメディアアップロードセクションから画像(PNG、JPGなど)や動画(MP4、AVIなど、最大200MB)をドラッグ&ドロップまたはファイル選択でアップロードできます。アップロード後、AIシステムはオブジェクトクロッピング、ラベル検出、詳細コンテンツ分析などのタスクを実行します。
MCPサーバーツール
MCPサーバーは以下のツールを提供します:
- describe_image:Amazon BedrockのClaudeモデルを使用し、指示に基づいて画像を分析。S3から画像を取得し、説明を返す。
- analyze_video:Amazon Novaの動画分析機能を利用し、動画コンテンツを処理。
- detect_labels:Amazon Rekognitionと統合し、ラベル検出を実行。信頼度スコア、バウンディングボックス情報を提供。
- crop_bounding_box:Rekognitionのオブジェクト検出に基づき、インテリジェントなクロッピングを実行。
- remove_background:rembgライブラリを使用して画像の背景を除去。
これらのツールは標準化されたMCPインターフェースを介して公開され、AIエージェントは統一された方法で視覚処理機能にアクセスできます。システムはまた、エージェントがワークフローに従ってタスクを実行するための詳細なシステムプロンプトを含みます。
結論として、このソリューションは複雑な視覚知能の統合を標準化されたインターフェースに簡素化し、開発者が視覚能力を持つAIアプリケーションを容易に構築できるようにします。