偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MCP 是為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè) 原創(chuàng)

發(fā)布于 2025-9-11 08:47
瀏覽
0收藏

編者按: 你在開發(fā) AI 智能體時,是否也曾為這些事頭疼不已:每接入一個新工具就要重寫集成代碼?工具一多就難以統(tǒng)一管理?LLM 時而“幻覺”出根本不存在的工具調(diào)用?

這些問題不僅拖慢開發(fā)節(jié)奏,更讓智能體的穩(wěn)定性和擴(kuò)展性大打折扣。

今天推薦的這篇文章,正來自一線開發(fā)者對 Model Context Protocol (MCP) 的深度實踐與思考。對 LLM 來說,“常規(guī)”的工具調(diào)用和使用 MCP 這樣的標(biāo)準(zhǔn)沒有任何區(qū)別。它只看到一組工具定義(tool definitions),它不知道也不關(guān)心幕后發(fā)生著什么 —— 而這恰恰是件好事...

作者 | Roy Derks

編譯 | 岳揚

Model Context Protocol (MCP) 已成為構(gòu)建智能體時使用工具調(diào)用(tool calling)的標(biāo)準(zhǔn),但恰恰相反,你的 LLM 并不需要理解 MCP。你可能聽說過“上下文工程(context engineering)”這一術(shù)語,在這項技術(shù)中,作為與 LLM 交互的人,你需要負(fù)責(zé)提供正確的上下文來幫助它回答問題。為了收集這些上下文,你可以使用工具調(diào)用,讓 LLM 能夠訪問一組可以用于獲取信息或執(zhí)行操作的工具。

MCP 通過標(biāo)準(zhǔn)化 AI 智能體連接到這些工具的方式來提供幫助。但對你的 LLM 來說,“常規(guī)”的工具調(diào)用和使用 MCP 這樣的標(biāo)準(zhǔn)沒有任何區(qū)別。 它只看到一組工具定義(tool definitions),它不知道也不關(guān)心幕后發(fā)生著什么 —— 而這恰恰是件好事。

通過使用 MCP,你可以訪問成千上萬的工具,而無需為每個工具編寫自定義的集成邏輯。它極大地簡化了涉及工具調(diào)用的智能體循環(huán)(agentic loop)的設(shè)置過程,而這一過程的開發(fā)時間通常情況下幾乎為零。開發(fā)者負(fù)責(zé)調(diào)用工具,LLM 只生成一個片段,說明需要調(diào)用什么工具(單個或多個)以及使用哪些輸入?yún)?shù)。

在這篇博客文章中,我將詳細(xì)解釋工具調(diào)用是如何工作的、MCP 實際上做了什么,以及這兩者與上下文工程的關(guān)系。

01 工具調(diào)用 Tool Calling

LLMs 理解工具調(diào)用【有時也稱為工具使用(tool use)或函數(shù)調(diào)用(function calling)】的概念。你需要在提示詞中提供工具定義列表。每個工具都包含名稱、功能描述和所需的輸入?yún)?shù)。根據(jù)用戶問題和現(xiàn)有工具,大語言模型可能會生成對應(yīng)的調(diào)用指令。

但關(guān)鍵點在于:LLMs 并不懂得如何使用工具。它們沒有原生的工具調(diào)用支持,它們只會生成代表函數(shù)調(diào)用的文本。


MCP 是為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè)-AI.x社區(qū)

與 LLM 交互時的輸入與輸出

在上方的示意圖中,我們可以看到 LLM 實際看到的內(nèi)容:一個由指令、之前的用戶消息和可用工具列表組成的提示詞。基于這些信息,大語言模型會生成文本響應(yīng),其中可能包含系統(tǒng)應(yīng)當(dāng)調(diào)用的工具指令。它并非真正理解工具的實際意義,只是在基于概率生成預(yù)測性響應(yīng)。

讓我們來看一個更實際的應(yīng)用場景。例如,如果你提供一個名為 get_weather的工具,它接受一個地理位置作為輸入,然后問模型:“加利福尼亞州圣何塞的天氣怎么樣?” 它可能會回應(yīng):

{
"name":"get_weather",
"input":{
"location":"San Jose, CA"
}
}

LLM 能夠根據(jù)所提供的上下文生成這個代碼片段,如下方示意圖所示。LLM 并不了解如何調(diào)用 get_weather工具,它也無需知道。你的智能體循環(huán)(agentic loop)或智能體應(yīng)用(agentic application)負(fù)責(zé)獲取該輸出,并將其轉(zhuǎn)換為實際的 API 調(diào)用或函數(shù)調(diào)用。系統(tǒng)會解析模型生成的工具名稱及輸入?yún)?shù),執(zhí)行對應(yīng)工具,并將執(zhí)行結(jié)果作為新消息反饋給大語言模型。


MCP 是為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè)-AI.x社區(qū)

工具調(diào)用流(Tool Calling flow)與 LLM 的交互

這種職責(zé)分離很重要。大語言模型僅負(fù)責(zé)生成預(yù)測結(jié)果,而執(zhí)行環(huán)節(jié)交由您的系統(tǒng)處理。這正是 MCP(模型上下文協(xié)議)發(fā)揮作用的關(guān)鍵所在。

02 模型上下文協(xié)議 (MCP)

Model Context Protocol(簡稱 MCP)是一種標(biāo)準(zhǔn)化智能體與數(shù)據(jù)源(如工具、提示詞、資源服務(wù)及樣本示例)連接方式[1]的協(xié)議。現(xiàn)階段,MCP 最顯著的價值在于簡化了工具集成這一關(guān)鍵環(huán)節(jié)。 MCP 通過定義統(tǒng)一的接口規(guī)范和通信協(xié)議,取代了為每個工具手動編寫定制化代碼的方式。您可以將其理解為工具領(lǐng)域的通用適配器(如同 USB-C 接口)。

MCP 通常包含三個核心組件:宿主應(yīng)用 (host application)、MCP 客戶端 (MCP client) 和若干 MCP 服務(wù)器 (MCP servers)。宿主應(yīng)用可能是聊天軟件或 IDE(例如 Cursor),其中內(nèi)置了能連接不同 MCP 服務(wù)器的 MCP 客戶端。這些 MCP 服務(wù)器則對外提供工具、提示詞、樣本示例或資源服務(wù)。

與 LLM 的交互方式并未改變,改變的是工具數(shù)據(jù)的接入方式:智能體應(yīng)用與 MCP 客戶端通信,再由客戶端對接目標(biāo)服務(wù)器。所有工具均以 LLM 可識別的格式進(jìn)行描述。


MCP 是為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè)-AI.x社區(qū)

工具調(diào)用流與 LLM 及 MCP 的交互

當(dāng)面對同樣的問題“加利福尼亞州圣何塞的天氣怎么樣?”時,LLM 接收到的仍是相同的工具列表。根據(jù)該列表,它將告訴你需調(diào)用的工具,而具體的執(zhí)行策略仍由開發(fā)者掌控。當(dāng)采用 MCP 時,該工具將通過 MCP 協(xié)議執(zhí)行。

該機(jī)制的核心受益方并非大語言模型,而是作為開發(fā)者的你。隨著智能體系統(tǒng)的擴(kuò)展,MCP 能有效管理復(fù)雜的多工具協(xié)作:實現(xiàn)跨項目的工具復(fù)用,統(tǒng)一數(shù)據(jù)格式規(guī)范,以及無需重構(gòu)即可無縫接入新系統(tǒng)。

但除非在系統(tǒng)提示詞中明確告知,否則 LLM 永遠(yuǎn)無法感知你是否使用了 MCP。 開發(fā)者始終承擔(dān)工具調(diào)用的執(zhí)行職責(zé),大語言模型僅生成包含目標(biāo)工具及對應(yīng)輸入?yún)?shù)的指令片段。

接下來,本文將解析該機(jī)制是如何融入上下文工程體系的,并闡釋為何 MCP 這樣的抽象層本質(zhì)是為人類而非模型服務(wù)。

03 上下文工程 Context Engineering

Context engineering(上下文工程)的核心在于為 LLM 提供精準(zhǔn)恰當(dāng)?shù)妮斎耄蛊渖捎行У妮敵?。這看似簡單,卻是構(gòu)建高效 AI 系統(tǒng)最關(guān)鍵的環(huán)節(jié)之一。

當(dāng)我們向模型提問時,本質(zhì)上是在向其提供提示詞(prompt) —— 即模型用于預(yù)測后續(xù)文本的文本塊。該提示詞的質(zhì)量直接影響響應(yīng)質(zhì)量。

這正是工具調(diào)用的價值所在。當(dāng)模型缺乏足夠上下文時(如需實時數(shù)據(jù)、用戶畫像或代用戶執(zhí)行操作的能力),通過工具調(diào)用可使其接入外部系統(tǒng) —— 正如本文所述。

但在此再次強(qiáng)調(diào),模型無需理解這些工具的實現(xiàn)邏輯。它只需知曉三點:工具的存在性、功能定位及調(diào)用方式。這正是上下文工程(context engineering)與工具設(shè)計(tool design)的交匯點 —— 我們所設(shè)計的工具定義集本質(zhì)上是提示詞的組成部分。


MCP 是為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè)-AI.x社區(qū)

LLM 視角下的工具調(diào)用

MCP 使該過程更簡潔規(guī)范且可復(fù)用。通過 MCP 協(xié)議,開發(fā)者只需一次性定義結(jié)構(gòu)化接口并對外發(fā)布,即可避免硬編碼工具(hardcoding tools)或編寫臨時封裝器(writing ad hoc wrappers)。LLM 接收到的工具定義格式保持不變,但現(xiàn)在它們更容易維護(hù)和擴(kuò)展。

綜上所述,MCP 本質(zhì)上是一個為開發(fā)者設(shè)計的工具,而非為 LLM 而設(shè)。 它可以幫助我們構(gòu)建更可靠的、更模塊化的系統(tǒng),使工程師能專注于上下文工程,而無需每次都重復(fù)搭建基礎(chǔ)架構(gòu)。

END

本期互動內(nèi)容 ??

?文中的核心觀點是:“MCP 是為開發(fā)者,而非為 LLM 服務(wù)的”。你是否認(rèn)同?有沒有反例或不同的角度?

文中鏈接

[1]??https://www.infoworld.com/article/4029634/what-is-model-context-protocol-how-mcp-bridges-ai-and-external-services.html??

本文經(jīng)原作者授權(quán),由 Baihai IDP 編譯。如需轉(zhuǎn)載譯文,請聯(lián)系獲取授權(quán)。

原文鏈接:

??https://hackteam.io/blog/your-llm-does-not-care-about-mcp/??


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