YOLO Vision 2026:
返回 Ultralytics 词汇表

Model Context Protocol (MCP)

了解模型上下文协议 (MCP) 如何标准化 AI 与数据和工具的连接。发现如何将 Ultralytics YOLO26 与 MCP 集成以实现更智能的工作流。

模型上下文协议 (MCP) 是一项开放标准,旨在规范 AI 模型与外部数据、工具及环境交互的方式。过去,将大语言模型 (LLM) 或计算机视觉系统连接到现实世界的数据源(例如本地文件、数据库或 API 端点)需要为每个工具构建自定义集成。MCP 通过提供一个通用协议(类似于用于 AI 应用的 USB 端口)解决了这种碎片化问题。这让开发者能够只构建一次连接器,就能使其在多个 AI 客户端上运行,从而显着降低创建上下文感知客户支持代理和智能助手的复杂性。

MCP 的工作原理#

在其核心,MCP 通过客户端-主机-服务器架构运作。“客户端”是发起请求的 AI 应用(例如编码助手或聊天机器人界面)。“主机”提供运行时环境,“服务器”则是通往特定数据或工具的桥梁。当AI 代理需要访问文件或查询数据库时,它会通过协议发送请求。MCP 服务器处理此请求,检索必要的上下文,并以结构化方式将其格式化返回给模型。

这种架构支持三种主要功能:

  • **资源:**这些资源允许模型读取数据(例如日志、代码文件或业务文档),为检索增强生成 (RAG)提供必要的支撑。
  • **提示词:**预定义的模板,可帮助用户或模型与服务器进行有效交互,简化提示词工程工作流。
  • **工具:**可执行函数,允许模型采取行动(例如编辑文件、运行脚本或与计算机视觉管道进行交互)。

实际应用#

MCP 正在迅速普及,因为它将模型与集成逻辑解耦。以下是其实际应用的两个具体示例:

  1. **统一开发环境:**在软件工程中,开发者经常在 IDE、终端和文档之间切换。启用 MCP 的编码助手可以同时连接到 GitHub 仓库、本地文件系统和缺陷跟踪数据库。如果开发者问“为什么登录失败?”,AI 可以使用 MCP 服务器拉取最近的错误日志、读取相关的身份验证代码并检查开放的问题,将这些多模态数据综合成一个解决方案,而无需用户复制和粘贴上下文。

  2. **上下文感知视觉检测:**在工业环境中,标准的视觉模型可以检测缺陷,但缺乏历史上下文。通过使用 MCP,Ultralytics YOLO26 检测系统可以与库存数据库链接。当模型检测到“损坏的零件”时,它会触发一个 MCP 工具来查询数据库中的替换件可用性并自动起草维护工单。这会将一个简单的目标检测任务转变为完整的自动化工作流。

区分相关术语#

将 MCP 与 AI 生态系统中的类似概念区分开来很有帮助:

  • MCP 与 API: 应用程序编程接口 (API) 是一套特定的规则,用于让一个软件与另一个软件进行通信。MCP 是一种 协议,它标准化了 任何 AI 模型与 任何 API 或数据源的交互方式。你可以构建一个封装特定 API 的 MCP 服务器,使其对兼容 MCP 的客户端普遍可用。
  • MCP 对比 RAG:检索增强生成是将外部数据馈送给模型的技术。MCP 是促进这一过程的基础设施。RAG 是“是什么”(获取数据),而 MCP 是“怎么做”(标准连接管道)。
  • **MCP 对比函数调用:**包括OpenAI GPT-4在内的许多模型都原生支持函数调用。MCP 创建了一种标准方法来定义和公开这些函数(工具),这样它们就不必每次都硬编码到模型的系统提示词中。

与计算机视觉的集成#

虽然 MCP 最初是为基于文本的 LLM 而普及的,但它在以视觉为中心的工作流程中也变得越来越重要。开发者可以创建 MCP 服务器,将计算机视觉功能作为工具公开。例如,充当中央控制器的 LLM 可以通过作为 MCP 工具公开的本地 Python 脚本,将视觉任务委托给 Ultralytics 模型。

以下 Python 代码片段演示了一个概念性工作流程,其中脚本使用视觉模型生成上下文,然后可以通过兼容 MCP 的端点提供该上下文:

from ultralytics import YOLO

# Load the YOLO26 model (efficient, end-to-end detection)
model = YOLO("yolo26n.pt")

# Perform inference to get visual context from an image
results = model("https://ultralytics.com/images/bus.jpg")

# Extract detection data to be passed as context
detections = []
for r in results:
    for box in r.boxes:
        cls_name = model.names[int(box.cls)]
        detections.append(f"{cls_name} (conf: {box.conf.item():.2f})")

# This string serves as the 'context' a downstream agent might request
context_string = f"Visual Analysis: Found {', '.join(detections)}"
print(context_string)

AI 连接的未来#

模型上下文协议的引入标志着向模块化且可互操作的智能体 AI系统转变。通过标准化连接,行业正从各自为战的聊天机器人转向能够在组织现有基础设施内开展有意义工作的集成助手。随着像Ultralytics Platform这样的工具不断发展,像 MCP 这样的标准协议将在自定义训练模型如何在更大企业工作流中部署和使用方面发挥至关重要的作用。

Explore solutions

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