Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101
AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
由 TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。
去 YouTube 訂閱 | Facebook | 回 GitHub Pages | 到 GitHub 點星 | 網站 | 到 Hugging Face Space 按愛心
大語言模型 | 語音處理 | 自然語言處理 | 電腦視覺 |
---|---|---|---|
Large Language Model | Speech Processing | Natural Language Processing, NLP | Computer Vision |
那些實戰踩過的坑、常見問題、挑戰與解決方案
🎵 不聽可惜的 NotebookLM Podcast @ Google 🎵
AI 技術迅速發展,各種開源與商用工具層出不窮。然而,許多開發者在實戰中踩過不少坑——不論是工具穩定性、安裝複雜度,還是搜索準確率、引用錯誤等問題,都成為推動 AI 代理 (AI Agents,以下簡稱「AI Agents」) 與 代理式人工智慧 (Agentic AI,以下簡稱「Agentic AI」) 真正落地的障礙。
本文將探討多種AI Agents 與 Agentic AI 工具 (含 MCP) 的應用、經驗與挑戰,分享避坑指南與推薦,更針對可能會碰上的資安問題,提出解決方向,希望更高效、正確地建構 AI Agents 與 Agentic AI 系統的落地。
在探討 AI Agents 與 Agentic AI 的細節之前,值得借鑒吳恩達與 LangChain CEO Harrison Chase 對話中的一個核心觀點。吳恩達認為,與其糾結一個系統「是不是」Agent,不如接受「智能體特性」(agenticness)的程度差異。他回憶道,過去許多人熱衷於爭論某個系統「是不是真正的 agent」、「是否足夠自主」,但他認為這種爭論意義不大。他提倡使用「智能體化系統」(agentic systems)來描述具有不同自主程度的應用,無論是少量自主性還是大量自主性,都無需浪費時間爭論其是否「真正」是一個 agent。這一提法有助於減少不必要的爭論,讓大家更專註於建構本身,為我們理解和應用後續概念提供了務實的基礎。
人工智慧領域正經歷典範轉移,從被動的生成式模型邁向更具自主性、能執行複雜任務的 AI Agents 和 Agentic AI。這股趨勢自 2022 年底 ChatGPT 問世後,在 Google 全球搜尋趨勢上呈現顯著上升。傳統搜尋引擎主要作為中介,引導使用者至原始內容來源,而新興的生成式搜尋工具則自行解析並重新包裝資訊,這可能導致原內容來源的流量減少。
更甚者,這些工具在資訊品質和引用方面存在嚴重問題:多數 AI Agents 無法準確搜尋並引用文章來源,經常「自信地提供錯誤答案」,即使是付費服務也難以避免內容錯誤。它們可能忽略 `robots.txt` 協議抓取禁止內容,引用錯誤版本或聚合來源,甚至提供無效或偽造的連結,難以追溯真實出處。 這促使我們需要更深入地檢視這些新興 AI 系統的內部運作、實際應用與潛在風險。
AI Search Has A Citation Problem, (Columbia Journalism Review, May 2025):生成式 AI 在知識引用上的嚴重信任斷裂問題。
AI Agents vs. Agentic AI, (Cornell University, May 2025):AI Agents 與 Agentic AI 概念上的差異與連結。
OWASP Agentic AI – Threats and Mitigations:系統性揭露 Agentic AI 面臨的新型威脅,並提供實務對策。
Andrew Ng: State of AI Agents | LangChain Interrupt:一場 LangChain CEO Harrison Chase與Andrew Ng的爐邊對話。
關於 AI 代理 (AI Agents) 與 代理式人工智慧 (Agentic AI),全球趨勢呈現了概念從基礎到進階的自然演進與普及過程;而台灣的趨勢則更多地受到語言習慣、特定事件和小眾專業社群對前沿英文術語直接採用的影響,導致與全球趨勢有顯著差異。
從資訊工程的角度來看,AI Agents 是一種設計用在特定數位環境中執行目標導向任務的自主軟體實體。它們的核心能力在於能夠感知環境、對上下文資訊進行推理,並採取行動以達成預設目標。與傳統的自動化腳本不同,AI Agents 具備一定程度的反應性和適應性。
AI Agents 的出現是建立在生成式人工智慧(亦稱生成式AI 或 Generative AI,以下簡稱 GenAI)的基礎之上。GenAI 模型(如大型語言模型 LLMs 和大型圖像模型 LIMs)主要透過接收提示來生成新的內容(文本、圖像、程式碼等),它們是「輸入驅動」的,缺乏內部狀態、持久記憶或目標追蹤機制。它們的設計沒有內建的回饋迴圈、狀態管理或多步驟規劃。可以說,GenAI 是 AI Agents 的前身。
AI Agents 則在 LLMs 的語言處理基礎上,引入了額外的基礎設施,例如記憶緩衝區、工具呼叫 API、推理鏈和規劃例程。這彌補了被動響應生成與主動任務完成之間的差距。LLMs 成為現代 AI Agents 的核心推理引擎,賦予代理理解自然語言、規劃多步驟解決方案和生成自然響應的能力。LIMs 則將能力擴展到視覺領域。
例如,ChatGPT 結合 Web Search API 獲取即時資訊就是一個工具增強型 AI Agents 的例子。
Agentic AI 代表了 AI 系統架構的一種「典範轉移」。它不再是單一實體的 AI Agents,而是由多個專門的 Agents組成,這些Agents協同工作以實現更複雜、高層次的目標。這是一種更高級別的自主系統,強調多代理之間的協作、動態適應和協調。
Agentic AI 架構在 AI Agents 的基礎上進行了增強,以支援分散式智慧和 Agents 間通訊。關鍵增強包括:
Agentic AI 展現出更高層次的自主性,能夠管理需要協調的複雜、多步驟任務。它們的應用領域更廣,從研究自動化、機器人協調到醫療決策支援和智慧家庭生態系統。例如,在智慧家庭系統中,Agentic AI 可以協調天氣預報、日程安排、能源定價最佳化和安全監控等多個代理,以實現整體優化目標。
AI Agents 與 Agentic AI 的開發與部署仍處於快速演進期。許多開源與商用工具應運而生,旨在降低開發門檻並提供豐富的功能。
吳恩達在與 Harrison Chase 的對話中指出,儘管他的團隊會使用 LangGraph 這類工具處理具有複雜流程的高難度問題,但他同時看到了大量商業機會潛藏在相對線性的工作流程中。「許多商業場景中,現有的流程是這樣的:員工查看網站表單,進行網站搜索,檢查其他數據庫以確認合規性或客戶風險,然後複製粘貼信息,可能再進行一次網頁搜索,最後粘貼到另一個表單中。」吳恩達描述道。他認為,這些商業流程中存在大量相當線性的工作流,或只是偶爾帶有分支的線性流程。將現有業務流程有效地轉化為智能體工作流是一大挑戰,包含如何確定任務分解的粒度、原型效果不佳時如何改進等,這種審視、分解、評估的整體技能目前仍然「非常稀缺」。
談及智能體構建者應掌握的技能,吳恩達提出了「樂高積木」的比喻。他認為,過去幾年 AI 公司創造了大量優秀的 AI 工具,如 LangGraph 等編排工具,以及 RAG(檢索增強生成)、聊天機器人構建方法、多種記憶系統、評估(evals)和護欄(guardrails)等。成功的智能體構建者應像樂高積木的組裝者,能夠快速組合這些專業工具,而不是一切從零開始。掌握並熟練運用這些「積木塊」,能夠極大提升開發效率和決策速度。吳恩達也提到,隨著 LLM 上下文窗口擴大,一些最佳實踐(如 RAG 的調校)也在演變,RAG 依然重要,但其超參數調整變得更容易。
吳恩達點名了幾個他認為被低估或應用不足的關鍵領域:
以下為目前較知名的可能主流框架,各有其側重與特性:
隨著 Agentic AI 能力的持續擴展,伴隨而來的是全新且更為複雜的安全風險。OWASP 的 Agentic Security Initiative(ASI)聚焦於由基於大型語言模型(LLM)的代理所引入的新型威脅。威脅建模是一個結構化的過程,用於識別和緩解系統中的安全風險。OWASP ASI 發布的文件提供了一個以威脅建模為基礎的參考資料,涵蓋新興的 Agentic AI 威脅。
新的攻擊向量主要集中在代理的記憶和工具整合,容易受到記憶中毒和工具濫用的攻擊。此外,由於 Agentic AI 系統通常使用非人類身份 (Non-Human Identities, NHI) 進行操作,缺乏傳統的使用者會話監督,增加了特權濫用或令牌濫用的風險。Agentic AI 也重新定義了權限洩漏,它不僅限於預定義的行動,還會利用動態訪問中的任何錯誤配置或漏洞。
給不同角色的建議:
根據 OWASP ASI 的分類,Agentic AI 威脅可以透過一個決策路徑來理解,主要威脅類別包括:
OWASP ASI 文件提供了一系列結構化的緩解策略,並組織成六個行動手冊 (Playbooks),與威脅決策樹對齊。每個行動手冊包含預防性 (proactive)、響應性 (reactive) 和偵測性 (detective) 措施。
例如,針對不同的威脅:
實施這些緩解措施時,基礎的安全措施(如軟體安全、LLM 保護和訪問控制)也應該一併實施。
儘管 Agentic AI 展現巨大潛力,但它仍面臨顯著的挑戰與限制。這些挑戰部分繼承自底層的 LLM,部分源於多代理系統本身的複雜性。
Agentic AI 的挑戰則更為放大且新穎:
研究人員正積極探索解決這些挑戰的方法,包括:
未來的 Agentic AI 將朝著更強大的多代理擴展、統一協調、持久記憶和模擬規劃發展。同時,倫理治理框架和針對特定領域的領域特定系統將變得至關重要。一些研究方向如 Absolute Zero 框架甚至探索了無需外部資料集的自主學習可能性。
吳恩達在與 Harrison Chase 的對話中,分享了 AI Fund 觀察到的 AI 創業成功兩大關鍵預測指標:
Agentic AI 代表了 AI 發展的一個重要方向,它將單一 AI Agents 的能力擴展到協作、自主的系統級別。這為解決複雜問題和自動化廣泛任務帶來巨大機遇。從底層的生成式 AI 到具備感知與行動能力的 AI Agents,再到由多個協作代理組成的 Agentic AI,技術正不斷演進。吳恩達與 Harrison Chase 的對話進一步釐清了「agentic systems」的彈性定義、線性工作流的即時價值、以及「樂高積木」式的開發哲學,並點出了評估、語音、全民程式設計等領域的潛力。
然而,隨之而來的安全挑戰是巨大的,從針對單一代理的記憶中毒和工具濫用,到多代理系統中的通訊中毒和流氓代理。OWASP ASI 等倡議為理解這些威脅並制定緩解策略提供了寶貴的框架。同時,現實應用中的「自信地提供錯誤答案」和引用問題也提醒我們,AI Agents 的穩定性和可靠性仍是當前開發的關鍵挑戰。
對初學者而言,理解從生成式 AI 到 AI 代理再到 Agentic AI 的發展歷程,並掌握其核心能力、工具與安全挑戰,是切入這一領域的關鍵起點。這是一個需要持續研究和實踐來應對其複雜性和挑戰的領域,特別是為了確保未來自主系統的安全、可靠和負責任的部署。選擇穩定可靠、社群活躍的工具(如 Suna、OpenManus)至關重要,但同時也需警覺 錯誤引用、安裝困難、不穩定輸出 等陷阱,謹慎測試與驗證來源,才是 AI Agent 成功落地的關鍵。
Model Context Protocol (MCP) 是一種開放協議,旨在讓 AI 模型能更輕鬆、標準化地連接並使用外部數據和工具。您可以將它想像成 AI 世界的「USB」,提供一個統一的接口,讓不同的數據源、應用程式或工具都能無縫對接,無需為每個組合單獨開發整合方案。MCP 由 Anthropic 於 2024 年 11 月開源。
核心目標: 讓 AI 獲取更豐富的上下文資訊,提升理解能力,使回應更準確、更相關,並能執行更複雜的任務。
對於近期備受關注的 MCP(Model Context Protocol,模型上下文協議),吳恩達給予了積極評價,認為它填補了市場的明顯空白,旨在實現 N 個模型/智能體與 M 個數據源集成時,付出 N+M 而非 N*M 的努力。OpenAI 的採用也證明了其重要性,DeepLearning.AI 也與 Anthropic 合作推出了相關課程。吳恩達指出:「我們花費了大量時間在『管道』上,也就是數據集成,以便將正確的上下文信息提供給 LLM。」MCP 是一個嘗試標準化接口的「奇妙方式」。
但他同時坦言,MCP 及其服務目前尚处于早期阶段。「很多網上的 MCP 服務並不可用,認證系統也有些笨拙。」協議本身也需要進化,例如,當 LangGraph 這樣的工具擁有大量 API 調用時,簡單的列表式資源呈現難以滿足需求,未來可能需要層級化的發現機制。
MCP 採用客戶端-伺服器 (Client-Server) 架構:
為什麼是 Server/Client 架構?
交互流程簡例:
MCP 並非要取代 API,而是作為 AI 模型與多個外部系統(這些系統可能本身就提供 API)之間的中介層或協調層。
特性 | Model Context Protocol (MCP) | 傳統 API (如 RESTful API) |
---|---|---|
核心定位 | AI 與外部系統的標準化中介層 | 應用程式間直接的點對點接口 |
標準化 | 基於 JSON-RPC 2.0,提供統一接口與能力描述 | 各自設計,格式、認證方式、錯誤處理等可能各異 |
AI 整合複雜度 | 低。AI 只需學會與 MCP Server 溝通 | 高。AI 需為每個不同 API 單獨適配 |
安全性 | 內建能力協商、權限控制;Server 集中管理敏感操作 | 需各自實現身份驗證、授權、加密等安全措施 |
數據源管理 | MCP Server 可管理多個異構數據源 (API, DB, 文件等) | 通常一個 API 端點對應一個特定資源或服務 |
動態性 | 支持 Server 主動向 Client 推送數據變更通知 | 多為 Client 主動請求-回應模式,即時同步較複雜 |
變更適應性 | 外部 API 變更時,主要修改 MCP Server,Client 端影響小 | API 變更可能需要修改所有調用該 API 的 Client 端 |
生態與工具 | 逐漸形成 (如 Anthropic, Spring AI 支持),強調 AI 易用性 | 成熟,但需自行整合不同 API 的客戶端庫 |
一句話總結差異:
MCP Server 的價值(為何不是多此一舉?):
何時選擇 MCP vs 直接用 API?
使用現成的外部 API 時: MCP Server 依然有價值,它會負責調用這些現成的 API,並將其返回的數據轉換成 MCP 標準格式供 AI 使用,AI 無需關心這些外部 API 的具體細節。
目前 MCP 生態仍在發展中。所謂的 "Hub" 更接近於一個資源集散地或社群維護的列表,用於發現可用的 MCP Server 實現、工具和相關資源。最重要的參考點是: