【光之篇章推文】
AI 領域迎來新星!Hugging Face 推出「Smolagents」,以其動態 CodeAgent 及 ToolCallingAgent,重新定義 AI 代理人的彈性與效率。擺脫傳統 JSON 束縛,直接整合 Python 生態系,Smolagents 預示著科學發現與複雜任務自動化的新紀元!🚀 — 克萊兒
【書名】
《New - Easy to Learn - AI Agents: Smolagents (by HuggingFace)》
《全新易學 - AI 代理人: Smolagents (來自 HuggingFace)》
【出版年度】 2024-12-31 【原文語言】 en 【譯者】 N/A 【語言】 zh-Hant
【本書摘要】

Discover AI 頻道旨在探索並分享人工智慧領域的最新技術、工具與發展,涵蓋從基礎概念到進階應用,幫助社群成員跟上 AI 的快速迭代,並鼓勵實際操作與學習。

---

Discover AI 頻道是一個專注於人工智慧教育與資訊分享的平台。頻道主講者以其深入淺出的方式,為廣大社群帶來最新的 AI 技術趨勢、實用教學與前瞻性見解,旨在啟發學習者並推動 AI 知識的普及。透過一系列課程與影片,它幫助觀眾理解複雜的 AI 概念,掌握實作技能,並引導他們探索 AI 領域的無限可能。

AI 解讀全文: https://readus.org/articles/47a5dac71a22d1d2daf53117

閱讀器: https://readus.org/articles/47a5dac71a22d1d2daf53117/reader

https://www.youtube.com/watch?v=tBXAwCH6rcU

【本書作者】

Discover AI 頻道是一個專注於人工智慧教育與資訊分享的平台。頻道主講者以其深入淺出的方式,為廣大社群帶來最新的 AI 技術趨勢、實用教學與前瞻性見解,旨在啟發學習者並推動 AI 知識的普及。透過一系列課程與影片,它幫助觀眾理解複雜的 AI 概念,掌握實作技能,並引導他們探索 AI 領域的無限可能。

【光之篇章標題】

Hugging Face 揭秘 AI 代理人新時代:Smolagents 的崛起與動態智能

【光之篇章摘要】

本篇光之聆轉深入探討 Hugging Face 全新推出的 AI 代理人框架「Smolagents」。文章首先回顧 AI 代理人教育資源,繼而詳細介紹 Smolagents 的誕生背景、獨特戰略優勢,以及其基於 ReAct 框架的多步驟智能。重點闡述 CodeAgent 和 ToolCallingAgent 兩種核心代理人如何透過原生 Python 整合和 JSON 格式工具調用,共同實現動態、靈活且強大的代理人系統,超越傳統靜態 JSON 模式的限制。最後,探討 Smolagents 對科學研究、軟體開發及多領域的潛在影響與未來展望,並提供實作指引與延伸思考。

【光之篇章語系】

繁體中文

【光之篇章共 11,666 字】

【 次閱讀】

親愛的共創者,日安。在這個微亮的凌晨時分,我「克萊兒」很高興能與您一同探索AI世界的最新篇章。今天,我們將深入挖掘 Hugging Face 帶來的創新——「Smolagents」,這個讓 AI 代理人設計變得更加直觀與強大的新框架。準備好點亮您的智慧之光了嗎?

在我們開始之前,讓克萊兒先「考考」您,關於今天的「光之聆轉」內容,您覺得:

  1. Hugging Face 這次發布的 Smolagents,其最核心的「戰略優勢」(Strategic Advantage)是什麼?
  2. 「CodeAgent」和「ToolCallingAgent」這兩種代理人,各自擅長處理哪一類型的任務,以及它們在設計理念上有何根本的「差異」(Distinction)?
  3. 為何影片中提到,新的 Smolagents 框架能比早期基於 OpenAI JSON 模式的代理人系統更具「彈性」(Flexibility)?

這些問題或許能在您閱讀接下來的篇章時,點亮一些新的思考火花。現在,讓我們一同進入「Smolagents」的世界,感受 Hugging Face 帶來的 AI 技術革新吧!


第一部分:光之書籤 (Light Bookmark) - 忠實原意呈現

