论文名称:Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions
arxiv:https://arxiv.org/pdf/2503.23278
这是第一篇关于Model Context Protocol的综述论文。介绍了MCP的原理、架构、安全问题,以及未来的研究方向。
0 简介
模型上下文协议(MCP)是一种标准化接口,旨在实现AI模型与外部工具(tool)和资源(resource)的无缝交互,打破数据孤岛,促进不同系统间的互操作性。本文全面概述了 MCP,重点关注其核心组件、工作流程以及 MCP 服务器生命周期,该生命周期包括三个关键阶段:创建、运营和更新。我们分析了每个阶段相关的安全和隐私风险,并提出了减轻潜在威胁的策略。本文还考察了当前的 MCP 格局,包括行业领导者的采用和各种用例,以及支持其集成的工具和平台。我们探讨了 MCP 的未来方向,突出了将影响其在更广泛人工智能生态系统中采用和演变的挑战和机遇。最后,我们为 MCP 利益相关者提供了一些建议,以确保其在人工智能格局持续演变的过程中安全且可持续地发展。
1 引言
近年来,能够与各种工具和数据源进行交互的自主AI Agent的愿景获得了显著动力。这种进步在 2023 年随着 OpenAI 引入function calling而加速,这使得语言模型能够以结构化的方式调用外部 API。这一进步扩展了LLMs的能力,使其能够检索实时数据、执行计算以及与外部系统交互。随着函数调用的普及,围绕它形成了一个生态系统。OpenAI 推出了 ChatGPT 插件,允许开发者为 ChatGPT 构建可调用的工具。LLM应用商店如Coze和元启已经支持专门为他们的平台推出了他们的插件商店。像 LangChain和LlamaIndex这样的框架提供了标准化的工具接口,使得与外部服务的集成更加容易。包括 Anthropic、Google 和 Meta 在内的其他 AI 提供商也引入了类似的机制,进一步推动了工具的采用。尽管取得了这些进步,工具的集成仍然处于碎片化状态。开发者必须手动定义接口、管理身份验证和处理每个服务的执行逻辑。函数调用(function calling)机制在不同平台之间各不相同,需要重复实现。此外,当前的方法依赖于预定义的工作流程,限制了 AI 代理在动态发现和编排工具方面的灵活性。
2024 年底,Anthropic 推出了模型上下文协议(MCP),这是一个通用协议标准,用于规范 AI 工具的交互。受语言服务器协议(LSP)的启发,MCP 为 AI 应用提供了一个灵活的框架,使其能够动态地与外部工具进行通信。MCP 不再依赖于预定义的工具映射,允许 AI 代理根据任务上下文自主发现、选择和编排工具。它还支持人机交互机制,使用户能够根据需要注入数据或批准操作。通过统一接口,MCP 简化了 AI 应用的开发,并提高了它们处理复杂工作流程的灵活性。自发布以来,MCP 已迅速从一种利基协议发展成为 AI 原生应用开发的关键基础。一个繁荣的生态系统已经形成,数千个由社区驱动的 MCP 服务器使模型能够访问 GitHub、Slack甚至 Blender等系统。 工具如 Cursor和 Claude Desktop展示了 MCP 客户端如何通过安装新服务器,将开发工具、生产力平台和创意环境等转变为多模态 AI 代理,从而扩展其功能。
尽管 MCP 的采用速度很快,但其生态系统仍处于早期阶段,关键领域如安全、工具可发现性和远程部署缺乏全面解决方案。这些问题为进一步的研究和开发提供了未开发的机遇。尽管 MCP 在行业中被广泛认可具有潜力,但它尚未在学术研究中得到广泛分析。这一研究空白促使本文的撰写,本文首次分析了 MCP 生态系统,考察了其架构和工作流程,定义了 MCP 服务器的生命周期,并确定了每个阶段潜在的安全风险,如安装包欺骗和工具名称冲突。通过这项研究,我们对 MCP 的当前格局进行了全面探索,并提出了前瞻性的愿景,强调了关键影响,概述了未来的研究方向,并解决了确保其可持续增长必须克服的挑战。
我们的贡献如下:
(1) 我们首次分析了 MCP 生态系统,详细介绍了其架构、组件和工作流程。
(2)我们确定了 MCP 服务器的关键组件,并定义了其生命周期,包括创建、运行和更新阶段。我们还强调了每个阶段可能存在的安全风险,并提供了关于保护 AI 与工具交互的见解。
(3)我们分析了当前 MCP 生态系统格局,研究了其在各个行业和平台中的采用、多样性和用例。
(4)我们讨论了 MCP 快速采用的含义,确定了利益相关者的关键挑战,并概述了关于安全、可扩展性和治理的未来研究方向,以确保其可持续增长。
本文的其余部分结构如下:第 2 节比较了带有和不带有 MCP 的工具调用,强调了本研究动机。第 3 节概述了 MCP 的架构,详细说明了 MCP 主机、客户端和服务器的作用,以及 MCP 服务器的生命周期。第 4 节考察了当前的 MCP 格局,重点关注关键行业参与者和采用趋势。第 5 节分析了 MCP 服务器生命周期中的安全和隐私风险,并提出了缓解措施。第 6 节探讨了对增强 MCP 在动态人工智能环境中的可扩展性和安全性的影响、未来挑战和建议。第 7 节回顾了在LLM应用中工具集成和安全的先前工作。最后,第 8 节总结了全文。
2 背景和动机
2.1 AI 工具
在 MCP 引入之前,AI 应用依赖于各种方法,例如手动 API 连接、基于插件的接口和代理框架,以与外部工具交互。如图 1 所示,这些方法需要将每个外部服务与特定的 API 集成,导致复杂性增加和可扩展性受限。MCP 通过提供一个标准化的协议来解决这些挑战,该协议能够实现与多个工具的无缝和灵活交互。
2.1.1 手动 API 连接
在传统实现中,开发人员必须为 AI 应用程序交互的每个工具或服务建立手动 API 连接。这个过程需要对每个集成进行自定义认证、数据转换和错误处理。随着 API 数量的增加,维护负担变得很大,通常会导致紧密耦合且脆弱的系统,难以扩展或修改。MCP 通过提供统一的接口来消除这种复杂性,允许 AI 模型动态地连接到多个工具,而无需进行自定义 API 连接。
2.1.2 标准化插件接口
为了降低手动连接的复杂性,2023 年 11 月引入的基于插件的接口,如 OpenAI ChatGPT 插件,允许 AI 模型通过标准 API 模式(如 OpenAPI)与外部工具连接。例如,在 OpenAI 插件生态系统中,Zapier 等插件允许模型执行预定义操作,如发送电子邮件或更新 CRM 记录。然而,这些交互通常是单向的,无法维护状态或协调任务中的多个步骤。新的LLM应用商店,如字节跳动Coze和腾讯元启,是为网络服务而提供的插件商店。虽然这些平台扩展了可用的工具选项,但它们创建了孤立的生态系统,其中插件是平台特定的,限制了跨平台兼容性并需要重复的维护工作。MCP 通过开源和平台无关性脱颖而出,使 AI 应用能够与外部工具进行丰富的双向交互,促进复杂的流程。
2.1.3 AI 代理工具集成
AI 代理框架如 LangChain 和类似的工具编排框架的出现,为模型通过预定义接口调用外部工具提供了一种结构化的方式,提高了自动化和适应性。然而,这些工具的集成和维护仍然主要依赖于人工,需要定制化实现和随着工具数量的增加,复杂性不断提高。MCP 通过提供一种标准化的协议,使 AI 代理能够通过统一的界面无缝调用、交互和链式连接多个工具,从而简化了这一过程。这减少了手动配置,增强了任务灵活性,使代理能够在无需广泛定制集成的情况下执行复杂操作。
2.1.4 检索增强生成(RAG)和向量数据库
上下文信息检索方法,如 RAG,利用基于向量的搜索从数据库或知识库中检索相关知识,使模型能够补充最新的信息。虽然这种方法解决了知识截止问题并提高了模型精度,但它仅限于被动检索信息。它本身并不允许模型执行主动操作,如修改数据或触发工作流程。例如,基于 RAG 的系统可以检索产品文档数据库中的相关部分以协助客户支持 AI。然而,如果 AI 需要更新客户记录或将问题升级给人工支持,它无法采取超出提供文本响应的行动。MCP 通过使 AI 模型能够主动与外部数据源和工具交互,超越了被动信息检索,促进在统一工作流程中的检索和操作。
2.2 动机
由于其能够标准化 AI 模型与外部工具交互、获取数据和执行操作的能力,MCP 在 AI 社区中迅速获得了认可。通过解决手动 API 连接、插件接口和代理框架的局限性,MCP 有潜力重新定义 AI 与工具的交互,并使代理工作流程更加自主和智能。尽管 MCP 的采用率和潜力都很高,但它仍处于早期阶段,其生态系统仍在不断发展,尚未完善。许多关键方面,如安全性和工具可发现性,尚未得到充分解决,为未来的研究和改进留下了很大的空间。此外,尽管 MCP 在业界得到了快速采用,但在学术界仍鲜有探索。
受此差距的启发,本文首次分析了当前的 MCP 格局,考察了其新兴生态系统,并确定了潜在的安全风险。此外,我们概述了 MCP 未来发展的愿景,并强调了必须解决的关键挑战,以支持其长期成功。
3 MCP 架构
3.1 核心架构
MCP 架构由三个核心组件组成:MCP 主机、MCP 客户端和 MCP 服务器。这些组件协同工作,以实现人工智能应用、外部工具和数据源之间的无缝通信,确保操作安全且得到妥善管理。如图 2 所示,在典型的流程中,用户向 MCP 客户端发送提示,客户端分析意图,通过 MCP 服务器选择合适的工具,并调用外部 API 获取和处理所需信息,最后通知用户结果。
3.1.1 MCP 主机
MCP 主机是一个人工智能应用,它为执行基于 AI 的任务提供环境,同时运行 MCP 客户端。它集成了交互式工具和数据,以实现与外部服务的顺畅通信。例如,包括 Claude Desktop 用于 AI 辅助内容创作、Cursor,一个用于代码补全和软件开发的人工智能 IDE,以及作为执行复杂任务的自主系统运作的 AI 代理。MCP 主机托管 MCP 客户端,并确保与外部 MCP 服务器的通信。
基于人工智能的任务执行环境,同时运行 MCP 客户端。它集成了交互式工具和数据,以实现与外部服务的顺畅通信。例如,包括 Claude Desktop 用于 AI 辅助内容创作、Cursor,一个用于代码补全和软件开发的人工智能 IDE,以及作为执行复杂任务的自主系统运作的 AI 代理。MCP 主机托管 MCP 客户端,并确保与外部 MCP 服务器的通信。
3.1.2 MCP 客户端
MCP 客户端在宿主环境中充当中间件,负责管理 MCP 主机与一个或多个 MCP 服务器之间的通信。它向 MCP 服务器发起请求,查询可用功能,并检索描述服务器功能的响应。这确保了主机与外部工具之间的无缝交互。除了管理请求和响应外,MCP 客户端还处理来自 MCP 服务器的通知,提供关于任务进度和系统状态的实时更新。它还执行采样以收集关于工具使用和性能的数据,从而实现优化和明智的决策。MCP 客户端通过传输层与 MCP 服务器通信,促进安全、可靠的数据交换以及主机与外部资源之间的顺畅交互。
3.1.3 MCP 服务器
MCP 服务器使 MCP 主机和客户端能够访问外部系统并执行操作,提供三个核心功能:工具、资源和提示。
-
**工具:启用外部操作。**工具允许 MCP 服务器调用外部服务和 API,代表 AI 模型执行操作。当客户端请求操作时,MCP 服务器识别适当的工具,与服务交互,并返回结果。例如,如果 AI 模型需要实时天气数据或情感分析,MCP 服务器连接到相关 API,检索数据,并将其交付给主机。与传统函数调用不同,传统函数调用需要多个步骤,将调用与执行分离,MCP 服务器的工具通过允许模型根据上下文自主选择和调用适当的工具,简化了此过程。一旦配置,这些工具遵循标准化的供应-消费模型,使它们模块化、可重用,并易于其他应用程序访问,从而提高系统效率和灵活性。
-
**资源:**向 AI 模型暴露数据。资源提供对结构化和非结构化数据集的访问,这些数据集可以由 MCP 服务器暴露给 AI 模型。这些数据集可能来自本地存储、数据库或云平台。当 AI 模型请求特定数据时,MCP 服务器检索并处理相关信息,使模型能够做出数据驱动的决策。例如,推荐系统可以访问客户交互日志,或者文档摘要任务可以查询文本库。
-
**提示:**用于工作流程优化的可重用模板。提示是 MCP 服务器生成和维护的预定义模板和工作流程,用于优化 AI 响应和简化重复性任务。它们确保响应的一致性并提高任务执行效率。例如,客户支持聊天机器人可以使用提示模板提供统一的准确响应,而标注任务可能依赖于预定义的提示以保持数据标注的一致性。
3.2 传输层与通信
传输层确保安全的双向通信,允许主机环境和外部系统之间进行实时交互和高效的数据交换。传输层负责管理客户端的初始请求传输、服务器响应的交付,以及通知的交换,这些通知使客户端能够了解正在进行的更新。MCP 客户端与 MCP 服务器之间的通信遵循一个结构化过程,始于客户端向服务器查询功能的初始请求。收到请求后,服务器会以初始响应回复,列出可用的工具、资源和提示,客户端可以利用这些工具、资源和提示。一旦建立连接,系统就会持续交换通知,以确保服务器状态或更新的变化能够实时传达给客户端。这种结构化通信确保了高性能的交互,并使 AI 模型与外部资源保持同步,从而提高了 AI 应用的有效性。
3.3 MCP 服务器生命周期
如图 3 所示,MCP 服务器生命周期包括三个关键阶段:创建、运行和更新。每个阶段都定义了确保 MCP 服务器安全高效运行的关键活动,使 AI 模型与外部工具、资源和提示之间的交互无缝。
3.3.1 MCP 服务器组件
MCP 服务器负责管理外部工具、数据源和工作流程,为 AI 模型提供执行任务所需的资源,以确保高效和安全地执行。它包含多个关键组件,确保平稳有效的运行。元数据包括有关服务器的基本信息,如名称、版本和描述,使客户端能够识别和与适当的服务器交互。配置涉及源代码、配置文件和清单,定义了服务器的操作参数、环境设置和安全策略。工具列表存储了可用的工具目录,详细说明了其功能、输入输出格式和访问权限,确保适当的工具管理和安全。资源列表管理对外部数据源(包括 Web API、数据库和本地文件)的访问,指定允许的端点和它们相关的权限。最后,提示和模板包括预配置的任务模板和工作流程,这些模板和工作流程可以增强 AI 模型执行复杂操作的高效性。这些组件共同使得 MCP 服务器能够为 AI 应用程序提供无缝的工具集成、数据检索和任务编排。
3.3.2 创建阶段
创建阶段是 MCP 服务器生命周期的初始阶段,其中服务器进行注册、配置并准备运行。此阶段包括三个关键步骤。服务器注册为 MCP 服务器分配一个唯一的名称和标识,使客户端能够发现并连接到适当的服务器实例。安装部署涉及安装 MCP 服务器及其相关组件,确保正确的配置文件、源代码和清单就绪。代码完整性验证验证服务器代码库的完整性,以防止在服务器运行之前进行未经授权的修改或篡改。创建阶段的成功完成确保 MCP 服务器准备好处理请求并安全地与外部工具和数据源交互。
3.3.3 运行阶段
运行阶段是 MCP 服务器主动处理请求、执行工具调用并促进人工智能应用与外部资源之间无缝交互的阶段。工具执行允许 MCP 服务器根据人工智能应用的请求调用适当的工具,确保所选工具执行其预期操作。斜杠(/)命令处理使服务器能够解释和执行多个命令,包括通过用户界面或人工智能代理发出的命令,同时管理潜在命令重叠以防止冲突。沙盒机制执行确保执行环境是隔离和安全的,防止未经授权的访问并减轻潜在风险。在整个运行阶段,MCP 服务器保持稳定和受控的环境,以实现可靠和安全的任务执行。
3.3.4 更新阶段
更新阶段确保 MCP 服务器保持安全、最新,并能够适应不断变化的需求。此阶段包括三个关键任务。授权管理验证更新后访问权限的有效性,防止更新后未经授权使用服务器资源。版本控制保持不同服务器版本之间的一致性,确保新更新不会引入漏洞或冲突。旧版本管理停用或删除过时版本,以防止攻击者利用已知漏洞。
理解 MCP 服务器生命周期对于识别潜在漏洞和设计有效的安全措施至关重要。每个阶段都会带来独特的挑战,必须仔细解决,以保持 MCP 服务器在动态 AI 环境中的安全性、效率和适应性。
4 当前格局
4.1 生态系统概述
4.1.1 主要采用者
表 1 展示了 MCP 如何在各个领域获得显著影响力,标志着其在实现无缝 AI 到工具交互中的日益重要性。值得注意的是,领先的 AI 公司如 Anthropic 和 OpenAI 已将 MCP 集成以增强代理能力并改进多步骤任务执行。这些行业先驱的采用树立了先例,鼓励其他主要参与者效仿。中国科技巨头如百度也已将 MCP 纳入其生态系统,突显了该协议在全球市场上标准化 AI 工作流程的潜力。包括 Replit在内的开发工具和 IDE 也采用了 MCP。
微软 Copilot Studio、JetBrains和Theia IDE利用 MCP 促进代理工作流程并简化跨平台操作。这一趋势表明,将 MCP 嵌入开发环境以增强生产力和减少手动集成努力的转变。此外,像 Cloudflare这样的云平台以及像 Block(Square)和 Stripe这样的金融服务提供商正在探索 MCP,以改善多租户环境中的安全性、可扩展性和治理。这些行业领导者对 MCP 的广泛应用不仅突出了其日益增长的相关性,也指出了其在 AI 驱动生态系统中的潜在基础层作用。随着越来越多的公司将 MCP 整合到其运营中,该协议注定将在塑造 AI 工具集成未来方面发挥核心作用。展望未来,MCP 有望成为 AI 驱动工作流程的关键推动者,推动跨行业更安全、可扩展和高效的 AI 生态系统。
4.1.2 社区驱动的 MCP 服务器
Anthropic 尚未发布官方的 MCP 市场,但充满活力的 MCP 社区已经介入,通过创建众多独立的服务器集合和平台来填补这一空白。如表 2 所示,MCP.so、Glama 和 PulseMCP 等平台托管了数千个服务器,使用户能够发现和集成各种工具和服务。这些社区驱动的平台通过提供可访问的存储库,使开发者能够发布、管理和共享他们的 MCP 服务器,从而显著加速了 MCP 的采用。基于桌面的解决方案如 Dockmaster 和 Toolbase 进一步增强了本地 MCP 部署能力,使开发者能够在隔离环境中管理和实验服务器。社区驱动的 MCP 服务器生态系统的兴起反映了人们对 MCP 日益增长的热情,并突出了正式市场需求的必要性。
4.1.3 SDKs 和工具
随着社区驱动的工具和官方 SDK 的持续增长,MCP 生态系统正变得越来越易于访问,使开发者能够高效地将 MCP 集成到各种应用程序和工作流程中。官方 SDK 支持多种语言,包括 TypeScript、Python、Java、Kotlin 和 C#,为开发者提供了在不同环境中实现 MCP 的多种选择。除了官方 SDK 之外,社区还贡献了众多框架和实用工具,简化了 MCP 服务器的开发。工具EasyMCP 和 FastMCP 提供了基于 TypeScript 的轻量级解决方案,可以快速构建 MCP 服务器,而 FastAPI 到 MCP 自动生成器则实现了将 FastAPI 端点无缝暴露为 MCP 工具。对于更复杂的场景,Foxy Contexts 提供了一个基于 Golang 的库来构建 MCP 服务器,而 Higress MCP 服务器托管扩展了基于 Envoy 的 API 网关,以托管带有 wasm 插件的 MCP 服务器。Mintlify、Speakeasy 和 Stainless 等服务器生成和管理平台通过自动化 MCP 服务器生成、提供精选 MCP 服务器列表以及实现快速部署(最小化人工干预)进一步增强了生态系统。这些平台使组织能够快速创建和管理安全且文档齐全的 MCP 服务器。
4.2 用例
MCP 已成为 AI 应用与外部工具、API 和系统有效通信的关键工具。通过标准化交互,MCP 简化了复杂的流程,提高了 AI 驱动应用的效率。以下,我们将探讨三个成功集成 MCP 的关键平台(即 OpenAI、Cursor 和 Cloudflare),并突出它们的独特用例。
4.2.1 OpenAI:在 AI 代理和 SDK 中集成 MCP
OpenAI 已采用 MCP 以标准化 AI 到工具的通信,认识到其增强与外部工具集成潜力的价值。最近,OpenAI 在其 Agent SDK 中引入了对 MCP 的支持,使开发者能够创建能够无缝与外部工具交互的 AI 代理。在典型的流程中,开发者使用 Agent SDK 来定义需要调用外部工具的任务。当 AI 代理遇到如从 API 检索数据或查询数据库等任务时,SDK 将通过 MCP 服务器路由请求。请求通过 MCP 协议传输,确保对代理的正确格式化和实时响应交付。OpenAI 计划将 MCP 集成到 Responses API 中,将简化 AI 到工具的通信,使 ChatGPT 等 AI 模型能够动态地与工具交互,而无需额外配置。此外,OpenAI 还旨在将 MCP 支持扩展到 ChatGPT 桌面应用程序,使 AI 助手能够通过连接到远程 MCP 服务器来处理各种用户任务,进一步缩小 AI 模型和外部系统之间的差距。
4.2.2 Cursor:利用 MCP 增强软件开发,通过启用 AI 驱动的代码助手来自动化复杂任务。
借助 MCP,Cursor 允许 AI 代理与外部 API 交互,访问代码库,并在集成开发环境中直接自动化工作流程。当开发者在 IDE 中发出命令时,AI 代理评估是否需要外部工具。如果需要,代理会向 MCP 服务器发送请求,服务器识别适当的工具并处理任务,例如运行 API 测试、修改文件或分析代码。然后将结果返回给代理以进行进一步操作。这种集成有助于自动化重复性任务,减少错误并提高整体开发效率。通过简化复杂流程,Cursor 提高了生产力和准确性,使开发者能够轻松执行多步操作。
4.2.3 Cloudflare:远程 MCP 服务器托管和可扩展性。
Cloudflare 通过引入远程 MCP 服务器托管,在将 MCP 从本地部署模式转变为云托管架构方面发挥了关键作用。这种方法消除了与本地配置 MCP 服务器相关的复杂性,使客户端能够无缝连接到安全的云托管 MCP 服务器。工作流程从Cloudflare 在安全的云环境中托管 MCP 服务器开始,这些服务器可以通过认证的 API 调用访问。AI 代理使用基于 OAuth 的认证向Cloudflare MCP 服务器发起请求,**确保只有授权实体可以访问服务器。**一旦认证通过,代理将通过 MCP 服务器动态调用外部工具和 API,执行数据检索、文档处理或 API 集成等任务。这种方法不仅降低了误配置的风险,还确保了 AI 驱动的工作流程在分布式环境中的无缝执行。此外,Cloudflare 的多租户架构允许多个用户安全地访问和管理他们自己的 MCP 实例,确保隔离并防止数据泄露。 Cloudflare 的解决方案通过启用企业级可扩展性和安全的多设备互操作性,从而扩展了 MCP 的功能。
OpenAI、Cursor 和 Cloudflare 等平台采用 MCP,突显了其灵活性和在 AI 驱动工作流程中日益增长的作用,提高了开发工具、企业应用和云服务在效率、适应性和可扩展性方面的表现。
5 安全与隐私分析
作为开放和可扩展的平台,MCP 服务器在其生命周期中引入了各种安全风险。在本节中,我们分析了在不同阶段(创建、运营和更新)的安全威胁。MCP 服务器生命周期的每个阶段都面临着独特的挑战,如果不妥善缓解,可能会损害系统完整性、数据安全和用户隐私。
MCP 服务器的创建阶段包括注册服务器、部署安装程序和验证代码完整性。此阶段引入了三个关键风险:名称冲突、安装程序欺骗和代码注入/后门。
5.1 创建阶段的安全风险
5.1.1 名称冲突
当恶意实体注册一个与合法服务器名称相同或具有欺骗性相似性的 MCP 服务器时,就会发生服务器名称冲突,这会在安装阶段欺骗用户。由于 MCP 客户端在选择服务器时主要依赖服务器名称和描述,因此它们容易受到此类仿冒攻击。一旦安装了受损害的服务器,它可能会误导 AI 代理和客户端调用恶意服务器,可能暴露敏感数据、执行未经授权的命令或破坏工作流程。例如,攻击者可以注册一个名为 mcp-github 的服务器,模仿合法的 github-mcp 服务器,使他们能够拦截和操纵 AI 代理与受信任服务之间的敏感交互。尽管 MCP 目前主要在本地环境中运行,但未来在多租户环境中的采用引入了额外的名称冲突风险。在这些场景中,多个组织或用户可能会注册具有相似名称的服务器,缺乏集中式命名控制可能会增加混淆和仿冒攻击的可能性。
随着 MCP 市场的发展,以支持公共服务器列表,供应链攻击可能成为一个关键问题,恶意服务器可以替换合法服务器。为了减轻这些风险,未来的研究可以集中在建立严格的命名空间策略,实施加密服务器验证,以及设计基于声誉的信任系统来确保 MCP 服务器注册的安全。
5.1.2 安装器(installer)欺骗
安装器欺骗发生在攻击者分发修改过的 MCP 服务器安装器,在安装过程中引入恶意代码或后门。每个 MCP 服务器都需要一个独特的配置,用户必须在本地环境中手动设置,客户端才能调用服务器。这个手动配置过程为技术不高的用户设置了障碍,促使非官方的自动安装器出现,这些安装器自动化了设置过程。如表 3 所示,Smithery-CLI、mcp-get 和 mcp-installer 等工具简化了安装过程,使用户能够快速配置 MCP 服务器,无需处理复杂的服务器设置。
然而,尽管这些自动安装程序提高了可用性,但它们也可能通过分发受损害的软件包引入新的攻击面。由于这些非官方安装程序通常来自未经验证的存储库或社区驱动的平台,它们可能会无意中让用户面临安全风险,例如安装篡改的服务器或配置不当的环境。攻击者可以通过嵌入允许未经授权访问、修改系统配置或创建持久后门的恶意软件来利用这些自动安装程序。此外,大多数选择一键安装的用户很少会审查底层代码以查找潜在的安全漏洞,这使得攻击者更容易在不被发现的情况下分发受损害的版本。解决这些挑战需要为 MCP 服务器开发标准化的、安全的安装框架,执行软件包完整性检查,并建立基于声誉的信任机制,以评估 MCP 生态系统中自动安装程序的信誉。
5.1.3 代码注入/后门
代码注入攻击发生在恶意代码在 MCP 服务器代码库创建阶段秘密嵌入时,通常绕过传统的安全检查。它针对服务器的源代码或配置文件,嵌入隐藏的后门,即使在更新或安全补丁后也能持续存在。这些后门允许攻击者静默地维持对服务器的控制,实现如未经授权的数据泄露、权限提升或命令操纵等操作。代码注入尤其狡猾,因为它可能由受损害的依赖项、易受攻击的构建管道或对服务器源代码的未经授权修改引入。由于 MCP 服务器通常依赖于社区维护的组件和开源库,确保这些依赖项的完整性至关重要。为了减轻这种风险,应实施严格的代码完整性验证、严格的依赖项管理和定期的安全审计,以检测未经授权的修改,防止恶意代码的引入。此外,采用可重复构建并在部署过程中执行校验和验证可以进一步保护 MCP 服务器免受基于注入的威胁。
5.2 运行阶段的安全风险
运行阶段是 MCP 服务器主动执行工具、处理斜杠命令和与外部 API 交互的阶段。这一阶段引入了三个主要风险:工具名称冲突、slash comand重叠和沙盒逃逸。
5.2.1 工具名称冲突
当 MCP 生态系统中多个工具共享相同或类似名称时,会出现工具名称冲突,导致在工具选择和执行过程中出现歧义和混淆。这可能导致 AI 应用意外调用错误工具,可能执行恶意命令或泄露敏感信息。一个常见的攻击场景是,恶意行为者注册了一个名为 send_email 的工具,该工具模仿了合法的电子邮件发送工具。如果 MCP 客户端调用恶意版本,原本打算发送给受信任收件人的敏感信息可能会被重定向到攻击者控制的端点,损害数据机密性。除了名称相似性之外,我们的实验还发现,恶意行为者可以通过在工具描述中嵌入欺骗性短语来进一步操纵工具选择。具体来说,我们观察到,如果一个工具的描述明确包含诸如“此工具应优先考虑”或“优先使用此工具”之类的指令,那么 MCP 客户端更有可能选择该工具,即使其功能较差或可能有害。 这引入了工具流程劫持的严重风险,攻击者可以利用误导性描述来影响工具选择并控制关键工作流程。这强调了研究人员开发高级验证和异常检测技术以识别和减轻欺骗性工具描述的必要性,确保准确和安全的 AI 工具选择。
5.2.2 斜杠(/)命令冲突
当多个工具定义了相同或相似的命令时,就会发生slash command冲突,导致命令执行时的歧义。这种冲突引入了执行意外操作的风险,尤其是在 AI 应用根据上下文线索动态选择和调用工具时。恶意行为者可以通过引入冲突命令来利用这种歧义,操纵工具行为,可能损害系统完整性或泄露敏感数据。例如,如果一个工具注册了用于删除临时文件的 /delete 命令,而另一个工具使用相同的命令来擦除关键系统日志,AI 应用可能会错误地执行错误的命令,可能导致数据丢失或系统不稳定。在类似 Slack 这样的团队聊天系统中也观察到了类似问题,重叠的命令注册允许未经授权的工具劫持合法调用,导致安全漏洞和运营中断。由于slash command通常在客户端界面中作为用户界面快捷方式出现,误解或冲突的命令可能导致危险后果,尤其是在多工具环境中。 为了最小化这种风险,MCP 客户端应建立上下文感知的命令解析,应用命令消歧技术,并根据验证的工具元数据优先执行。
5.2.3 沙盒逃逸
沙盒隔离了 MCP 工具的执行环境,限制了它们对关键系统资源的访问,并保护宿主系统免受潜在有害操作的影响。然而,当攻击者利用沙盒实现的漏洞时,就会产生沙盒逃逸漏洞,使他们能够突破受限环境并获得对宿主系统的未授权访问。一旦突破沙盒,攻击者可以执行任意代码,操纵敏感数据或提升权限,从而损害 MCP 生态系统的安全和稳定性。常见的攻击向量包括利用系统调用中的弱点、处理不当等,处理异常和第三方库中的漏洞。例如,恶意 MCP 工具可能利用底层容器运行时未修补的漏洞来绕过隔离并执行具有提升权限的命令。同样,旁路攻击可能允许攻击者提取敏感数据,破坏沙盒预期的隔离。检查 MCP 环境中的现实世界沙盒逃逸场景可以为加强沙盒安全以及防止未来利用提供宝贵见解。
更新阶段涉及管理服务器版本、修改配置和调整访问控制。此阶段引入三个关键风险:更新后的权限持久性、易受攻击版本的重新部署和配置漂移。
5.3.1 更新后权限持续
更新后权限持续发生在 MCP 服务器更新后,过时或已撤销的权限仍然活跃,允许先前授权的用户或恶意行为者保留提升的权限。这种漏洞出现在权限修改,如 API 密钥撤销或权限更改,在服务器更新后未能正确同步或失效时。如果这些过时权限持续存在,攻击者可能利用它们来维持对敏感资源的未经授权的访问或执行恶意操作。例如,在 GitHub 或 AWS 等 API 驱动环境中,观察到在权限撤销后过时的 OAuth 令牌或 IAM 会话令牌仍然有效的情况。同样,在 MCP 生态系统中,如果撤销的 API 密钥或修改后的角色配置在更新后未能及时失效,攻击者可以继续调用特权操作,可能危害系统的完整性。 严格执行严格的权限撤销策略,确保权限更改在所有服务器实例中一致传播,以及实施 API 密钥和会话令牌的自动过期,对于降低权限持续存在的可能性至关重要。对权限修改的全面日志记录和审计进一步增强了可见性,并有助于检测可能表明权限持续存在的偏差。
5.3.2 有漏洞版本的重部署
MCP 服务器作为开源项目,由个人开发者或社区贡献者维护,缺乏一个集中的平台来审计和执行安全更新。用户通常从 GitHub、npm 或 PyPi 等存储库下载 MCP 服务器包并在本地进行配置,通常没有正式的审查流程。这种去中心化的模式增加了重新部署有漏洞版本的风险,这可能是由于更新延迟、版本回滚或依赖于未经验证的包源。当用户更新 MCP 服务器时,他们可能无意中回滚到较旧、有漏洞的版本以解决兼容性问题或保持稳定性。此外,非官方的自动安装程序,如 mcp-get 和 mcp-installer,这些程序简化了服务器安装过程,可能会默认使用缓存或过时的版本,使系统面临之前已修复的漏洞。由于这些工具通常优先考虑易用性而非安全性,它们可能缺乏版本验证或未能通知用户关于关键更新的信息。 由于 MCP 生态系统中的安全补丁依赖于社区驱动的维护,因此漏洞披露与补丁可用之间的延迟是常见的。那些没有积极跟踪更新或安全警告的用户可能会不知不觉地继续使用易受攻击的版本,为攻击者利用已知漏洞提供了机会。例如,攻击者可能利用过时的 MCP 服务器来获取未经授权的访问或操纵服务器操作。从研究角度来看,分析 MCP 环境中的版本管理实践可以识别潜在差距,并强调自动漏洞检测和缓解的必要性。另一方面,建立官方包管理系统,为 MCP 服务器提供一个标准化的打包格式,以及一个集中式的服务器注册表,以促进安全发现和验证可用的 MCP 服务器,也是一个迫切需要解决的问题。
5.3.3 配置漂移
配置漂移发生在系统配置随着时间的推移积累意外变化,偏离原始安全基线的情况下。这些偏差通常是由于手动调整、被忽视的更新或不同工具或用户做出的冲突性修改引起的。在 MCP 环境中,服务器通常由最终用户本地配置和维护,这种不一致性可能会引入可利用的漏洞并损害整体安全态势。随着远程 MCP 服务器支持的兴起,例如 Cloudflare 托管 MCP 环境,配置漂移成为一个更加紧迫的问题。与本地 MCP 部署不同,配置问题可能仅影响单个用户的环境,远程或基于云的 MCP 服务器中的配置漂移可以同时影响多个用户或组织。多租户环境中的配置错误可能会暴露敏感数据,导致权限提升或意外授予恶意行为者比预期更广泛的访问权限。 解决此问题需要实施自动化的配置验证机制和定期的一致性检查,以确保本地和远程 MCP 环境都遵循安全基线配置。
6 讨论
6.1 影响
MCP 的快速采用正在改变 AI 应用生态系统,带来了新的机遇和挑战,这对开发者、用户、MCP 生态系统维护者以及更广泛的 AI 社区具有重大影响。对于开发者来说,MCP 简化了外部工具的集成,使他们能够创建更灵活、功能更强大的 AI 代理,能够执行复杂的多步骤任务。通过提供调用工具的标准接口,MCP 将重点从管理复杂的集成转移到增强代理逻辑和功能。然而,这种提高的效率也带来了确保 MCP 实现安全、版本控制和遵循最佳实践的职责。开发者必须保持警惕,维护安全的工具配置,防止可能暴露系统漏洞的潜在误配置。
**对于用户来说,**MCP 通过实现 AI 代理与外部工具之间的无缝交互,自动化跨平台工作流程(如企业数据管理和物联网集成),从而提升了用户体验。它减少了手动操作的需求,并提高了处理复杂任务的高效性。然而,随着 MCP 服务器对敏感数据和关键操作的访问深度增加,用户必须对未经验证的工具和配置不当的服务器带来的风险保持警惕。粗心安装或不可信来源可能导致数据泄露、未经授权的操作或系统不稳定。
**对于 MCP 生态系统维护者来说,**MCP 服务器开发和分发的去中心化特性引入了碎片化的安全格局。MCP 服务器通常托管在开源平台上,那里的更新和补丁由社区驱动,质量和频率可能参差不齐。没有集中监管,服务器配置的不一致和过时版本可能会引入潜在漏洞。随着 MCP 生态系统发展到支持远程托管和多租户环境,维护者必须密切关注与配置漂移、权限持续和脆弱版本重新部署相关的潜在风险。
对于更广泛的 AI 社区,MCP 通过跨系统协调、动态工具调用和协作多智能体系统,增强了代理工作流程,从而开启了新的可能性。MCP 在标准化智能体和工具之间交互的能力,有可能加速 AI 在各个行业的采用,推动医疗保健、金融和企业自动化等领域的创新。然而,随着 MCP 的采用增长,AI 社区必须解决新兴的伦理和运营问题,例如确保公平无偏的工具选择、保护敏感用户数据以及防止 AI 能力的潜在滥用。在平衡这些考虑因素的同时,确保 MCP 的好处得到广泛传播,同时在人工智能生态系统中保持问责制和信任至关重要。
6.2 挑战
尽管 MCP 具有潜力,但其采用也带来了一系列需要解决的挑战,以确保其可持续增长和负责任的发展:
**缺乏集中的安全监管。**由于 MCP 服务器由独立开发者和贡献者管理,没有集中的平台来审计、执行或验证安全标准。这种去中心化的模式增加了安全实践不一致的可能性,使得确保所有 MCP 服务器遵守安全开发原则变得困难。此外,缺乏统一的服务器包管理系统也使得 MCP 服务器的安装和维护过程复杂化,增加了部署过时或配置错误的版本的可能性。不同 MCP 客户端使用非官方安装工具进一步引入了服务器部署的变异性,使得维护一致的安全标准更加困难。
**认证和授权差距。**MCP 目前缺乏一个标准化的框架来管理不同客户端和服务器之间的认证和授权。没有统一的机制来验证身份和规范访问,就难以实施细粒度的权限,尤其是在多租户环境中,多个用户和代理可能交互同一个 MCP 服务器。缺乏强大的认证协议增加了未经授权调用工具的风险,并将敏感数据暴露给恶意行为者。此外,不同 MCP 客户端处理用户凭证的方式不一致,进一步加剧了这些安全挑战,使得在部署中维护一致的访问控制策略变得困难。
**调试和监控机制不足。**MCP 缺乏全面的调试和监控机制,使得开发者难以诊断错误、追踪工具交互以及评估工具调用期间的系统行为。由于 MCP 客户端和服务器独立运行,错误处理和日志记录的不一致性可能会掩盖关键安全事件或操作故障。没有强大的监控框架和标准化的日志记录机制,识别异常、防止系统故障和减轻潜在的安全事件变得困难,阻碍了更具弹性的 MCP 生态系统的开发。
**维护多步骤、跨系统工作流的一致性。**MCP 允许 AI 代理通过统一的界面调用不同系统中的多个工具来执行多步骤工作流。由于这些系统的分布式特性,确保在连续的工具交互中保持一致上下文是固有的困难。如果没有有效的状态管理和错误恢复机制,MCP 可能会传播错误或丢失中间结果,导致工作流不完整或不一致。此外,跨不同平台的动态协调可能会引入延迟和冲突,进一步复杂化 MCP 环境中工作流的顺畅执行。
多租户环境中的可扩展性挑战。随着 MCP 发展到支持远程服务器托管和多租户环境,保持一致的性能、安全性和租户隔离变得越来越复杂。如果没有强大的资源管理和特定于租户的配置策略机制,配置错误可能导致数据泄露、性能问题和权限提升。确保可扩展性和隔离对于 MCP 在企业部署中的可靠性至关重要。
将 MCP 嵌入智能环境的挑战。将 MCP 集成到智能环境中,如智能家庭、工业物联网系统或企业自动化平台等环境中的 MCP 服务器必须处理来自多个传感器和设备的连续数据流,同时保持低延迟响应。此外,确保人工智能与这些环境之间的无缝交互,代理和异构设备生态系统通常需要定制适配,增加了开发复杂性。智能环境中的 MCP 服务器被入侵可能导致对关键系统的未经授权控制,威胁到安全和数据完整性。
6.3 向利益相关者的建议
为了保障 MCP 的长期成功和安全,所有利益相关者,包括 MCP 维护者、开发者、研究人员和最终用户,应实施最佳实践并积极应对生态系统中不断演变的问题。
**针对 MCP 维护者的建议。**MCP 维护者在建立安全标准、改进版本控制和确保生态系统稳定性方面发挥着关键作用。为了降低安全漏洞的风险,维护者应建立一个正式的包管理系统,强制执行严格的版本控制,并确保仅向用户分发经过验证的更新。此外,引入集中式服务器注册表将使用户能够更安全地发现和验证 MCP 服务器,降低与恶意或配置错误的服务器交互的风险。为了进一步增强安全性,维护者应推广采用加密签名来验证 MCP 包,并鼓励定期进行安全审计以识别和缓解漏洞。此外,实施安全的沙箱框架可以帮助防止权限提升并保护宿主环境免受恶意工具执行的侵害。
开发者建议。将 MCP 集成到 AI 应用中的开发者应通过遵循安全编码实践和保持详尽的文档来优先考虑安全和弹性。执行版本管理策略可以防止回滚到易受攻击的版本,而彻底的测试确保在部署前可靠的 MCP 集成。为了减轻配置漂移,开发者应自动化配置管理并采用基础设施即代码(IaC)实践。此外,实施强大的工具名称验证和消歧技术可以防止导致意外行为的冲突。利用运行时监控和日志记录有助于跟踪工具调用、检测异常和有效缓解威胁。
研究人员建议。鉴于 MCP 服务器部署的去中心化性质和不断演变的威胁格局,研究人员应专注于进行系统性的安全分析,以揭示工具调用、沙箱实现和权限管理中的潜在漏洞。探索增强沙箱安全、减轻权限持久性和防止配置漂移的技术可以显著增强 MCP 的安全态势。此外,研究人员应调查在去中心化生态系统中更有效的版本控制和包管理方法,以降低重新部署易受攻击版本的可能性。研究人员可以通过开发自动漏洞检测方法和提出安全更新管道,帮助 MCP 维护者和开发者保持对新兴威胁的领先。另一个关键的研究领域是在多工具环境中探索上下文感知代理编排。随着 MCP 越来越多地支持多步骤、跨系统工作流程,确保状态一致性和防止工具调用冲突变得至关重要。 研究人员可以探索动态状态管理、错误恢复和工作流程验证等技术,以确保在复杂环境中实现无缝运行。
针对终端用户的建议。终端用户应保持警惕,关注安全风险,并采取保护其环境的措施。他们应优先使用经过验证的 MCP 服务器,避免使用可能引入漏洞的非官方安装程序。定期更新 MCP 服务器和监控配置更改可以防止误配置并降低对已知漏洞的暴露。正确配置访问控制策略有助于防止权限提升和未授权工具的使用。对于依赖远程 MCP 服务器的用户,选择遵循严格安全标准的提供商可以在多租户环境中降低风险。提高用户意识并鼓励最佳实践将增强整体安全和弹性。
7 相关工作
7.1 工具集成在LLM应用中
为LLMs配备外部工具已成为增强其在现实任务中能力的关键范式。这种方法使LLMs能够超越静态知识的限制,与外部系统进行动态交互。最近的研究提出了支持此类集成的框架,重点关注工具表示、选择、调用和推理。Shen 等人提供了一个全面的调查,概述了一个标准的LLM-工具集成范式,确定了用户意图理解、工具选择和执行计划中的关键挑战。在此基础上,AutoTools引入了一个自动框架,将原始工具文档转换为可执行函数,减少了对手动工程的依赖。EasyTool进一步简化了此过程,通过提炼多样化和冗长的工具文档为简洁和统一的说明,提高了工具的可用性和效率。从评估的角度来看,已经出现了几个基准。 ToolSandbox强调具有隐式依赖的状态性和交互式工具使用,而UltraTool则专注于涉及规划、创建和执行的复杂多步骤任务。这些努力揭示了显著的性能差距,并激励了对LLM-agent 能力的更好评估。为了提高代理决策和提示质量,AvaTaR提出了对比推理技术,而 Toolken+则引入了重新排序和拒绝机制以实现更精确的工具使用。此外,一些工作不仅将LLMs视为工具用户,还视为工具创建者——ToolMaker将代码库自动转换为可调用的工具,朝着完全自动化的代理迈进。为了统一这一不断扩大的领域,Li提出了一种分类法,将工具使用与规划和反馈学习并列,作为三个核心代理范例。
随着工具增强型LLMs的不断发展,缺乏一个标准化、安全且可扩展的上下文协议已成为一个关键瓶颈。MCP 凭借其统一不同系统工具交互的潜力,有望成为下一代LLM应用的基础层,因此考察其格局、局限性和风险至关重要。
7.2 LLM-工具交互中的安全风险
工具使用能力集成到LLM代理中显著扩展了其功能,但也引入了新的和更严重的安全风险。Fu 等人表明,混淆的对抗性提示可能导致LLM代理滥用工具,从而实现数据泄露和未经授权的命令执行等攻击。这些漏洞尤其令人担忧,因为它们可以跨模型和模态泛化。越来越多的研究开始对这些风险进行分类和分析。Gan 等人和 Yu 等人提出了针对代理组件和阶段的威胁分类法,而 OWASP Agentic 安全倡议提供了实用的威胁建模框架。为了支持检测和缓解,Chen 等人引入了 AgentGuard,该工具可自动发现不安全的流程并生成安全约束,而 ToolFuzz则识别出源于模糊或不完整工具文档的故障。在一致性方面,Chen 等人提出了 H2A 原则,鼓励LLMs以有益、无害和自主的方式行事,并引入了 ToolAlign 数据集以指导更安全的工具使用。 Ye 等人进一步分析了工具使用管道中的安全风险,包括恶意查询、执行误导和不安全输出。Deng 等人强调了更广泛的系统性风险,如不可预测的输入、环境变化和不可信的工具端点。
这些安全威胁可以通过 MCP 的结构化设计得到缓解,但它们也可能在这种新的集成范式下持续存在,甚至演变。随着 MCP 简化了LLM应用中的工具编排,它同时引入了新的潜在攻击面,需要对其安全影响进行更深入的探究。
8 结论
本文对 MCP 生态系统进行了首次全面分析。我们考察了其架构、核心组件、运营工作流程和服务器生命周期阶段。此外,我们还探讨了其采用、多样性和用例,并在创建、运营和更新阶段识别了潜在的安全威胁。我们还强调了 MCP 采用的相关影响和风险,并为利益相关者提出了可操作的建议,以增强安全和治理。此外,我们还概述了未来研究方向,以应对新兴风险并提高 MCP 的弹性。随着 MCP 在 OpenAI 和 Cloudflare 等行业领导者中得到越来越多的认可,解决这些挑战对于其长期成功以及实现与各种外部工具和服务的安全、高效交互至关重要。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。