智能视觉:借助 Amazon Bedrock 与 MCP 服务器打造视觉理解能力

AWS ML Blog 2026-07-15T21:15:53.678867

长期以来,AI 与实际应用的融合一直受制于一个根本性问题:能“看”的系统、能“想”的系统、能“做”的系统彼此割裂。开发者不得不应对复杂的集成工作,管理多个 API,并编写各种自定义方案来填补这些缝隙,最终导致实现效率低、成本高,还常常脆弱不堪。如今,我们正将三项关键技术融为一体:计算机视觉(Computer Vision)、Strands Agents 以及模型上下文协议(Model Context Protocol,MCP)。三者共同构建起一条流水线,让视觉信息可以在统一的框架内被捕获、理解,并据此采取行动。这种整合打破了感知、决策与行动之间的传统壁垒,让 AI 系统能够像人类智能一样,以协同的方式去看、去理解、去回应。在这篇文章中,我们将带你深入了解 Computer Vision MCP Server,它正是这一思路的体现——展示了 AI 系统如何通过单一、标准化的接口来处理视觉信息并做出智能决策。这一融合将原本复杂的集成挑战转化为流畅流程,让更广泛的应用和开发者都能轻松获得 AI 能力。

解决方案概述

在本架构中,客户端通过统一的 AWS Identity and Access Management(IAM)角色与多个亚马逊云服务(AWS)交互,该角色作为安全网关负责管理所有权限。Amazon Simple Storage Service(Amazon S3)负责对象存储,用于检索和管理数据;Amazon OpenSearch 提供搜索能力,支持对已索引数据进行查询;Amazon Bedrock 提供生成式 AI 模型,让客户端能够调用 AI 工具完成诸如为智能体生成文本等任务;Amazon Rekognition 则专注于图像分析,执行目标检测等功能。整个架构采用统一的安全模型——IAM 角色集中管控权限,既避免了在客户端中嵌入凭证,也简化了对多个 AWS 服务的受控访问。

计算机视觉、Strands Agents 与 MCP 服务器

该方案主要依赖三种技术。计算机视觉专注于处理照片、视频等视觉信息。Strands Agents 是一个构建 AI 智能体的框架,支持多种模型提供商和部署目标,提供可定制的智能体运行循环,并具备生产级能力,包括可观测性、链路追踪和可伸缩部署。模型上下文协议(MCP) 则是一套标准化方案,旨在简化 AI 系统与工具及数据源的集成方式,取代了以往为每对 AI 模型和数据源单独构建连接的做法。

用户界面(MCP 客户端)

界面采用 Streamlit 聊天式 UI。左侧是一个菜单面板,用户可以在其中选择用于分析的首选基础模型,默认选中支持推理的 Claude 4 Sonnet,可选模型包括 Claude 4 Sonnet 和 Claude 3.7 Sonnet。用户还可以通过侧边栏中的专用按钮重置对话历史。要使用该应用,用户需通过界面中央醒目的“媒体上传”区域上传视觉内容。系统支持图片和视频,图片格式包括 PNG、JPG、JPEG、GIF、WEBP,视频格式包括 MP4、AVI、MOV、MKV、WEBM、MPEG4,文件大小上限为 200 MB。用户可以将文件直接拖拽到指定上传区域,或点击“浏览文件”从设备中手动选择。媒体上传后,AI 系统可以执行多种分析任务,例如对象裁剪、标签检测和详细内容分析。用户随后可通过界面底部的消息输入框与系统交互,询问关于已上传媒体的具体问题,或请求执行某种分析类型。

以下是智能体(Agent)使用的系统提示词:

SYSTEM_PROMPT = """You are a specialized computer vision agent with direct access to CV tools.

YOUR ROLE: Single-agent CV specialist

- Handle image/video analysis, cropping, background removal, label detection
- Process user requests directly using available tools
- Provide clear, actionable responses with visual results

AVAILABLE TOOLS:

1. crop_bounding_box(image_filename, object_name) - Returns "cropped_image_filename"

...

TOOL USAGE PATTERNS:

Cropping Workflow:
  1. Call crop_bounding_box("image.jpg", "person") - "cropped_person_123.jpg"
  2. Call crop_bounding_box("image.jpg", "dog") - "cropped_dog_456.jpg"
  3. Call ui_show_images(["cropped_person_123.jpg", "cropped_dog_456.jpg"])

...

VARIABLE PASSING:

- Input: User queries with uploaded filenames in context

...

EFFICIENCY RULES:

- Use ui_show_images for multiple results (creates better layouts)

...

RESPONSE FORMAT:

1. Acknowledge the request
2. Execute appropriate tools in logical sequence
3. Display results using UI tools
4. Summarize what was accomplished
- Call ui_show_images with ["image_bg_removed_123456.png"] to display the result

Example workflow for video analysis:

- Call analyze_video with video filename and specific monitoring instructions
- The tool will return detailed analysis results

Always report back error messages exactly as received.

"""

计算机视觉 MCP 服务器

我们的实现包含两个服务器:CV 服务器和 OpenSearch 服务器。它们各自处理不同类型的请求,下面分别说明。

CV 服务器

AWS 计算机视觉 MCP 服务器将三种 Amazon AI 服务整合到一个标准化协议中,为图像和视频分析提供统一接口。AI 智能体(AI agent)可以通过一致的 API 访问和处理视觉内容,从而简化计算机视觉应用的开发。该 MCP 服务器中提供了以下工具:

describe_image 工具通过 Amazon Bedrock 中的 Claude 模型,根据特定的监控指令进行图像分析。该函数从 Amazon S3 存储中获取图像,并利用 Claude 的多模态能力进行处理,实现 AI 驱动的视觉内容解读。它适用于需要获取图像描述或识别特定属性的场景,返回分析结果及状态信息。

智能体响应示例:

我来帮你描述上传的图片。先用计算机视觉智能体分析一下。现在显示图片及其描述:
图片描绘了一个乡村户外场景:前景是一只绵羊(检测置信度 99.07%),看起来正在草地或牧场上吃草;毛色以灰白为主;环境是草地/牧场;背景是典型的乡村或田园景观中的绿色田野;自然光照明。
这张照片捕捉到宁静的田园风光:绵羊位于画面中央,背后是绿色草地。主色调是背景的深浅绿色和前景绵羊的灰白色调。这是一张展现牲畜在自然牧场环境中吃草的自然照片。

查看原文