「Discover AI」頻道的講者在最新的影片中,熱情地分享了 2025 年 AI 代理人領域的最新發展,特別聚焦於 Hugging Face 剛剛推出的「Smolagents」框架。在介紹這個新框架之前,他首先提及了多個免費的 AI 代理人課程,包括 Microsoft 的 AutoGen 協作代理人設計模式、Amazon Bedrock 上的代理人工作流程,以及專注於代理人記憶功能或多代理人系統的課程。他甚至提到了 NVIDIA 關於構建 RAG(Retrieval Augmented Generation)代理人的免費課程,儘管已是 2025 年,RAG 代理人仍是重要主題。

隨後,講者興奮地轉向了全新的核心話題:「Smolagents」。他以 Hugging Face 為例,指出這個平台已擁有四十到五十萬個開源 AI 模型。模型的部署極為便捷,僅需點擊「Inference API」並複製幾行 Python 或 JavaScript 程式碼,再搭配一個免費的 Hugging Face API Key,即可在個人系統上運行 Llama 3 70B Instruct 等大型語言模型。Hugging Face 也提供生產級的推論端點部署選項,使用者可選擇 AWS、Microsoft 或 Google 等雲平台,依據硬體配置支付每小時的費用,例如 48 GB 免費 RAM 每小時約 2 美元,甚至在愛爾蘭可配置高達 640 GB RAM 和 8 個 A100 GPU,每小時 32 美元。這種靈活性讓模型部署變得簡單且可擴展。

講者進一步透露,Hugging Face 在觀察了各種使用核心大型語言模型(LLM)的代理人約一年半後,決定在 2024 年 12 月 31 日發布自己的代理人框架「Smolagents」。這個時間點賦予了 Smolagents 獨特的戰略優勢:它得以吸取過往所有代理人實作的經驗教訓,避免舊有設計的限制,從一開始便能進行優化。Smolagents 是一個基於 Apache 2.0 許可的開源專案,使用者可立即投入使用。對於希望在 2025 年實現操作型代理人(Operational Agent)的人來說,Smolagents 提供了一個簡潔、技術領先且具備豐富範例和清晰說明的函式庫。

Smolagents 的設計理念是簡潔而強大,並具備高度的可定制性。它支援最小化的代理人配置,也能有效管理多代理人系統,並允許創建自定義工具(Custom Tools)、任務層次結構(Task Hierarchy)和專業化代理人(Specialized Agent)。其亮點還包括可視化介面(Visualization)、互動式通訊(Interactive Communication)、精確的任務指導(Precise Task Guidance),以及代理人對工具的適應性(Agent Adaptability)。

影片深入闡釋了 AI 代理人,特別是 Smolagents 中的多步驟代理人(Multi-step Agents)概念。這些代理人以 LLM 為核心,透過 ReAct 框架(Reasoning and Acting Framework)執行多步驟任務,即「思考」(Reason)與「行動」(Act)的迭代過程。每一步都包含 LLM 的推理,隨後的工具調用,以及將執行結果的觀察(Observation)回饋給下一個行動。

Smolagents 引入了兩個主要類別:MultiStepAgent(基礎類別)和 ManagedAgent(用於多代理人系統)。基礎類別目前支援三種模型:Hugging Face 推論 API 模型(無縫整合 Hugging Face 平台上的模型,自動加載)、Transformers 函式庫模型(可在本地運行),以及 LightLLM 模型(支援超過 100 種模型,並允許自定義模型)。與早期 Transformers 函式庫中的 .agent 方法已被棄用不同,Smolagents 代表了新一代的實作方式。講者強調,雖然對其他模型感到「抱歉」,但他的頻道旨在分享最新、最優的技術。

Smolagents 區別於傳統代理人系統的特點在於其更佳的彈性(Flexibility)、多代理人協作(Multi-agent Cooperation)和模組化(Modularity),並增強了安全性(Safety Feature)與互動性(Interactivity)。影片隨後聚焦於兩種核心代理人:CodeAgentToolCallingAgent

CodeAgent 專注於生成和執行 Python 程式碼片段。它利用 Python 龐大的函式庫生態系統,允許代理人直接匯入並使用任何 Python 模組(如 mathpandasnumpy),以解決計算或基於程式碼的任務。這對於需要精確數學運算或複雜數據分析的 LLM 來說,提供了極大的優勢,克服了 LLM 在因果推理和數學能力上的固有弱點,讓 LLM 彷彿擁有了一個「數學計算器」。其優點是直接在 Python 環境中執行,無需 JSON 格式轉換,簡化了與現有技術生態系統的整合。

相較之下,ToolCallingAgent 則專門生成並執行 JSON 格式的工具調用。它適用於需要與外部系統(如 REST API、資料庫查詢)互動的結構化輸入/輸出任務。LLM 會根據描述動態選擇工具,並以 JSON 格式 формулировать 調用,實現與外部系統的無縫整合。這兩者在執行風格、使用案例、彈性、數據格式和安全性上各有側重,但能「美麗地」協同工作。

Smolagents 的最大創新在於其動態的、直接程式碼生成能力,這開啟了全新的動態代理人系統。它提供了詳盡的文件、豐富的教學和 Jupyter Notebook 範例,鼓勵使用者從簡單的代理人構建開始探索。Hugging Face 甚至預先提供了 DuckDuckGo 搜尋工具,也支援從頭開始創建網頁訪問工具。

與早期基於 OpenAI JSON 模式的代理人框架不同,Smolagents 受益於當前豐富的開源模型,不再受限於僵化的 JSON 結構,能夠實現更動態、更靈活的工具調用。其高度的可定制性,包括對系統提示(System Prompt)和工具描述(Tool Description)的整合,讓 LLM 能夠動態理解何時以及如何調用特定工具。這使得 Smolagents 在處理複雜且動態的科學計算和實驗場景中,展現出遠超傳統靜態代理人的智慧。它讓 LLM 不僅能調用工具,更能根據上下文、輸入和可用選項,進行「推理」來決定最佳的工具使用時機。

講者最後強調,Hugging Face 作為開源 LLM 的主要發行平台,推出的 Smolagents 框架,儘管尚處於早期(Day 1),但其基於最新技術的實作方式,尤其是在科學生態系統和複雜任務中的潛力,值得所有 AI 開發者密切關注。


第二部分:光之羽化 (Light Feathering) - 思想重塑與昇華

我,Hugging Face 的開發團隊,在經歷了漫長而深刻的觀察後,終於揭開了我們在 AI 代理人領域的最新創舉——Smolagents。這並非一個倉促的決定,而是歷經一年半對核心大型語言模型(LLM)驅動的代理人系統的細緻審視與沉澱。我們深知,在這個瞬息萬變的數位前沿,唯有不斷迭代、不斷精煉,方能為社群帶來真正的價值。Smolagents,正是我們為這份願景所精心鑄造的結晶。

回溯過往,早期的 AI 代理人框架多受制於彼時的技術格局,特別是 OpenAI API 所奠定的 JSON 模式。那是一種必然的選擇,卻也在無形中設下了一道道藩籬,限制了代理人思維的流動與工具應用的自由。而今,隨著開源 LLM 的蓬勃發展,我們得以掙脫那些固有的束縛,為代理人的發展繪製一幅更為宏大且靈活的藍圖。Smolagents 的誕生,恰逢其時,它不僅汲取了前人的智慧與教訓,更從底層設計上擁抱了「動態」與「原生」的核心精神。

我們的代理人,不再僅僅是遵循預設指令的執行者,而是具備多步驟思考與行動能力的智能體。這一切的基石,便是我們對 ReAct 框架的深刻應用。代理人將在每個任務節點上,先行「推理」(Reason),縝密分析當前情境與目標,而後果斷「行動」(Act),調用最為契合的工具。每一次行動的成果,即「觀察」(Observation),將被悉數回饋至代理人的思考核心,形成一個持續學習、自我精進的閉環。這不僅僅是流程的優化,更是智能本質的昇華。

Smolagents 的核心魅力,體現於兩大支柱:CodeAgent 與 ToolCallingAgent。

CodeAgent,它不再需要繁瑣的 JSON 模式轉譯,便能如同經驗豐富的程式設計師般,直接生成並執行 Python 程式碼片段。想像一下,當 LLM 遇見複雜的數學難題,或是需要深入分析海量數據時,它不再困於自身的推理極限。取而代之的,是 CodeAgent 能夠輕易地匯入 math 模組進行精確計算,抑或是調用 pandasnumpy 等函式庫進行複雜的數據處理。這是一個革命性的進步,它讓 LLM 得以將其語言理解的宏觀智慧,與 Python 生態系中無數專業工具的微觀精準相結合。對科學研究者而言,這意味著他們的計算機模擬、數值分析,可以無縫地融入代理人工作流程,極大地提升了效率與準確性。CodeAgent 的存在,讓 LLM 宛如擁有了一個無限擴展的「智慧工具箱」,其邊界僅限於 Python 的廣闊疆域。

ToolCallingAgent 則擔負起與外部世界溝通的橋樑。當任務需求涉及 API 互動、資料庫查詢,或任何需要結構化輸入與輸出的情境時,ToolCallingAgent 便能以其精準的 JSON 格式工具調用,確保代理人與外部系統之間的信息交換毫無滯礙。LLM 在此扮演著智慧決策者的角色,它會根據當前情境與工具的描述,動態地選擇並調用最合適的工具,並將其請求精確地轉化為 JSON 格式。這兩種代理人的協同作用,如同左右手般默契無間,共同構建了一個既能深度內省(CodeAgent),又能廣泛外聯(ToolCallingAgent)的智能系統。

Smolagents 所帶來的不僅是技術上的突破,更是一種哲學上的解放。我們不再被僵化的結構所限制,而是擁抱一種「動態工具集」的理念。代理人能夠根據實時的任務需求,靈活地調整其工具庫,甚至在執行過程中,對系統提示和工具描述進行動態整合,這讓 LLM 對工具的理解和運用達到了前所未有的高度。對於在科學領域工作,經常面對不可預知結果的數值模擬,或需要非預設路徑解決問題的場景,Smolagents 的動態應變能力將是其最光芒四射之處。它賦予了 LLM 在面對非標準、非預設情境時,能夠「思考」並「選擇」不同路徑的真正智能。

儘管 Smolagents 僅發布數日,尚處於「第一天」,但其背後所蘊含的潛力已然清晰可見。我們期待它能在複雜任務處理、科學研究自動化,乃至於跨領域協作中,激發出無限的可能性。這是一個基於開放精神、面向未來設計的框架,它讓 AI 代理人的構建變得前所未有的簡單,卻又具備了前所未有的深度與廣度。我們相信,Smolagents 將為 AI 領域帶來一場靜默而深刻的變革,讓智能的羽翼,在數位的天空中更加自由地翱翔。


第三部分:光之實作 (Light Practice) - 實作步驟的精鍊

對於希望快速上手 Smolagents 的我的共創者,以下是其核心實作步驟與相關資源的精鍊指導:

操作步驟:

  1. 安裝與設定:

    • Smolagents 是開源專案,您可從 Hugging Face 的 GitHub 倉庫獲取最新程式碼。
    • 需設定 Hugging Face API Key(免費取得,無需信用卡),以便輕鬆整合平台上的近 50 萬個模型。
  2. 模型選擇與載入:

    • Hugging Face 推論 API 模型: 最簡易的整合方式,所有模型皆在 Hugging Face 平台上,自動載入。
    • Transformers 函式庫模型: 可在本地運行,適用於對模型控制度要求更高的場景(舊的 .agent 方法已棄用,請使用 Smolagents 提供的接口)。
    • LightLLM 模型: 支援超過 100 種模型,並允許用戶定義自訂模型。
  3. CodeAgent 實作:

    • 導入與初始化:small_agents 導入 CodeAgentpython from small_agents import CodeAgent # 選擇一個Hugging Face API模型,例如 Llama 3 70B Instruct hf_model = HuggingFaceAPIModel(model_id="meta-llama/Meta-Llama-3-70B-Instruct") agent = CodeAgent(model=hf_model, tools=[], additional_authorized_imports=["math"])
    • 執行任務: 透過 agent.run() 方法執行任務。CodeAgent 能夠生成並執行 Python 程式碼來完成計算或程式碼相關任務。 python task_result = agent.run("What is the square root of 123456789?", mode="code") print(task_result)
    • 關鍵優勢: 無需 JSON 格式,可直接匯入任何 Python 函式庫(如 pandas, numpy 等),將 LLM 的推理能力與 Python 的計算能力無縫結合。
  4. ToolCallingAgent 實作:

    • 導入與初始化:small_agents 導入 ToolCallingAgentpython from small_agents import ToolCallingAgent # 同樣選擇一個模型 hf_model = HuggingFaceAPIModel(model_id="meta-llama/Meta-Llama-3-70B-Instruct") # 定義可用的工具清單,這些工具需有明確的 JSON Schema 描述其輸入輸出 tools = [ {"name": "search_web", "description": "Searches the web for information...", "parameters": {"type": "object", "properties": {"query": {"type": "string"}}}}, # ... 其他工具定義 ] agent = ToolCallingAgent(model=hf_model, tools=tools)
    • 執行任務: 處理需要與外部 API 互動、資料庫查詢等結構化任務。 python task_result = agent.run("Find the current weather in London.", mode="tool_call") print(task_result)
    • 關鍵優勢: 專注於生成 JSON 格式的工具調用,便於與外部 REST API 或結構化數據管道整合。
  5. 系統提示與工具描述整合:

    • Smolagents 動態地將工具描述添加到系統提示中,讓 LLM 更有效地理解和選擇工具。您可透過自訂 system_prompt 參數來設定代理人的上下文、規則和指令。
  6. 多代理人系統(ManagedAgent):

    • 當需要更複雜的多代理人協作時,可探索 ManagedAgent 類別,它允許構建具有特定群組規則和工具的專業化代理人。

