自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MCP:AI大模型的萬能插座

發(fā)布于 2025-4-18 06:53
瀏覽
0收藏

最近一直在做數(shù)據(jù)+AI方向的工作,前兩天無意中看到一個(gè)MCP的技術(shù),經(jīng)過詳細(xì)的學(xué)習(xí)之后,了解到這個(gè)可能不僅僅應(yīng)用在大模型,而更多是數(shù)據(jù)和模型之間的橋梁,最近就一直在考慮對(duì)于多模態(tài)數(shù)據(jù)如何才能實(shí)打?qū)嵉暮蛻?yīng)用模型結(jié)合起來的事情,MCP無疑是提供了某種思路,下面是關(guān)于MCP的一些介紹,部分內(nèi)容是參考的社區(qū)文檔。

MCP(Model Context Protocol) 是一種開放協(xié)議,它標(biāo)準(zhǔn)化了應(yīng)用向設(shè)備提供上下文的方式??梢詫?MCP 想象成 AI 應(yīng)用的 USB-C 端口。正如 USB-C 提供了一種標(biāo)準(zhǔn)化的方式將您的設(shè)備連接到各種外圍設(shè)備和配件一樣,MCP 也提供了一種標(biāo)準(zhǔn)化的方式將 AI 模型連接到不同的數(shù)據(jù)源和工具。

首先來說說為什么會(huì)有MCP,隨著AI大模型和人工智能助手的快速發(fā)展,很多企業(yè)都在往AI方向轉(zhuǎn)型,定制和自身業(yè)務(wù)相關(guān)聯(lián)的AI應(yīng)用,投入巨資在模型的推理和訓(xùn)練上,然而,即便是再厲害的大模型、即便是再?gòu)?qiáng)大的預(yù)訓(xùn)練模型,也會(huì)因?yàn)楹蜆I(yè)務(wù)數(shù)據(jù)隔離而受到限制,等于模型和數(shù)據(jù)是被困在各自的信息孤島中。

如果我們要接入企業(yè)內(nèi)部的數(shù)據(jù)源,則需要單獨(dú)來定制實(shí)現(xiàn)數(shù)據(jù)源的連接,這對(duì)于很多企業(yè)有大量不同數(shù)據(jù)源的系統(tǒng)來說,工作量非常大,二者對(duì)于整個(gè)系統(tǒng)后續(xù)都難以擴(kuò)展。

所以,MCP提供了一項(xiàng)開放標(biāo)準(zhǔn),使開發(fā)者能夠在數(shù)據(jù)源和AI驅(qū)動(dòng)的工具之間建立安全的雙向連接。MCP的架構(gòu)簡(jiǎn)單易懂,開發(fā)者可以通過MCP服務(wù)器來公開訪問,也可以構(gòu)建連接到這些服務(wù)器的AI應(yīng)用中(也就是MCP的客戶端)。

下面來看看一個(gè)關(guān)于MCP的使用示意圖:

MCP:AI大模型的萬能插座-AI.x社區(qū)

假如我們有M個(gè)不同的AI應(yīng)用(例如聊天問答、RAG知識(shí)庫(kù)等等)和N個(gè)不同的服務(wù)系統(tǒng)(內(nèi)部數(shù)據(jù)庫(kù)、聊天數(shù)據(jù)等等),那么可能需要構(gòu)建M*N個(gè)不同的API來集成,這會(huì)導(dǎo)致維護(hù)復(fù)雜度很高,以及團(tuán)隊(duì)之間的重復(fù)工作。

MCP其實(shí)就是希望將M*N的問題,轉(zhuǎn)換為M+N的問題,我們需要構(gòu)建N個(gè)MCP的Server端,然后應(yīng)用程序客戶端構(gòu)建M個(gè)MCP 客戶端,MCP是一個(gè)Client/Server的架構(gòu),有如下幾個(gè)角色說明:

  • Hosts:與用戶交互的應(yīng)用程序(例如,Claude Desktop、類似 Cursor 的 IDE、自定義代理)。
  • Clients:位于主機(jī)應(yīng)用程序中,管理與特定 MCP 服務(wù)器的連接。保持 1:1 的連接。
  • Servers:通過客戶端通過標(biāo)準(zhǔn) API 向 AI 模型公開工具、資源和提示的外部程序。

其中,MCP Server端的組件包括:

1. Tools(模型控制): 這些是可以調(diào)用來執(zhí)行特定操作的函數(shù)(工具),例如天氣 API,基本上是函數(shù)調(diào)用

2. Resources(應(yīng)用控制): 這些是可以訪問的數(shù)據(jù)源,類似于 REST API 中的 GET 端點(diǎn)。資源提供數(shù)據(jù)時(shí)無需執(zhí)行大量計(jì)算,不會(huì)產(chǎn)生任何副作用。上下文/請(qǐng)求的一部分

3. 提示(用戶控制):這些是預(yù)定義的模板,用于以最佳方式使用工具或資源。在運(yùn)行推理可以進(jìn)行選擇

MCP:AI大模型的萬能插座-AI.x社區(qū)

MCP是怎么運(yùn)行的?

MCP 采用前面描述的客戶端-服務(wù)器模型運(yùn)行。以下是簡(jiǎn)化的流程:

MCP:AI大模型的萬能插座-AI.x社區(qū)

1. Initialization(初始化): 當(dāng)主機(jī)應(yīng)用程序啟動(dòng)時(shí),它會(huì)創(chuàng)建 N 個(gè) MCP 客戶端,它們通過握手交換有關(guān)功能和協(xié)議版本的信息。

2. Discovery(發(fā)現(xiàn)): 客戶端請(qǐng)求服務(wù)器提供哪些功能(工具、資源、提示)。服務(wù)器返回列表和描述。

3. Context Provision(提供上下文): 主機(jī)應(yīng)用現(xiàn)在可以向用戶提供資源和提示,或?qū)⒐ぞ呓馕鰹榧嫒莞袷?,例?JSON 函數(shù)調(diào)用

4. Invocation(調(diào)用): 如果確定需要使用工具(例如,根據(jù)用戶請(qǐng)求“‘X’ 存儲(chǔ)庫(kù)中有哪些未解決的問題?”),主機(jī)會(huì)指示客戶端向相應(yīng)的服務(wù)器發(fā)送調(diào)用請(qǐng)求。

5. Execution(執(zhí)行): 服務(wù)器接收請(qǐng)求(例如,使用 repo 'X' 的 fetch_github_issues),執(zhí)行底層邏輯(調(diào)用 GitHub API),并獲取結(jié)果。

6. Response(響應(yīng)): 服務(wù)器將結(jié)果發(fā)送回客戶端。

7. Completion(完成): 客戶端將結(jié)果中繼到主機(jī),主機(jī)將其合并到LLM的上下文中,從而允許LLM根據(jù)最新的外部信息為用戶生成最終響應(yīng)。


MCP:AI大模型的萬能插座-AI.x社區(qū)

MCP 是一個(gè)標(biāo)準(zhǔn)框架,它定義了 AI 系統(tǒng)如何與外部工具、服務(wù)和數(shù)據(jù)源交互。MCP 無需為每個(gè)服務(wù)創(chuàng)建自定義集成,而是定義了這些服務(wù)如何互操作、請(qǐng)求如何構(gòu)建、哪些功能可用以及如何發(fā)現(xiàn)這些功能等基本概念。它使開發(fā)者能夠輕松可靠地在 AI 工具與外部數(shù)據(jù)源、應(yīng)用和其他服務(wù)之間構(gòu)建安全可靠的雙向連接。

MCP Server是 MCP 世界與外部系統(tǒng)特定功能(例如 API、數(shù)據(jù)庫(kù)、本地文件等)之間的橋梁/API。它們本質(zhì)上是根據(jù) MCP 規(guī)范暴露這些外部功能的包裝器。

只要服務(wù)器能夠通過支持的傳輸協(xié)議進(jìn)行通信,就可以使用各種語(yǔ)言(Python、TypeScript、Java、Rust 等)構(gòu)建服務(wù)器。服務(wù)器主要通過兩種方式與客戶端通信:

  • stdio(標(biāo)準(zhǔn)輸入/輸出): 當(dāng)客戶端和服務(wù)器在同一臺(tái)機(jī)器上運(yùn)行時(shí)使用。這對(duì)于本地集成(例如訪問本地文件或運(yùn)行本地腳本)來說簡(jiǎn)單有效。
  • 通過 SSE(服務(wù)器發(fā)送事件)的 HTTP: 客戶端通過 HTTP 連接到服務(wù)器。初始設(shè)置后,服務(wù)器可以使用 SSE 標(biāo)準(zhǔn)通過長(zhǎng)連接向客戶端推送消息(事件)。

