AIGC、RAG、Agent、Function Call、MCP 到底啥關(guān)系?一次講明白!
Hello,大家好,我是 Sunday。
最近很多同學(xué)特別關(guān)注 AI 相關(guān)的領(lǐng)域。但是,AI 技術(shù)發(fā)展太快了,AIGC、RAG、Agent、Function Call、MCP 等等的各種熱詞層出不窮的。多到就算是很多程序員都搞不明白了。
所以,咱們今天這篇文章,我就來(lái)用最簡(jiǎn)單的方式,幫你把這些熱詞一次性講清楚~
從 AIGC 到多模態(tài)
大部分同學(xué)應(yīng)該都是從 ChatGPT 開(kāi)始接觸 AI 的,比如我就是。
剛開(kāi)始用 ChatGPT 的時(shí)候,我們體驗(yàn)到的其實(shí)是一種典型的 文生文 能力:
你輸入一句話,它給你生成一段文字回應(yīng)。
不管是寫(xiě)文章、改簡(jiǎn)歷,還是輸出代碼、寫(xiě)周報(bào),都是 AI 在根據(jù)你的文字 Prompt,生成另一段文字。
這種讓 AI 自動(dòng)生成內(nèi)容的能力,就叫做 AIGC。
AIGC,全稱是 AI Generated Content(AI 生成內(nèi)容),它的核心能力是:用 AI 自動(dòng)生成“人類常干的活”。
在最初的時(shí)候,AIGC 他只能處理 一種類型 的內(nèi)容,比如:GPT-3 只懂文字,SD 只會(huì)畫(huà)畫(huà),這種模式就被稱之為 單模態(tài)。
但是,隨著 AI 的進(jìn)化,不只是文生文,像:文生圖、圖生文、文生視頻、圖文生視頻……也都逐漸支持了(并且進(jìn)化的速度特別快),而這種支持 多種類型 消息的,就被稱為是 多模態(tài)。 比如現(xiàn)在的 CPT-4。
而這些多模態(tài)模型,才是真正讓 AI 從“工具”進(jìn)化成“助手”的關(guān)鍵。
但 AIGC 有兩個(gè)“天生的限制”:
- 第一就是 不具備實(shí)時(shí)性。比如,以 DeepSeek 為例,他的知識(shí)庫(kù)就只更新到了
2024 年 7 月。如果想要讓他知道最新的數(shù)據(jù)怎么辦呢?就得給他 “喂數(shù)據(jù)!”
圖片
- 第二就是 不會(huì)使用工具。最初的 AIGC 只可以從現(xiàn)有的知識(shí)庫(kù)中獲取內(nèi)容,而不會(huì)查詢最新的信息,也不能調(diào)用 API。
因此,這就引出了兩個(gè)技術(shù)方向,一個(gè)叫 RAG,一個(gè)叫 Function Call。
RAG 實(shí)時(shí)信息查詢
RAG,全稱是 Retrieval-Augmented Generation(檢索增強(qiáng)生成)。
就像上面的 DeepSeek 截圖一樣,如果查詢的內(nèi)容超過(guò)了知識(shí)庫(kù)怎么辦呢?
很簡(jiǎn)單 實(shí)時(shí)查詢就可以了! 查完以后,把資料貼給 AI,再讓它寫(xiě)。
圖片
比如你問(wèn)“北京明天的天氣”,它自己不知道,但可以去“檢索模塊”查一遍,把查到的結(jié)果再結(jié)合起來(lái)給你回答。
你可以理解成:原來(lái)模型靠死記硬背,現(xiàn)在它學(xué)會(huì)“看資料答題”了。
但如果你仔細(xì)想一想:只會(huì)看,越不行呀。
咱們需要的時(shí),他可以把資料看完之后,把內(nèi)容返回給咱們。甚至可以做到,當(dāng)我說(shuō):“給我訂個(gè)明天下午去北京的高鐵票” 時(shí),他可以 自動(dòng)調(diào)用 12306 接口,選好車次直接下單
如果你可以想到這里,那么恭喜你。你已經(jīng)摸到 Agent 智能體 的門檻了。
中間就只差了一個(gè) Function Call(函數(shù)調(diào)用)
Function Call 調(diào)用函數(shù)
簡(jiǎn)單來(lái)說(shuō),F(xiàn)unction Call 就是讓模型 根據(jù)你的指令,自動(dòng)調(diào)用外部的函數(shù)或接口,把任務(wù)真正執(zhí)行掉。
比如你說(shuō):“我現(xiàn)在在北京,查一下明天上海的天氣?!?/p>
傳統(tǒng)的 LLM:
“對(duì)不起,我只能提供截至 2023 年的信息?!?/p>
支持 RAG 的模型:
“明天上海天氣 28°C,小雨。”(它查了資料,但沒(méi)動(dòng)手)
支持 Function Call 的模型:
它會(huì)判斷你這個(gè)請(qǐng)求,需要調(diào)用一個(gè)叫
getWeather(city)的函數(shù),然后自動(dòng)生成參數(shù)city = "上海",調(diào)用完天氣 API → 拿到結(jié)果 → 生成回復(fù):“明天上海 28°C,小雨,建議帶傘?!?/p>
你看,整個(gè)過(guò)程中,它已經(jīng)從一個(gè)單純的回答者,變成了 可以自己思考你接下來(lái)應(yīng)該怎么做 “帶傘” 的 “人” 了
因此,我們說(shuō) Function Call 是 AI 走向“智能體”的關(guān)鍵
這時(shí)候,該登場(chǎng)的,就是最近特別火的詞:Agent(智能體)。
Agent:傳說(shuō)中的 “人工智能”
前面咱們說(shuō)了,F(xiàn)unction Call 讓模型擁有了“動(dòng)手能力”。
但是你會(huì)發(fā)現(xiàn),現(xiàn)實(shí)世界的任務(wù),往往不是一句話、調(diào)一次函數(shù)就能搞定的。
比如說(shuō)你問(wèn)它: “我十一想自駕從濟(jì)南去北京,幫我規(guī)劃下出行方案?!?/p>
一個(gè)聰明的 AI 應(yīng)該怎么干?
理想流程可能是這樣的:
- 查濟(jì)南十一當(dāng)天的天氣(看是否適合出行)
- 查從濟(jì)南到北京的高速路況
- 查加油站分布和服務(wù)區(qū)情況
- 安排中途住宿
- 綜合輸出一份行程建議
注意,這不是一步能干完的,而是一個(gè)“多步驟 + 多工具 + 多輪決策”的鏈條。
普通的 Function Call,只能調(diào)用一個(gè)函數(shù)。但是,這個(gè)流程里,模型要自己判斷用哪些工具、什么順序、調(diào)幾次,每次結(jié)果又影響下一步行為。
這時(shí)候,就該輪到 Agent(智能體) 出場(chǎng)了。
什么是 Agent?
Agent,說(shuō)白了就是讓模型具備一定程度的自主決策和任務(wù)規(guī)劃能力。
它就像一個(gè)“多線程”的模型調(diào)度器:
- 每接一個(gè)任務(wù),自己思考怎么拆解
- 根據(jù)情況調(diào)用多個(gè)工具
- 遇到中間結(jié)果會(huì)重新思考下一步
- 最后一步步把復(fù)雜任務(wù)完成
你可以理解成:它會(huì)思考、規(guī)劃、決策、執(zhí)行,真正具備了“完成任務(wù)”的閉環(huán)能力。
我們可以通過(guò)一張 Agent 流程圖 進(jìn)行展示:
用戶輸入 → 模型分析意圖 → 判斷要調(diào)用哪個(gè)工具 → 生成參數(shù) → 執(zhí)行函數(shù) → 拿到結(jié)果 → 判斷是否繼續(xù) → 再次調(diào)用或返回最終答復(fù)
用戶輸入 → 模型分析意圖 → 判斷要調(diào)用哪個(gè)工具 → 生成參數(shù) → 執(zhí)行函數(shù) → 拿到結(jié)果 → 判斷是否繼續(xù) → 再次調(diào)用或返回最終答復(fù)
并且,這整個(gè)流程可以重復(fù)多輪,直到目標(biāo)完成。
還是以“濟(jì)南十一自駕去北京”為例,它可能經(jīng)歷這樣的 Agent 執(zhí)行鏈:
- 查詢天氣 → 如果有雨,提醒注意安全
- 查詢路線 → 如果太遠(yuǎn),中途加一站住宿
- 住宿安排 → 查附近酒店并給出建議
- 最終輸出一個(gè)可執(zhí)行的旅行計(jì)劃
這就是 Agent 的特性:不是你一步步告訴它怎么干,而是它自己規(guī)劃該怎么干。直接給你最終的規(guī)劃和結(jié)果
到目前,大家是不是已經(jīng)感覺(jué) Agent 挺牛批 的了。
但是(哎,必須得有個(gè)但是),他依然還存在一些問(wèn)題。比如:標(biāo)準(zhǔn)化
大家想想,就和手機(jī)充電頭一樣,各家的可能都不一樣,從而導(dǎo)致除了現(xiàn)在這種奇葩的 “一拖三”:
圖片
那么對(duì)于 Agent 也一樣,調(diào)用的工具那么多。當(dāng)工具越來(lái)越多、系統(tǒng)越來(lái)越復(fù)雜的時(shí)候,如何讓模型可以按照統(tǒng)一的標(biāo)準(zhǔn),低成本地接入更多工具呢?
答案就是:MCP 協(xié)議!
MCP 協(xié)議:標(biāo)準(zhǔn)化協(xié)議接口
MCP(Model Context Protocol,模型上下文協(xié)議)是由人工智能公司 Anthropic 于 2024 年 11 月 24 日正式發(fā)布并開(kāi)源的協(xié)議標(biāo)準(zhǔn)。你可以簡(jiǎn)單理解成:AI 世界的 “USB 接口協(xié)議”。
圖片
它的目標(biāo)是:標(biāo)準(zhǔn)化模型和外部工具之間的連接方式。
什么意思?
來(lái)看幾個(gè)典型痛點(diǎn):
沒(méi)有 MCP 以前 | 有了 MCP 之后 |
每個(gè)工具都要獨(dú)立接入 | 所有工具統(tǒng)一協(xié)議,復(fù)用成本低 |
模型和工具強(qiáng)綁定 | 松耦合,誰(shuí)來(lái)調(diào)用都行 |
平臺(tái)之間協(xié)議不通用 | 基于開(kāi)放標(biāo)準(zhǔn),可跨平臺(tái)、跨模型 |
沒(méi)有工具生態(tài) | MCP 廣場(chǎng)上線,AI 應(yīng)用像“裝插件”一樣用工具 |
舉個(gè)例子:
- 你想接入地圖服務(wù) → MCP 上直接裝騰訊地圖插件
- 想用圖生文 → MCP 上調(diào)用 Qwen-VL 工具
- 想自動(dòng)發(fā)送企業(yè)微信 → MCP 上調(diào)用飛書(shū)/企業(yè)微信接口
一句話總結(jié)就是:以前是 M × N 的混亂對(duì)接,現(xiàn)在是 M + N 的標(biāo)準(zhǔn)接口。
圖片
你可以這么理解現(xiàn)在 AI 技術(shù)棧的關(guān)系:
圖片
這就是我們現(xiàn)在看到的 AI 應(yīng)用演進(jìn)路徑......


































