有關(guān)智能體/Agent,和上下文協(xié)議/MCP的一些概念,以及為什么它重要

0 評(píng)論 1173 瀏覽 4 收藏 14 分鐘

隨著AI技術(shù)的快速發(fā)展,智能體(Agent)和上下文協(xié)議(MCP)正成為推動(dòng)AI應(yīng)用落地的關(guān)鍵技術(shù)。本文從Agent的概念出發(fā),詳細(xì)介紹了其背后的組成要素,包括“大腦”(LLM)、“眼睛和手”(外部工具接口)以及“工作紀(jì)要”(上下文窗口)。同時(shí),文章深入探討了MCP協(xié)議的重要性,將其比作AI領(lǐng)域的“USB-C接口”,能夠標(biāo)準(zhǔn)化地連接AI模型與外部工具和數(shù)據(jù)源。

這幾天,Agent 的相關(guān)概念沸沸揚(yáng)揚(yáng)。

不做詞義追源,僅從大眾角度,這個(gè)事兒是前年初開始的,也就是 2023 年 2-3 月。標(biāo)志性事件包括:

  • AutoGPT 等開源項(xiàng)目的發(fā)布:這是第一批基于自然語言的 AI 自動(dòng)化實(shí)踐:你告訴它一個(gè)任務(wù),它就會(huì)通過自然語言的自我對話,將這個(gè)任務(wù)進(jìn)行拆分、規(guī)劃并實(shí)現(xiàn)。你可以認(rèn)為這是 Manus 的前輩:成功率極很低,能干的事兒很少
  • 斯坦福小鎮(zhèn)一類的項(xiàng)目實(shí)踐:給予不同的 Bot 以不同的人格,搭配記憶窗口,讓它們之間相互對話。
  • 發(fā)表于 2 月的論文《Toolformer: 大模型可以教自己使用工具》,以及 OpenAI 在 3 月底發(fā)布的插件計(jì)劃:這意味著,大模型從原來的“思想家”,通過對外部工具的使用,變成了實(shí)干家。

《AI 學(xué)會(huì)使用工具了》

2023年2月14日,報(bào)道自賽博禪心

由于語言泛化,今天出現(xiàn)了很有趣的現(xiàn)象:「Agent 是什么」,這個(gè)問題沒有了標(biāo)準(zhǔn)的定義。

一個(gè)常見的觀點(diǎn)是:Agent 是一種讓 AI 以類似人的工作和思考方式,來完成一系列的任務(wù)。一個(gè) Agent 可以是一個(gè) Bot,也可以是多個(gè) Bot 的協(xié)同。就像是職場里,簡單的工作獨(dú)立完成,復(fù)雜的工作協(xié)作完成一樣。

對于每個(gè) Bot 來說,可能會(huì)包括:

  • 一個(gè)大腦:判斷和規(guī)劃行為,這里通常需要 GPT-4或更高水平的 LLM;
  • 眼睛和手:確認(rèn)信息和使用外部工具,一般是各種插件/action/api;
  • 工作紀(jì)要:儲(chǔ)存已經(jīng)發(fā)生的事,通常的媒介是上下文窗口,或者一個(gè) todo 文件,也或者數(shù)據(jù)庫;
  • 行為SOP:明確這個(gè) Agent 的身份、任務(wù)、目標(biāo)和機(jī)制。這個(gè) SOP 可能是用戶給的,也可能是由其它 Bot 給出的。

再具象一點(diǎn),這里我從 GPTs 里截了個(gè)圖:

GPTs,通常被認(rèn)為是由 OpenAI 設(shè)計(jì)的最簡版的 Agent。默認(rèn)情況下,只能進(jìn)行單 Bot 交互:

  • 一個(gè)大腦:在 ChatGPT GPT Store 里,GPT-4 是唯一可選的 LLM;
  • 眼睛和手:可以在 Capabilities 里勾選由 OpenAI 提供的第一方能力,也可以通過Actions 來拓展更多的外部能力;
  • 工作紀(jì)要:一般來說就是對話記錄,GPTs 可以回顧之前的對話,;
  • 行為SOP:存放在 Description, Instructions 以及 Knowledge 里。
  • 在這里,大腦鏈接眼睛和手,需要一種神經(jīng)信號(hào),代碼里叫做協(xié)議。

最早的協(xié)議是 OpenAI Plugin 協(xié)議,發(fā)布于 2 年前的差不多這個(gè)時(shí)候,定向邀請。

之后 Anthropic 在去年發(fā)布了 MCP 協(xié)議,是公開版的

當(dāng)時(shí)我也做了個(gè)短評(píng):

