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

王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā) 原創(chuàng)

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

Model Context Protocol(MCP)模型上下文協(xié)議是一種標(biāo)準(zhǔn)化協(xié)議,它讓大模型能夠更便捷地與外部數(shù)據(jù)、工具相連。你可以把 MCP 想象成一個通用的插頭或接口,就像 USB-C 一樣,不管是什么設(shè)備,只要插上這個接口,就能和電腦、充電器等連接起來。只不過,MCP 連接的不是物理設(shè)備,而是 AI 大模型與外部的數(shù)據(jù)源、工具等。


王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

有了 MCP,AI 大模型就能更輕松地獲取外部信息,完成更多任務(wù)。比如,通過 MCP,AI 大模型可以操作電腦讀寫文件,或者模擬瀏覽器操作等。

1、MCP 架構(gòu)設(shè)計剖析

第一、MCP 架構(gòu)設(shè)計

MCP 包含三大核心模塊:MCP Hosts、MCP Clients、MCP Servers。

王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

  • MCP Hosts:像 Claude Desktop、Cursor 這樣的應(yīng)用程序,它們通過 MCP Client 訪問數(shù)據(jù)。

  • MCP Clients:與 MCP Server 服務(wù)器保持 1:1 連接的協(xié)議客戶端。

  • MCP Servers:輕量級程序,每個 AI 程序都通過標(biāo)準(zhǔn)化的模型上下文協(xié)議公開特定功能。

第二、Java MCP 架構(gòu)設(shè)計案例

結(jié)合 AI 大模型,以一個 Java AI 應(yīng)用(比如:AI Agent 智能體)為例,Java MCP 架構(gòu)設(shè)計如下所示:



王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

可以看到 Java MCP 架構(gòu)設(shè)計的傳輸層有兩類:Stdio Transport、HTTP SSE,如下圖所示:


王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

第三、MCP 架構(gòu)設(shè)計的工作模式

MCP Server 可以以工具(Tools)的形式配置到 MCP Client 中。當(dāng)我們向 MCP Host 發(fā)送執(zhí)行指令時,MCP Host 會攜帶這些工具信息,一起發(fā)送給 AI 大模型。隨后,AI 大模型會進(jìn)行意圖識別和語義分析,并調(diào)用 MCP 來執(zhí)行具體的業(yè)務(wù)需求,處理邏輯時序圖如下圖所示:


王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

上圖大致的處理邏輯,總結(jié)如下6步:

1.讀取配置文件,運(yùn)行所有 MCP Servers,獲取可用的 Tools;

2.用戶與 LLM 對話(附帶所有 Tools 名稱描述,參數(shù)定義);

3.LLM 識別到要執(zhí)行某個Tool,返回名稱和參數(shù);

4.找到對應(yīng) MCP Server 的 Tool,調(diào)用執(zhí)行,返回結(jié)果;

5.把工具執(zhí)行結(jié)果提交給 LLM;

6.LLM 返回分析結(jié)果給用戶。

你可以把 MCP 想象成你雇來的得力助手,你只需要告訴他你的想法,他就會負(fù)責(zé)跑腿和執(zhí)行具體任務(wù),而你只需負(fù)責(zé)下達(dá)指令和驗(yàn)收最終結(jié)果。

以下使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)。

2、MCP Server 開發(fā)步驟

本節(jié)手把手教您搭建一個基于 Spring AI MCP 的 Java MCP Server,讓您能夠在各類客戶端輕松調(diào)用企業(yè)級 AI 服務(wù)。借助這一方案,您可以將業(yè)務(wù)邏輯與工具無縫融入 AI 交互流程,為用戶提供更智能、更貼合業(yè)務(wù)場景的體驗(yàn)。

第一、準(zhǔn)備環(huán)境

<dependency>    
    <groupId>org.springframework.ai</groupId>    
    <artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>

第二、業(yè)務(wù)邏輯實(shí)現(xiàn)

@Service
publicclassMeilisearchService {
    @Tool(description = "PIG ISSUE 知識庫檢索,解決用戶技術(shù)問題 ")
    public String queryQuestion(@ToolParam(description = "用戶的技術(shù)問題描述 ") String question) {
        Clientclient=newClient(newConfig()
));
        SearchResultresults= client.index("pigx-doc")
            .search(newSearchRequest(question)
                .setShowMatchesPosition(true)
                .setSort(newString[]{"lvl2:desc"})
                .setLimit(1));
        return results.getHits().stream()
            .map(hit -> "【"+hit.get("lvl0")+"】"+hit.get("text"))
            .collect(Collectors.joining("\n\n"));
    }
}

第三、服務(wù)注冊

@Configuration
    public class McpConfig {   
    @Bean    
        public ToolCallbackProvider documentTools(MeilisearchService searchService) {        
           return MethodToolCallbackProvider.builder()               
           .toolObjects(searchService)               
           .build();   
    }
}

3、MCP Client 配置

第一、MCP Clent 通用配置

{
  "mcpServers":{
    "pig-issue":{
      "isActive":true,
      "command":"java",
      "args":[
        "-Dspring.ai.mcp.server.stdio=true",
        "-jar",
        "/Users/lengleng/env/repository/io/github/pig-mesh/pig-issue-query-mcp/0.0.1-SNAPSHOT/pig-issue-query-mcp-0.0.1-SNAPSHOT.jar"
      ]
    }
}
}

第二、圖形化配置

1.Cherry 客戶端配置界面

王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

2.客戶端配置界面

王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

第三、效果展示

王炸!MCP 架構(gòu)設(shè)計深度剖析 & 使用 Spring AI + MCP 四步教你實(shí)現(xiàn) Agent 智能體開發(fā)-AI.x社區(qū)

4、MCP 架構(gòu)設(shè)計總結(jié)

總體而言,MCP 解決了 Client 和 Server 之間的數(shù)據(jù)交互問題,但在 LLM 到 Tool 的對接上仍有不足:不同模型對 Function Call 的支持程度參差不齊,例如 DeepSeek R1 就不支持,這就導(dǎo)致了工具路由的問題。

第一、不足之處

1.開源時間較短:目前還不夠完善,語言支持有限,示例代碼也不夠豐富。

2.MCP Server 質(zhì)量參差不齊:缺乏統(tǒng)一的質(zhì)量保障體系和包管理工具,許多 MCP Server 無法正常運(yùn)行,或者頻繁崩潰。

3.本地 MCP Server 依賴特定環(huán)境:本地 MCP Server 仍依賴 Node.js 或 Python 環(huán)境,而遠(yuǎn)程 MCP Server 的支持較少。

第二、未來展望

如果未來更多 AI 應(yīng)用開始接入 MCP 協(xié)議,生態(tài)逐漸完善,其能力將非常強(qiáng)大。隨著使用人數(shù)的增加,會有更多 AI 應(yīng)用愿意對接,真正實(shí)現(xiàn)一套代碼在所有地方運(yùn)行。

個人認(rèn)為,MCP 仍有很大的發(fā)展?jié)摿Γ磥砜善冢?/p>


本文轉(zhuǎn)載自公眾號玄姐聊AGI  作者:玄姐

原文鏈接:??https://mp.weixin.qq.com/s/M-33bqd5i_bpsSaQdiyglQ??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
已于2025-4-7 06:32:32修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