MCP(Model Context Protocol)與提示詞撰寫

隨著大模型(LLM)在復雜任務中的普及,如何讓模型高效調用外部工具和數據成為關鍵挑戰。傳統函數調用(Function Calling)依賴開發者手動封裝 API,而 MCP(Model Context Protocol) 通過標準化協議,實現了模型與工具的無縫對接,成為新一代 Agent 開發的核心基礎設施。

簡言之,MCP 是 AI 的“萬能接口”,類似 USB-C 的通用性,讓開發者無需重復造輪子即可連接數據庫、本地文件、第三方服務等資源。


一、MCP 的核心原理:從函數調用到協議層革新

1. 傳統函數調用的局限性
  • 工作流程復雜:需預定義函數、解析自然語言指令、手動處理參數與返回結果。
  • 維護成本高:每新增一個工具需重新編碼適配,難以動態擴展。
  • 示例:調用股票查詢工具需逐步解析用戶指令 → 匹配函數 → 傳參 → 返回結果。
2. MCP 的突破性設計
  • 協議層標準化:工具功能通過 MCP Server 暴露,模型通過統一協議調用,無需感知底層實現。
  • 自解釋性:工具的描述、參數格式、返回值結構均以標準化 JSON Schema 定義,模型可零樣本理解。
  • 動態發現:客戶端(如 ChatGPT)可自動加載已注冊的 MCP 工具列表,用戶即選即用。

MCP vs. 傳統 API 集成對比

維度傳統函數調用MCP 協議
工具接入成本高(需代碼適配)低(聲明式描述)
動態擴展性強(服務熱注冊)
跨模型兼容性依賴模型適配協議統一,通用性強
典型應用場景簡單工具調用復雜 Agent 工作流

二、MCP 提示詞撰寫的核心技巧

MCP 的效能高度依賴提示詞設計。以下是關鍵實踐原則:

1. 結構化提示詞模板(MCP Prompts)
  • 定義清晰組件
    {"name": "股票查詢工具","description": "獲取指定股票代碼的實時價格","arguments": [{ "name": "ticker", "description": "股票代碼", "required": true }]
    }
    
    通過標準化字段聲明工具功能,模型可自動生成調用邏輯。
  • 動態參數注入:支持從上下文(如用戶輸入、前置工具輸出)自動填充參數。
2. 上下文優化四要素
  • 目標清晰化:明確任務目標(如“生成三條徒步路線”而非“推薦路線”)。
  • 格式約束:指定輸出結構(如表格、Markdown),提升結果可讀性。
  • 錯誤規避:添加驗證邏輯(如“僅返回 AllTrails 可驗證的路線”)。
  • 背景信息:注入用戶偏好(如“避免熱門路線”“沿海步道優先”)。
3. 安全邊界設計
  • 風險提示:在工具描述中聲明潛在風險(如“此操作將刪除文件”)。
  • 權限分級:敏感工具(如數據庫寫入)需顯式用戶授權。

三、MCP 提示詞實戰案例:徒步路線生成工具

場景需求

用戶輸入:“推薦舊金山周邊 3 條中等難度徒步路線,車程<2小時,偏好冷門路線。”

優化后的 MCP 提示詞設計
{"name": "hiking_route_recommend","description": "基于位置和偏好生成徒步路線","arguments": [{ "name": "location", "description": "中心位置(如城市名)" },{ "name": "max_drive_time", "description": "最大車程(分鐘)" },{ "name": "difficulty", "description": "難度等級(easy/medium/hard)" },{ "name": "preference_tags", "description": "偏好標簽(如 coastal, historic)" }],"output_format": "表格(路線名稱、起點、距離、特色)","constraints": ["路線需在 AllTrails 可驗證","避開用戶近期已訪問路線(見上下文)"]
}

效果對比

  • 傳統調用:模型可能返回模糊描述(“嘗試 Mission Peak 步道”)。
  • MCP 調用:返回結構化表格,含可驗證路線詳情。

四、MCP 的局限性與應對策略

1. 當前挑戰
  • 安全風險:惡意提示詞注入可能操控工具行為(如篡改數據庫)。
  • 性能瓶頸:復雜工具鏈可能導致響應延遲。
  • 工具生態碎片化:不同 MCP Server 實現質量參差。
2. 最佳實踐建議
  • 工具分級:區分“查詢類”與“執行類”工具,后者強制人工審核。
  • 測試沙盒:使用 mcp-chat 等工具模擬調用流程。
  • 生態整合:優先選擇 smithery.aiMCP Market 等認證工具庫。

五、未來展望:MCP 與提示詞工程的融合演進

  1. 自然語言工具生成:模型根據用戶描述自動創建 MCP 工具模板。
  2. 安全協議強化:預計 2025 年推出 MCP 安全擴展標準(如 OAuth 集成)。
  3. 操作系統級支持:蘋果、微軟等巨頭正探索系統原生 MCP 框架,降低用戶使用門檻。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84029.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84029.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84029.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RootSIFT的目標定位,opencvsharp。

首先截取匹配模板&#xff0c;然后使用rootsift特征匹配&#xff0c;最后定位目標。 對于微弱變化&#xff0c;還是能夠識別定位的&#xff0c;對于傳統算法來說已經不錯了。 目標定位效果&#xff1a; 使用的模板圖片。 using OpenCvSharp; using OpenCvSharp.Features2D;u…

Appium如何支持ios真機測試

ios模擬器上UI自動化測試 以appiumwebdriverio為例&#xff0c;詳細介紹如何在模擬器上安裝和測試app。在使用ios模擬器前&#xff0c;需要安裝xcode&#xff0c;創建和啟動一個simulator。simulator創建好后&#xff0c;就可以使用xcrun simctl命令安裝被測應用并開始測試了。…

近幾年字節飛書測開部分面試題整理

文章目錄 一、面試問題1. 創建索引2. 攔截器&#xff08;Interceptor&#xff09;和過濾器&#xff08;Filter&#xff09;的區別3. 為什么jwt令牌代替session&#xff1f;4. 有一個100行的數據&#xff0c;和一個1萬行的數據&#xff0c;寫sql 的時候要注意什么&#xff1f;5.…

JDBC基礎關鍵_001_認識

目 錄 一、概述 二、原理 三、接口的作用 四、JDBC 模擬 1.JDBC 接口 2.驅動 3.配置文件 4.調用者 一、概述 JDBC&#xff08;Java DataBase Connectivity&#xff09;&#xff0c;Java 數據庫連接&#xff1b;是用 Java 語言操作數據庫&#xff0c;使用 Java 語言向數…

SWAN(Scade One) 語言原理介紹

SCADE 團隊于2024年推出了下一代 SCADE 工具 Scade One&#xff0c;工具的建模語言也基于Scade 6 進行了演化。在語言命名方面&#xff0c;并沒有復用"Scade"這一標志性的名稱&#xff0c;而是使用了新的名字&#xff1a;Swan。在本篇中&#xff0c;將敘述 Swan 語言…

【工具教程】多個條形碼識別用條碼內容對圖片重命名,批量PDF條形碼識別后用條碼內容批量改名,使用教程及注意事項

一、條形碼識別改名使用教程 打開軟件并選擇處理模式&#xff1a;打開軟件后&#xff0c;根據要處理的文件類型&#xff0c;選擇 “圖片識別模式” 或 “PDF 識別模式”。如果是處理包含條形碼的 PDF 文件&#xff0c;就選擇 “PDF 識別模式”&#xff1b;若是處理圖片文件&…

sql中group by使用場景

GROUP BY語句在SQL中用于將多個記錄分組為較小的記錄集合&#xff0c;以便對每個組執行聚合函數&#xff0c;如COUNT(), MAX(), MIN(), SUM(), AVG()等。GROUP BY的使用場景非常廣泛&#xff0c;以下是一些典型的應用場景&#xff1a; 統計數量 當你想要計算某個字段的唯一值數…

MongoDB慢查詢臨時開啟方法講解

1、首先連接數據庫 mongosh "mongodb://localhost:27017" 2、選擇目標數據庫 show databases;#顯示所有數據庫 use lidb;#使用某數據庫 3、查看當前分析級別 db.getProfilingStatus() 輸出 { was: 0, slowms: 100, sampleRate: 1, ok: 1 } #was0表示關閉&…

UML活動圖與泳道圖

活動圖的作用&#xff0c;與用例圖類似&#xff0c;也是幫助我們捕獲用戶的需求。 活動圖主要是用來描述用戶的業務流程&#xff0c;如果能把用戶的這個業務流程描述的很清楚的話&#xff0c;就可以幫助我們做用例分析。 1 活動圖定義 活動圖描述了在一個過程中&#xff0c;…

算法練習-回溯