MCP 解決的什么問題?

人工智能工具的實(shí)用性取決于它們能夠訪問的數(shù)據(jù)和能夠采取的行動(dòng)。

AI人工智能將來應(yīng)用到實(shí)際中場(chǎng)景中的時(shí)候,更多的特征還是取決于它們能夠訪問的數(shù)據(jù)以及針對(duì)訪問到的數(shù)據(jù)所作出的行動(dòng)。

對(duì)于通用性的能力,LLM的預(yù)訓(xùn)練數(shù)據(jù)就足夠了,但是,牽扯到讓AI了解公司內(nèi)部的業(yè)務(wù)數(shù)據(jù),例如銷售額與上季度相比變化,競(jìng)爭(zhēng)對(duì)手的營(yíng)銷策略如何根據(jù)市場(chǎng)狀況做出調(diào)整。

如果希望AI利用這些信息執(zhí)行某些操作的話,我們就需要一種方式讓它與這些應(yīng)用程序進(jìn)行交互,MCP就是這樣一種程序,通過提供標(biāo)準(zhǔn)化的方式來發(fā)現(xiàn)和調(diào)用外部系統(tǒng)中的操作,簡(jiǎn)化了這一過程。它彌合了理解與執(zhí)行之間的差距,因此 AI 不僅僅是提供洞察,還能積極地完成任務(wù)。

以前,這意味著你需要為每個(gè)想要獲取洞察或采取行動(dòng)的應(yīng)用構(gòu)建自定義集成。而 MCP 則為 AI 工具如何與任何數(shù)據(jù)源交互提供了標(biāo)準(zhǔn)化解決方案。任何支持 MCP 的應(yīng)用都能夠提供一套結(jié)構(gòu)化的工具或操作,供 AI 助手或代理使用。當(dāng)你要求 AI 執(zhí)行某項(xiàng)操作時(shí),它可以檢查可用的工具并采取適當(dāng)?shù)牟僮鳌`活性大大提升。

通過使用安全協(xié)議標(biāo)準(zhǔn)化 AI 模型與外部數(shù)據(jù)源之間的通信,MCP 使開發(fā)人員能夠更快、更輕松地與關(guān)鍵工具構(gòu)建安全集成,并且也使開發(fā)人員能夠更輕松地在不同工具之間切換。例如,兩個(gè)不同的文件存儲(chǔ)應(yīng)用應(yīng)該具有類似的 MCP 服務(wù)器實(shí)現(xiàn),而無需編寫全新的集成代碼。

MCP 和 AI Agent的區(qū)別

AI Agent是由人工智能驅(qū)動(dòng)的工具,能夠自主行動(dòng)。舉個(gè)簡(jiǎn)單的例子, ChatGPT、 DeepSeek 能夠根據(jù)我們的查詢決定執(zhí)行哪些網(wǎng)絡(luò)搜索以及訪問哪些網(wǎng)站,我們可以告訴它想要什么,但它決定如何為我們提供服務(wù)。

MCP 能夠?qū)崿F(xiàn)Agent行為。通過允許開發(fā)者將應(yīng)用程序和數(shù)據(jù)源連接到 AI 助手,他們可以構(gòu)建能夠自主決策并在其他應(yīng)用程序中采取行動(dòng)的 AI 工具。但 MCP 并非構(gòu)建 AI 代理的唯一方法,使用 MCP 也不會(huì)自動(dòng)將任何 AI 驅(qū)動(dòng)的工具變成 AI  Agent。它只是將 AI 連接到另一個(gè)工具的一種方式。

MCP 主要面向構(gòu)建自定義集成和 AI 應(yīng)用程序的開發(fā)者,尤其適合擁有技術(shù)資源、需要在自己的應(yīng)用程序或工作流程中構(gòu)建專用 AI 功能的團(tuán)隊(duì)。

這兩種方法在生態(tài)系統(tǒng)中都有其地位:MCP 為開發(fā)人員提供了更深層次的控制和自定義實(shí)現(xiàn)的靈活性,而無代碼工具則為沒有大量開發(fā)資源的業(yè)務(wù)用戶或團(tuán)隊(duì)提供了可訪問性和速度。

本文轉(zhuǎn)載自??DataForA??I,作者:易程Date

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