AI 為何能查天氣、訂機票?揭秘大模型背后的“神秘工具箱”
你有沒有想過,為什么 AI 能回答“今天上海天氣怎么樣?”這種實時問題,甚至幫你預(yù)訂機票?明明它的訓(xùn)練數(shù)據(jù)截止到去年,怎么會對現(xiàn)在的事情了如指掌?
答案就藏在一個核心技術(shù)里——工具調(diào)用(Tool Calling)。
簡單說,工具調(diào)用就是讓大模型在遇到自己搞不定的問題時,能像我們一樣,打開一個“工具箱”,借用外部工具來完成任務(wù)。
這個“工具箱”里什么都有:網(wǎng)頁搜索、計算器、API 調(diào)用、數(shù)據(jù)庫查詢……任何能幫它完成特定任務(wù)的,都可以是它的工具。
目前,工具調(diào)用技術(shù)已經(jīng)相當(dāng)成熟,幾乎所有主流的 AI 大模型和開發(fā)平臺都已支持。
AI 真的會“自己”調(diào)用工具嗎?
一聽到“工具調(diào)用”,很多人會誤以為是 AI 服務(wù)器自己去執(zhí)行了某個工具。
大錯特錯!
真相是:AI 只負責(zé)“提要求”,而真正干活的,是我們自己的應(yīng)用程序。
整個過程更像是一個分工明確的團隊協(xié)作。我們以“什么是 MCP?”這個問題為例,看看團隊是如何配合的:
- 用戶:提出問題:“什么是 MCP?”
- 程序(項目經(jīng)理):將問題轉(zhuǎn)達給 大模型(技術(shù)專家)。
- 大模型(技術(shù)專家):分析后發(fā)現(xiàn)知識庫里沒有,判斷需要上網(wǎng)搜索,于是向程序提要求:“我需要用「網(wǎng)頁抓取工具」查一下,關(guān)鍵詞是 MCP”。
- 程序(項目經(jīng)理):收到請求,立刻安排 網(wǎng)頁抓取工具(實習(xí)生) 去執(zhí)行。
- 網(wǎng)頁抓取工具(實習(xí)生):勤勤懇懇地完成抓取,把數(shù)據(jù)返回給程序。
- 程序(項目經(jīng)理):將抓取到的信息整理好,再次交給 大模型(技術(shù)專家)。
- 大模型(技術(shù)專家):閱讀信息,總結(jié)提煉,生成一份通俗易懂的回答。
- 程序(項目經(jīng)理):最后,將這份完美的答案呈現(xiàn)給用戶。
看明白了嗎?AI 只是“大腦”,負責(zé)思考和決策,而我們的應(yīng)用程序才是“手腳”,負責(zé)執(zhí)行和落地。
為什么要設(shè)計得這么“麻煩”?
你可能會問:為什么不讓 AI 直接調(diào)用工具,一步到位?這樣來回傳遞不浪費時間嗎?
這背后最重要的考量是——安全!
這種設(shè)計確保了 AI 永遠無法直接觸碰你系統(tǒng)的核心資源。所有操作都必須經(jīng)過你程序的“批準(zhǔn)”,你擁有絕對的控制權(quán),可以決定 AI 能做什么,不能做什么。
舉個極端點的例子:假如你開發(fā)了一個“房屋爆破”工具。
- 現(xiàn)在的方式:用戶對 AI 說“幫我把這棟樓炸了”。AI 分析后,會向你的程序申請:“我需要使用「房屋爆破」工具”。這時,你的程序可以立刻拒絕這個危險請求,從而避免災(zāi)難。
- 如果 AI 直接調(diào)用:AI 覺得這個需求很合理,直接就執(zhí)行了。等你反應(yīng)過來,房子可能已經(jīng)沒了。
把決定權(quán)留在我們自己手里,既能利用 AI 的智慧,又能保證系統(tǒng)的安全,還能減輕 AI 服務(wù)器的負擔(dān),何樂而不為呢?
工具調(diào)用 vs 功能調(diào)用
如果你在看技術(shù)文檔時遇到 Function Calling(功能調(diào)用) 這個詞,別懵,它和 Tool Calling(工具調(diào)用) 說的完全是同一件事!只是不同廠商或開發(fā)者習(xí)慣的叫法不同。
Spring AI 的官方文檔開篇就明確了這一點:

我個人更喜歡“工具調(diào)用”這個說法,因為它更形象。“Function”一聽就像是程序員的黑話,而“工具”則更加通俗易懂,不是嗎?

好了,今天關(guān)于“工具調(diào)用”的分享就到這里。
希望這篇文章能幫你徹底搞懂 AI 是如何借助外部力量變聰明的。如果你覺得有收獲,不妨點個贊、在看,或者分享給更多朋友。
對于工具調(diào)用,你還有什么疑問或有趣的想法?歡迎在評論區(qū)留言討論!

浙公網(wǎng)安備 33010602011771號