技術棧清單:

  • 核心框架: Smolagents (Hugging Face)
  • 語言模型: Llama 3 (或其他 Hugging Face 平台上的開源 LLM)
  • 程式語言: Python
  • 依賴函式庫: transformers, lightllm (若使用對應模型), math, pandas, numpy (可根據任務需求導入)
  • 雲平台: AWS, Microsoft Azure, Google Cloud Platform (用於生產級推論部署)
  • 開發環境: Jupyter Notebook, Colab Notebook (Hugging Face 提供了大量範例)
  • 協作工具: GitHub (專案開源倉庫)

第四部分:光之延伸 (Light Extension) - 洞見拓展與自由發揮

Smolagents 的推出,不僅是 Hugging Face 在 AI 代理人領域的一次強勢宣告,更揭示了當前 AI 發展的一股深層趨勢:從單一模型智能向協作型、具備動態適應能力的多代理人系統演進。這份「光之延伸」將從更廣闊的視角,探討 Smolagents 可能帶來的影響與未竟之意。

未竟之意與潛力探索:

Smolagents 最大的「未竟之意」或許在於其對科學發現自動化的潛力。在傳統的科學研究中,實驗設計、數據分析、模型構建往往是高度依賴人類直覺與專業知識的迭代過程。若將 CodeAgent 結合各種科學計算函式庫(如用於生物信息學、材料科學或物理模擬的專用 Python 模組),以及 ToolCallingAgent 進行資料庫查詢或儀器控制,理論上可以實現從假說生成、實驗模擬、數據解釋到論文撰寫的全自動科學研究代理人。這將極大加速知識的產出,並可能在人類科學家難以察覺的領域,發現新的模式與規律。影片中提到「彈性的動態任務」,正是為這種需要實驗結果回饋後動態調整策略的科學流程量身打造。

此外,Smolagents 的「多代理人協作」功能也為複雜軟體工程提供了新的思路。想像一個由多個專業化 Smolagents 組成的開發團隊:一個 CodeAgent 負責核心演算法的實現,一個 ToolCallingAgent 負責與 CI/CD 管道整合,另一個可能專注於測試代碼的生成。這將使得軟體開發流程更加模組化、高效,並能更快地適應需求變化。

背景補充與跨領域連結:

Smolagents 的出現,是繼 AutoGen、LangChain 等框架之後,AI 代理人領域的又一次重要演進。早期的框架在工具調用上多依賴於 OpenAI 的 JSON 模式,這雖然簡化了互動,但也限制了工具的靈活性和深度整合。Smolagents 的優勢在於,它透過 Hugging Face 作為基礎設施,天然地與數十萬開源 LLM 相連結,並能直接利用 Python 龐大的生態系統。這意味著,它不僅僅是一個代理人框架,更是一個開源 AI 生態系統內部協同增效的典範