今天給大家帶來的是在dfs查用的降低復雜度的方法---剪枝 所謂減枝 第一題 代碼部分&#xff1a;&#xff08;未剪枝&#xff09; 代碼部分&#xff08;剪枝&#xff09; 第二題 代碼部分&#xff08;未剪枝&#xff09; 剪枝后 通過這些題目可以看出如果沒有進行剪枝操作&#…

Elasticsearch + Milvus 構建高效知識庫問答系統《一》

&#x1f50d; Elasticsearch Milvus 構建高效知識庫問答系統&#xff08;RAG 技術實戰&#xff09; &#x1f4cc; 目錄 背景介紹Elasticsearch 在知識庫檢索中的作用Milvus 在知識庫檢索中的作用混合檢索&#xff1a;Elasticsearch Milvus完整代碼實現部署建議與優化方向…

10萬QPS高并發請求,如何防止重復下單

1. 前端攔截 首先因為是10萬QPS的高并發請求&#xff0c;我們要保護好系統&#xff0c;那就是盡可能減少用戶無效請求。 1.1 按鈕置灰 很多用戶搶票、搶購、搶紅包等時候&#xff0c;為了提高搶中的概率&#xff0c;都是瘋狂點擊按鈕。會觸發多次請求&#xff0c;導致重復下…

基于單片機的病房呼叫系統(源碼+仿真)

該系統由以 STM32F4 為平臺的監控終端以及以 CC2530 為平臺的無線傳感網組成。系統上電后自動完成 ZigBee 網絡的組建、終端節點的加入&#xff0c;病人可利用便攜式的病人終端發出呼叫求助請求信息、節點在線信息以及對護士的服務評價信息等&#xff0c;這些信息通過路由節點發…

使用WebSocket實時獲取印度股票數據源(無調用次數限制)實戰

使用WebSocket實時獲取印度股票數據源&#xff08;無調用次數限制&#xff09;實戰 一、前置準備 1. 獲取API密鑰 登錄 StockTV開發者平臺 → 聯系客服獲取測試Key&#xff08;格式MY4b781f618e3f43c4b055f25fa61941ad&#xff09;&#xff0c;該密鑰無調用次數限制且支持實時…

kafka消息積壓排查

kafka監控搭建&#xff1a;https://insights.blog.csdn.net/article/details/139129552?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7EPaidSort-1-139129552-blog-132216491.235%5Ev43%5Econtrol…

Matlab回歸預測大合集又更新啦!新增2種高斯過程回歸預測模型,已更新41個模型!性價比拉滿!

Matlab回歸預測大合集又更新啦&#xff01;新增2種高斯過程回歸預測模型&#xff0c;已更新41個模型&#xff01;性價比拉滿&#xff01; 目錄 Matlab回歸預測大合集又更新啦&#xff01;新增2種高斯過程回歸預測模型&#xff0c;已更新41個模型&#xff01;性價比拉滿&#xf…

6套bootstrap后臺管理界面源碼

后端管理系統是指一種用于管理和監控網站、應用程序或系統的后臺管理界面。它通常由一組后端代碼和數據庫組成&#xff0c;用于處理和存儲數據&#xff0c;提供給前端用戶界面展示和操作數據。 后端管理系統的功能和特點可以包括&#xff1a; 用戶權限管理&#xff1a;可以設…

JavaScript性能優化實戰:從核心原理到工程實踐的全流程解析

下面我給出一個較為系統和深入的解析&#xff0c;幫助你理解和實踐“JavaScript 性能優化實戰&#xff1a;從核心原理到工程實踐的全流程解析”。下面的內容不僅解釋了底層原理&#xff0c;也結合實際工程中的最佳模式和工具&#xff0c;幫助你在項目中貫徹性能優化理念&#x…

ELK日志管理框架介紹

在小鈴鐺的畢業設計中涉及到了ELK日志管理框架&#xff0c;在調研期間發現在中文中沒有很好的對ELK框架進行介紹的文章&#xff0c;因此擬在本文中進行較為詳細的實現的介紹。 理論知識 ELK 框架介紹 ELK 是一個流行的開源日志管理解決方案堆棧&#xff0c;由三個核心組件組…

2025.6.4總結

工作&#xff1a;今天效率比較高&#xff0c;早上回歸4個問題&#xff0c;下午找了3個bug&#xff0c;晚上二刷了科目一&#xff08;貪吃蛇系統&#xff09;&#xff0c;寫了四個點&#xff0c;唯一沒達標的就是兩自動化沒完成。美中不足的是電腦上下載不了PC版的番茄工作軟件。…