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

MCP 和 Function Calling:概念

人工智能
Function Calling 是特定大模型(如 OpenAI 的 GPT-4、Qwen2 等)提供的一種機制,使模型能夠主動生成結(jié)構(gòu)化輸出,以調(diào)用外部系統(tǒng)中預(yù)定義的函數(shù)或 API。

隨著人工智能的快速發(fā)展,大型語言模型(LLMs)逐漸深入到我們生活與工作的各個方面。然而,盡管模型強大,但其能力仍存在局限性,比如在實時信息獲取和復(fù)雜任務(wù)執(zhí)行方面仍有不足。

RAG(檢索增強生成)現(xiàn)在在企業(yè)的 AI 應(yīng)用中使用很廣泛,就是為了解決模型的信息不夠?qū)崟r,且沒有垂直領(lǐng)域知識的問題。

RAG 雖然厲害,但主要還是應(yīng)用在智能知識問答領(lǐng)域,大模型想要有更強的能力,就需要有效、安全地與外界進行互動,這就誕生了 Function Calling 和 MCP 。

Function Calling 依賴大模型的能力,MCP 是一種通用協(xié)議。

本文從概念層面談?wù)?Function Calling 和 MCP ,下一篇寫幾個代碼例子。

Function Calling(函數(shù)調(diào)用)介紹

概念

Function Calling 是特定大模型(如 OpenAI 的 GPT-4、Qwen2 等)提供的一種機制,使模型能夠主動生成結(jié)構(gòu)化輸出,以調(diào)用外部系統(tǒng)中預(yù)定義的函數(shù)或 API。

執(zhí)行流程

通常我們說大模型調(diào)用 API,但這種說法并不完全準(zhǔn)確,執(zhí)行過程如下圖:

  • Agent 程序是我們開發(fā)的 AI 程序,在程序中會預(yù)先向大模型注冊外部函數(shù)接口(建議不超過 20 個)。
  • 用戶通過自然語言發(fā)起請求,Agent 接收到請求。
  • Agent 程序?qū)⒂脩粽埱筇峤唤o大模型,模型首先解析語義并評估是否需要調(diào)用外部工具。
  • 模型如果判斷需要調(diào)用函數(shù),將生成包含工具 ID 和輸入?yún)?shù)的調(diào)用指令,并返回給 Agent 程序。
  • Agent 程序接收到模型返回的調(diào)用指令后,執(zhí)行對工具函數(shù)的調(diào)用。
  • 工具函數(shù)執(zhí)行后將結(jié)果返回給 Agent 程序。
  • Agent 程序?qū)⒑瘮?shù)返回的結(jié)果和自定義提示詞一起反饋給大模型。
  • 大模型融合工具返回的數(shù)據(jù)與原始上下文,生成最終結(jié)果,并返回給 Agent 。
  • Agent 程序?qū)⒔Y(jié)果輸出呈現(xiàn)給終端用戶。

特點

  • 主動調(diào)用:模型能夠識別用戶的自然語言意圖,決定是否調(diào)用工具,并生成調(diào)用指令。
  • 實時反饋:模型生成的函數(shù)調(diào)用指令,由 Agent 程序執(zhí)行后,再次反饋給模型,使模型生成實時和精準(zhǔn)的回應(yīng)。
  • 具體實現(xiàn)靈活:沒有嚴(yán)格的標(biāo)準(zhǔn)通信協(xié)議要求,通信格式取決于具體模型廠商。這是個特點,也是個弊端。

MCP(Model Context Protocol)介紹

概念

MCP(Model Context Protocol,模型上下文協(xié)議)是 Anthropic 公司在 2024 年 11 月推出的一種標(biāo)準(zhǔn)協(xié)議。它的目的是給 AI 模型(如大語言模型)和外部數(shù)據(jù)源或工具之間建立起統(tǒng)一的通信接口。

可以簡單類比為 AI 的 USB 接口,無論是 AI 模型還是外部工具,只要符合 MCP 標(biāo)準(zhǔn),就可以實現(xiàn)快速“即插即用”的連接,不需要為每個工具單獨編寫接口程序。也沒有變成語言的限制,就像前后端分離后,基于 WebAPI 的規(guī)范就可以,什么語言都能寫接口。

現(xiàn)在 OpenAI 也支持了 MCP 。

特點

  • 開放性:MCP 是開放標(biāo)準(zhǔn),任何開發(fā)者或服務(wù)商均可基于此協(xié)議開發(fā) API,避免重復(fù)造輪子,推動生態(tài)共建,目前已有大量 MCP 集合站(如:https://mcp.so)。
  • 標(biāo)準(zhǔn)化:采用 JSON-RPC 2.0 標(biāo)準(zhǔn)通信,確保交互統(tǒng)一、高效。
  • AI 增強:MCP 可將 AI 應(yīng)用從簡單問答升級為可執(zhí)行復(fù)雜任務(wù)的工具,如管理代碼、處理文件、連接外部系統(tǒng)。例如,Claude 通過 MCP 接入 GitHub 后,可完成項目創(chuàng)建、提交代碼請求等復(fù)雜操作。
  • 安全性:MCP 數(shù)據(jù)交互基于標(biāo)準(zhǔn)協(xié)議,便于控制數(shù)據(jù)流、防止泄露。服務(wù)器內(nèi)置安全機制,可保護 API 密鑰不泄露給大模型提供商,主機可授權(quán)客戶端連接,確保連接安全可控。
  • 兼容性:MCP 支持文件內(nèi)容、數(shù)據(jù)庫記錄、API 響應(yīng)、實時數(shù)據(jù)、截圖圖像、日志文件等幾乎所有數(shù)據(jù)格式,適用于多樣的數(shù)據(jù)交互場景。
  • 擴展性:MCP 提供提示詞模板(Prompts)、工具(Tools)、采樣(Sampling)等功能,可靈活擴展 AI 應(yīng)用與數(shù)據(jù)源交互能力。開發(fā)者可根據(jù)需求定制提示模板或使用工具擴展數(shù)據(jù)處理功能。

核心架構(gòu)

MCP 采用客戶端-服務(wù)器(Client-Server)架構(gòu),包括以下組件:

  • MCP Host:發(fā)起請求的 AI 應(yīng)用程序或工具,如 Claude Desktop、Cursor、Windsurf 等。
  • MCP Client:位于 Host 內(nèi)部,保持與 MCP Server 的一對一連接,負(fù)責(zé)消息路由、能力管理和協(xié)議協(xié)商。
  • MCP Server:提供上下文數(shù)據(jù)、工具和提示詞模板的服務(wù)端組件,負(fù)責(zé)響應(yīng)客戶端請求,提供外部資源訪問。
  • 資源與工具:包括本地或遠程的數(shù)據(jù)資源(如文件、數(shù)據(jù)庫)及可被模型調(diào)用的功能(工具),支持 AI 模型實時獲取外部信息并執(zhí)行任務(wù)。

調(diào)用步驟

  • 宿主程序(客戶端)中配置相關(guān)的 MCP Server ,并建立與 MCP Server 的連接。
  • 用戶使用自然語言進行提問,宿主程序?qū)⑻崾驹~(整合了用戶問題)和 MCP Server 提供的工具,一起給大模型。
  • 大模型理解后產(chǎn)生調(diào)用指令,宿主程序?qū)⒄{(diào)用指令通過 Client 發(fā)送給 MCP Server 。
  • MCP Server 收到請求后,解析請求內(nèi)容,執(zhí)行相應(yīng)操作(如搜索網(wǎng)絡(luò)信息、記錄筆記等),然后將處理結(jié)果封裝成響應(yīng)消息,發(fā)送回客戶端。

MCP 與 Function Calling 的關(guān)系和區(qū)別

關(guān)系

大模型就像是一個大腦,MCP 與 Function Calling 都是為了讓大模型能開口說話,動手做事。Function Calling 可視為 MCP 生態(tài)下的一種具體功能實現(xiàn)形式,尤其是在工具調(diào)用(Tools)這一概念上,兩者高度相似。

區(qū)別

交互模式:

  • MCP:支持交互式、持續(xù)性的上下文管理,AI 可以與外部資源多輪互動。
  • Function Calling:簡單的請求-響應(yīng)模式,單次調(diào)用執(zhí)行特定任務(wù),無交互延續(xù)性。

定位:

  • MCP:一種開放的標(biāo)準(zhǔn)協(xié)議,定義通用通信架構(gòu)和數(shù)據(jù)格式(類似于 USB 標(biāo)準(zhǔn))。
  • Function Calling:特定模型廠商提供的擴展能力。

通信協(xié)議標(biāo)準(zhǔn)化:

  • MCP:嚴(yán)格遵守 JSON-RPC 2.0,具備高度標(biāo)準(zhǔn)化和互操作性。
  • Function Calling:無統(tǒng)一標(biāo)準(zhǔn),協(xié)議依賴具體模型廠商實現(xiàn)。

生態(tài)開放程度:

  • MCP:生態(tài)開放,社區(qū)共建為主,任意開發(fā)者或服務(wù)商可自由接入。
  • Function Calling:生態(tài)相對封閉,依賴特定模型廠商支持。

希望本文對您有所幫助!

責(zé)任編輯:姜華 來源: 不止dotNET
相關(guān)推薦

2025-04-17 08:42:38

2025-04-22 09:17:41

2024-09-29 10:58:56

2023-10-30 17:36:08

OpenAIAPI插件

2025-03-31 00:00:00

MCPAPI服務(wù)器通信

2025-03-13 03:00:00

DockerAgentic工具

2025-04-02 10:06:00

2013-04-26 17:38:52

大數(shù)據(jù)全球技術(shù)峰會

2025-04-11 09:43:57

2016-04-09 17:29:33

銳捷網(wǎng)絡(luò)云營銷

2022-01-25 18:11:55

vdomclassfunction

2010-09-16 16:06:35

PPPoE配置

2016-09-28 21:50:29

GNUAutotoolLinux

2023-05-17 10:16:04

ORM工具包SQLAlchemy

2010-07-13 15:13:51

LDAP協(xié)議

2010-07-28 17:40:07

2010-07-14 18:14:41

2025-03-26 03:01:00

2010-07-14 17:58:06

SDP協(xié)議

2010-07-27 15:14:35

Flex Datapr
點贊
收藏

51CTO技術(shù)棧公眾號