類比來說,可理解為 Claude 桌面版的插件系統(tǒng)(類比 OAI 去年3月的發(fā)布),不同點(diǎn)在于:
– Claude 的插件,暫還不能共享
– 只能在「Claude 桌面版」(網(wǎng)頁版不行)、「Zed」、「Cody」里面使用
– 沒有更新到接口(仍然沒有正式的 Function Calling / JSON Mode / Sturctured Output)
– 早期版本,很多東西還是餅,比如 Sampling
從進(jìn)步角度,一定程度上解決了 Claude 不能輸出結(jié)構(gòu)化信息的問題:之前 Claude 想要結(jié)構(gòu)化輸出,只能 prompt + prefill + regex
公眾號(hào):賽博禪心
短評(píng)Claude 發(fā)布的 MCP 協(xié)議

而下面,就讓我們一起來看看這個(gè) MCP 協(xié)議。

Norah Sakal 寫了一篇不錯(cuò)的介紹,寶玉進(jìn)行了翻譯

什么是模型上下文協(xié)議(MCP)?它如何比傳統(tǒng)API更簡單地集成AI?

https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/

模型上下文協(xié)議(Model Context Protocol,簡稱MCP) 是一種全新的開放協(xié)議,專門用于標(biāo)準(zhǔn)化地為大語言模型(LLMs)提供應(yīng)用場景和數(shù)據(jù)背景。

你可以把MCP想象成AI領(lǐng)域的“USB-C接口”,它能讓不同的AI模型與外部工具和數(shù)據(jù)源輕松連接。

本文將清晰地解釋MCP的價(jià)值、工作原理,以及它與傳統(tǒng)API的關(guān)鍵區(qū)別。

什么是MCP?

模型上下文協(xié)議(MCP) 就像是為AI模型量身定制的“USB-C接口”,可以標(biāo)準(zhǔn)化地連接AI系統(tǒng)與各類外部工具和數(shù)據(jù)源。

什么是MCP?

就像USB-C接口讓你的電腦更容易連接各種設(shè)備一樣,MCP讓AI模型更簡單地獲取數(shù)據(jù)、工具與服務(wù)。

為什么要用MCP,而不是傳統(tǒng)的API?

通常,AI系統(tǒng)想連接外部工具時(shí),需要單獨(dú)整合多個(gè)不同的API。每個(gè)API都有獨(dú)立的代碼、文檔、認(rèn)證方式、錯(cuò)誤處理和后續(xù)維護(hù),極大地增加了開發(fā)復(fù)雜度。

為什么說傳統(tǒng)API就像每扇門都有一把不同的鑰匙?

打個(gè)比方: API就像不同的門,每扇門都需要自己的鑰匙和特定的規(guī)則。

為什么使用MCP而非傳統(tǒng)API?

傳統(tǒng)的API要求開發(fā)者為每個(gè)服務(wù)或數(shù)據(jù)源單獨(dú)編寫代碼和整合方案。

MCP背后是誰?

MCP最早由Anthropic ↗[1]公司開發(fā),目的是幫助AI模型(如Claude)更容易地連接工具和數(shù)據(jù)源。

但現(xiàn)在,MCP已經(jīng)成為一個(gè)開放協(xié)議,越來越多的企業(yè)和開發(fā)者開始采用它,這也讓它逐漸成為AI與工具互動(dòng)的新標(biāo)準(zhǔn)。

?? 想深入了解?可以訪問官方的MCP規(guī)格文檔 ↗[2]。

MCP與API快速對比

MCP與傳統(tǒng)API關(guān)鍵區(qū)別:

? 單一協(xié)議: MCP像一個(gè)統(tǒng)一接口,只要一次整合,就能連接多個(gè)服務(wù)。

? 動(dòng)態(tài)發(fā)現(xiàn): AI模型能自動(dòng)識(shí)別并使用可用的工具,不用提前寫死每個(gè)接口。

? 雙向通信: MCP支持類似WebSockets的實(shí)時(shí)雙向通信,模型不僅能查詢數(shù)據(jù),還能主動(dòng)觸發(fā)操作。

為什么要有雙向通信?

MCP提供實(shí)時(shí)互動(dòng),模型能:

? 拉取數(shù)據(jù): 模型實(shí)時(shí)查詢數(shù)據(jù),如查看你的日歷。

? 觸發(fā)操作: 模型主動(dòng)向服務(wù)器發(fā)出指令,如重新安排會(huì)議或發(fā)送郵件。

MCP如何工作:架構(gòu)原理

MCP采用簡單的客戶端-服務(wù)器架構(gòu):

MCP的工作架構(gòu)

? MCP主機(jī)(Host): 如Claude桌面應(yīng)用或智能開發(fā)環(huán)境(IDE),需要訪問外部數(shù)據(jù)或工具。

? MCP客戶端(Client): 與MCP服務(wù)器建立一對一的穩(wěn)定連接。

? MCP服務(wù)器(Server): 提供特定功能,連接本地或遠(yuǎn)程的數(shù)據(jù)源。

? 本地?cái)?shù)據(jù)源: 文件、數(shù)據(jù)庫或服務(wù)。

? 遠(yuǎn)程服務(wù): 外部API或互聯(lián)網(wǎng)服務(wù)。

簡單說,MCP像一座橋梁: 它本身不處理復(fù)雜邏輯,只負(fù)責(zé)協(xié)調(diào)AI模型與工具之間的信息流動(dòng)。

實(shí)際中的MCP客戶端案例

比如,一個(gè)Python腳本(client.py)作為MCP客戶端,可以輕松連接MCP服務(wù)器,以控制Gmail、Slack或日歷應(yīng)用,無需每個(gè)工具單獨(dú)編寫代碼。

MCP應(yīng)用案例:什么時(shí)候用它?

設(shè)想下面幾個(gè)場景:

1. 旅行規(guī)劃助手

? 使用 API 時(shí): 分別為谷歌日歷、郵件、機(jī)票預(yù)訂寫代碼,繁瑣而復(fù)雜。

? 使用 MCP 時(shí): AI助手直接通過MCP統(tǒng)一協(xié)議,查看日歷、訂機(jī)票、發(fā)郵件確認(rèn),無須單獨(dú)整合每個(gè)工具。

2. 智能IDE(代碼編輯器)

? 使用 API 時(shí): 手動(dòng)連接文件系統(tǒng)、版本管理、包管理和文檔,耗時(shí)費(fèi)力。

? 使用 MCP 時(shí): IDE 通過 MCP 一次連接所有功能,帶來更豐富的上下文支持,更強(qiáng)大的智能建議。

3. 復(fù)雜的數(shù)據(jù)分析

? 使用 API 時(shí): 人工管理與每個(gè)數(shù)據(jù)庫、數(shù)據(jù)可視化工具的連接。

? 使用 MCP 時(shí): AI自動(dòng)發(fā)現(xiàn)并連接多個(gè)數(shù)據(jù)庫和可視化工具,通過統(tǒng)一的MCP接口輕松完成分析任務(wù)。

MCP 的好處

? 簡化開發(fā): 一次整合,多次復(fù)用,不再重復(fù)開發(fā)。

? 靈活性強(qiáng): 輕松切換AI模型或工具,無需復(fù)雜的重新配置。

? 實(shí)時(shí)互動(dòng): 長連接保證數(shù)據(jù)實(shí)時(shí)更新。

? 安全可靠: 內(nèi)置標(biāo)準(zhǔn)化安全和權(quán)限控制。

? 擴(kuò)展性強(qiáng): AI系統(tǒng)擴(kuò)展時(shí),只需連接新的MCP服務(wù)器。

什么時(shí)候傳統(tǒng) API 更適合?

如果你的應(yīng)用場景需要精準(zhǔn)且嚴(yán)格受控的交互方式,那么傳統(tǒng)API可能更合適。MCP提供廣泛而靈活的動(dòng)態(tài)能力,更適合需要上下文理解的場景,但不一定適用于嚴(yán)格受控的場合。

傳統(tǒng)API更合適的場景:

? 需要細(xì)粒度控制、功能嚴(yán)格限制;

? 更偏好緊耦合以提升性能;

? 希望最大化交互的可預(yù)測性。

如何開始使用MCP?

快速集成MCP的步驟:

1. 定義能力: 明確你的MCP服務(wù)器提供哪些功能。

2. 實(shí)現(xiàn)MCP層: 按照協(xié)議標(biāo)準(zhǔn)進(jìn)行開發(fā)。

3. 選擇通信方式: 本地連接(標(biāo)準(zhǔn)輸入輸出)或遠(yuǎn)程連接(如WebSockets)。

4. 創(chuàng)建資源/工具: 開發(fā)或連接你的數(shù)據(jù)源和服務(wù)。

5. 建立客戶端連接: 與MCP服務(wù)器建立安全穩(wěn)定的連接。

總結(jié)

再次回顧什么是MCP:

? MCP: 為AI模型統(tǒng)一連接數(shù)據(jù)與工具的標(biāo)準(zhǔn)接口。

? API: 傳統(tǒng)的方式,每個(gè)服務(wù)單獨(dú)連接,開發(fā)更復(fù)雜。

什么是MCP?

MCP讓AI與外部數(shù)據(jù)、工具的連接變得更加標(biāo)準(zhǔn)化和高效。

結(jié)論

MCP不僅僅是另一種API,而是一個(gè)強(qiáng)大的連接框架,讓AI應(yīng)用能更智能、更動(dòng)態(tài)地融入豐富的上下文環(huán)境,快速實(shí)現(xiàn)復(fù)雜的功能互動(dòng)。

引用鏈接

[1] Anthropic ↗: https://www.anthropic.com/news/model-context-protocol

[2] MCP規(guī)格文檔 ↗: https://modelcontextprotocol.io/

本文由人人都是產(chǎn)品經(jīng)理作者【賽博禪心】,微信公眾號(hào):【賽博禪心】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!