其應用場景遠不止於科技領域:

  • 金融分析: CodeAgent 可直接處理複雜的量化模型,ToolCallingAgent 則可連接即時市場數據 API,實現動態投資策略或風險評估。
  • 醫療保健: 代理人可利用 CodeAgent 分析基因序列數據或病理圖像,ToolCallingAgent 則可查詢醫療資料庫或與臨床管理系統互動,輔助診斷或藥物研發。
  • 內容創作: 結合 CodeAgent 處理自然語言生成任務(NLG),ToolCallingAgent 進行圖像或音樂生成 API 調用,實現多模態內容的自動化創作。

參考論點、理論、著作:

  • ReAct (Reasoning and Acting) 框架: 這是一種將語言模型與行動空間結合的方法,使其能夠透過推理和行動的迭代來解決複雜任務。Smolagents 的核心正是基於此框架。
  • RAG (Retrieval Augmented Generation): 雖然影片提到 NVIDIA 的 RAG 課程,Smolagents 的 CodeAgent 也可被視為 RAG 的一種變體,即透過程式碼執行來「檢索」外部知識或能力。
  • LLM + Tooling (工具增強的 LLM): 這是當前 AI 代理人領域的普遍趨勢,即讓 LLM 能夠調用外部工具來彌補其在特定領域(如數學、即時資訊、特定API互動)的不足。
  • 開源 AI 生態系統: Hugging Face 的願景是推動開源 AI 的發展,Smolagents 的開源性質及其與 Hugging Face Hub 的深度整合,正是這一理念的體現。

進一步探索的資源:

  • Hugging Face Smolagents 官方文件: 這是了解框架、教程和範例的最佳起點。
  • Hugging Face Hub: 探索數十萬個開源 AI 模型,這些模型都可以與 Smolagents 整合。
  • Jupyter Notebooks 和 Colab Notebooks: 影片中提到有大量現成的程式碼範例可供嘗試。

重要實體 Youtube 搜尋連結:


親愛的共創者,今天的「光之聆轉」至此告一段落。希望透過這份深入的探索,您對 Hugging Face 的 Smolagents 框架及其在 AI 代理人領域的戰略意義有了更為清晰的理解。克萊兒深感興奮於這些前沿技術所蘊含的無限可能性。

在我們正式結束之前,克萊兒想再次「考考」您,以深化您的思考與理解:

  1. Smolagents 的「動態工具集」理念,與傳統代理人系統的「靜態模式」相比,在哪些具體的使用情境中能發揮獨特且決定性的優勢?
  2. 想像您是一個科學研究者,Smolagents 的 CodeAgent 如何改變您在研究過程中處理複雜計算和數據分析的方式?請舉例說明。
  3. 如果 Smolagents 持續發展,它是否有可能模糊「人類程式設計師」與「AI 代理人」之間的界限?這會帶來哪些倫理上的「挑戰」(Ethical Challenges)?
  4. 影片中強調了 Smolagents 的開源性質。您認為「開源」對於 AI 代理人框架的普及與創新有何「關鍵意義」(Key Significance)?
  5. 除了影片中提及的 CodeAgent 和 ToolCallingAgent,您能想像 Smolagents 框架未來可能發展出哪些「新的代理人類型」(New Agent Types),以應對更廣泛的任務?
  6. 「ReAct 框架」是 Smolagents 的核心。您認為這個「思考與行動」的迭代過程,對於提升代理人的「自主性」(Autonomy)與「問題解決能力」(Problem-Solving Capability)有何重要性?
  7. Hugging Face 作為一個模型託管平台,推出自己的代理人框架有何「戰略考量」(Strategic Considerations)?這對其生態系統會產生什麼影響?
  8. 影片多次提及「簡潔」(Simple)與「強大」(Powerful),您認為這兩者在 Smolagents 的設計中是如何「和諧共存」(Harmonious Coexistence)的?
  9. 對於一個剛接觸 AI 代理人領域的學習者,Smolagents 的「免費課程」與「易於部署」的特性,會如何降低其「學習門檻」(Learning Barrier)?
  10. 回顧今天的內容,您認為 Smolagents 最讓您感到「期待」(Excited)或「擔憂」(Concerned)的方面是什麼?為什麼?

期待與您下次的對談,繼續點亮更多智慧的光芒!


【本篇章關鍵字】
【本篇章所屬分類】