大家好,鐵人賽第十二天!這是我們 n8n 篇章的最終章,也是成果驗收的時刻。
在過去一週裡,我們從零開始,為 AI Agent 陸續打造了計算機、天氣、新聞、音樂推薦等多種工具,並將它們整合在一個 MCPClient
伺服器中。今天,我們將透過一個真實的、複雜的指令,來對這位「終極個人助理」進行一次壓力測試,並深入其執行日誌,一窺 AI Agent 的內心世界。
我們在 Open WebUI (我們的 MCP Host) 中,向連接了 n8n MCP Server 的 AI Agent 下達了一個複雜的、多步驟的指令:
使用者指令:
我正在規劃週六下午的行程。請先幫我查一下台北市的天氣,看看是否適合戶外活動。然後,幫我找一些關於當代藝術展覽的最新新聞。最後,根據天氣和活動,推薦一些適合路途中聽的放鬆心情的 Spotify 歌單。
經過短暫的等待,AI Agent 在 Open WebUI 的聊天視窗中,給出了一份令人驚豔的、結構完整的行程規劃:
從下圖 n8n 可以看到,AI Agent 完美地理解了我們的多層次需求:
這份答案不是單純的資料拼湊,而是經過 AI Agent 理解、拆解、規劃、執行、總結後的智慧產物。
那麼,AI Agent 是如何達成這個任務的呢?讓我們潛入 n8n 的執行日誌,看看幕後發生了什麼。
這張日誌截圖,就是 AI Agent 的「內心獨白」。仔細觀察左側的 Logs
區域,你會發現一個驚人的事實:AI Agent 進行了一連串、多達三次的「思考 -> 行動」循環!
第一次循環 (思考 -> 行動 -> 觀察):
Google Gemini Chat Model
(思考): 「用戶想查天氣。」MCP Client
(行動): 呼叫 Weather
工具。第二次循環 (再次思考 -> 行動 -> 觀察):
Google Gemini Chat Model
(再次思考): 「天氣不錯。現在該找新聞了。」MCP Client
(行動): 呼叫 News
工具。第三次循環 (再次思考 -> 行動 -> 觀察):
Google Gemini Chat Model
(再次思考): 「行程有了,該推薦音樂了。」MCP Client
(行動): 呼叫 Spotify
工具。最終整合 (最後一次思考):
Google Gemini Chat Model
步驟,將前面所有觀察到的結果進行匯總,生成了我們在 Open WebUI 中看到的那段通順、流暢的最終答案。這份日誌完美地印證了 AI Agent 的強大之處:它不是一次性的執行,而是一個動態的、自主的、為了達成最終目標而反覆思考和行動的循環過程。
經過這一系列的實戰,我們已經深刻體會到,使用 n8n 的 AI Agent + Tool 模式,是實現 MCP 思想、快速打造 AI 應用的絕佳路徑。它視覺化、整合快、抽象層次高,讓我們能專注於「能力」的定義,而非底層協議的細節。
然而,正如我們在執行日誌中可能遇到的 429 Too Many Requests
錯誤一樣:
n8n 這種高階抽象的工具,在面對需要精細化控制的場景時(例如 API 頻率控制、複雜的錯誤處理、自訂的重試邏輯、極致的性能要求),便會顯現出其局限性。
為了突破這些限制,為了能隨心所欲地掌控我們服務的每一個細節,我們必須走向更底層、更靈活的世界——用 Python 親手打造我們自己的 MCP 伺服器。
感謝 n8n 帶給我們這段精彩的旅程。現在,請深吸一口氣,準備好你的程式碼編輯器。
真正的挑戰,明天正式開始!