SmolAgents

SmolAgents

Hugging Face · 程式設計

SmolAgents 是 Hugging Face 推出的開源 AI 代理框架,也是一套 Python 代理程式庫,讓代理以撰寫程式碼的方式行動,並在沙箱中執行。

SmolAgents 的介面預覽

關於 SmolAgents

What Is SmolAgents

SmolAgents 是一套用來打造 AI 代理的 Python 函式庫,也是一個出自 Hugging Face 的開源代理框架。團隊把核心邏輯控制在約一千行以內,所以你讀得到程式碼在做什麼,而不必先學會一整牆的抽象概念。專案採開源授權,一行 pip 指令就能免費安裝。

它圍繞的想法很單純:代理應該靠撰寫程式碼來行動,而不是填一張滿是工具呼叫的 JSON 清單。它的 CodeAgent 每一步會寫一小段 Python 並執行,Hugging Face 表示這種做法能減少一項任務所需的步驟與模型呼叫次數。如果你偏好傳統方式,還有另一種 ToolCallingAgent,維持經典的 JSON 呼叫格式。

執行模型產生的程式碼本身就有風險,因此 SmolAgents 會把你推向真正的隔離環境。它支援 E2B、Blaxel、Modal 這類託管雲端沙箱,也支援自行架設的 Docker。內建的本地 Python 執行器只加了少許限制,官方文件也直言它不是安全邊界。還有一點要先知道:這是給開發者用的工具,沒有可按的應用程式,所以你得先熟悉 Python,它才會回本。

Getting Started

  1. 用 pip install "smolagents[toolkit]" 安裝套件,順便帶入一組預設工具。
  2. 選擇模型:本地的 transformers 或 Ollama 模型、Hugging Face Hub 上的供應商,或任何能透過 LiteLLM 與相容 OpenAI 的介面接上的模型。
  3. 建立一個 CodeAgent,把工具與模型交給它,再用自然語言呼叫 agent.run 下任務。
  4. 先讓代理在 E2B 或 Docker 這類沙箱中執行,再讓它碰任何重要的東西。
  5. 用 push_to_hub 把完成的代理分享到 Hub,讓其他人也能載入重用。

產品資訊

快速了解 SmolAgents 的定價、支援平台與效能。

免費方案是
付費方案N/A (free and open source)
平台Python library, CLI, Windows, macOS, Linux
開發者Hugging Face
類別程式設計
發布日期Dec 2024
最近更新May 2026
網站訪問量10.4K
網站全球排名2.3M
API 提供狀態是

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • Python 開發者:他們想要讀得懂、改得動的代理,而精簡的程式碼讓整個迴圈不必翻手冊就能看懂。
  • 使用本地模型的 AI 工程師:這套函式庫不綁定特定供應商,Ollama 或 transformers 模型和託管 API 一樣能跑。
  • 研究人員與學生:官方提供的基準測試腳本與 Hugging Face 代理課程,讓這裡成為實測程式碼代理表現的實用場地。

任務

  • 自動化多步驟研究:一個 CodeAgent 能串起網路搜尋、執行計算並彙整結果,一次跑完,不必一項工具一項工具地來。
  • 打造會上網的代理:內附的 webagent 指令能操作瀏覽器,替你抓取頁面、價格或商品細節。
  • 接上你原有的工具:你可以從 MCP 伺服器、LangChain 或 Hugging Face Space 取用工具,不必改寫它們。

情境

  • 快速驗證代理構想:幾行程式就能跑出可用的代理,讓你在投入更大架構前,先確認做法站不站得住腳。
  • 讓敏感工作留在沙箱裡:把代理指向 E2B 或 Docker 沙箱,它就能執行產生的程式碼,而不會在你機器上亂跑。
  • 把可重用的代理分享給團隊:發布到 Hub 後,一次性的腳本就成了同事一行呼叫就能載入的積木。

主要功能

以 Python 撰寫行動的程式碼代理

SmolAgents 的預設代理围绕程式碼打造。模型不再吐出一份寫著工具名稱的 JSON,而是每一步寫一小段 Python,由框架負責執行。Hugging Face 表示,這種風格在部分基準測試中少用約三成步驟,在困難題目上也拿到更好的成績,而且同一個代理能在單一動作裡跑完好幾次搜尋或計算。

沙箱化的程式碼執行

由於代理會執行自己產生的程式碼,SmolAgents 支援透過 E2B、Blaxel、Modal 這類託管沙箱,或自行架設的 Docker 容器來隔離執行。這麼一來,任意程式碼就不會落到你的主機上。本地 Python 執行器加了一些限制,但官方文件提醒它不是安全邊界,所以沙箱才是它預設的正途。

不綁定模型的設定

這套函式庫不會把你鎖在單一供應商。它內建了 Hugging Face Inference Client、LiteLLM、Together AI 與 OpenRouter 這類相容 OpenAI 的伺服器、本地 transformers 模型、Azure 與 Amazon Bedrock 的模型類別。換引擎只要改一行,這在你比較成本、或是在託管與本地模型之間切換時格外要緊。

工具與模態的彈性

你可以從 MCP 伺服器載入工具、改編 LangChain 的工具,甚至把一個 Hugging Face Space 包成工具。代理接受的也不只是文字:同一套框架能處理視覺、影片與音訊輸入,所以一個會上網或會讀圖的代理,不必另外找一套函式庫。

在 Hub 上分享與重用

代理與工具都能推上、拉下 Hugging Face Hub。完成的代理會變成一個 Space 儲存庫,讓你在任何地方呼叫,把個人腳本變成共用積木。Hub 整合正是讓重用能在團隊或社群裡真正落地的那一環。

CLI 與多代理支援

smolagent 與 webagent 兩個指令能在終端機直接跑代理,互動模式還會一步步帶你選代理類型、工具與模型設定。在此之上,SmolAgents 支援多代理階層,讓一個代理去管理另一個,你能組出一個調度搜尋代理或程式碼代理的管理者。

優缺點

優點

  • 核心約一千行,代理迴圈讀起來清楚,也容易修改。
  • 程式碼代理比起 JSON 工具呼叫能省下步驟與模型呼叫,長時間任務的成本因而降低。
  • 幾乎任何模型都能跑,從本地 Ollama 實例到 OpenAI、Anthropic 與 Bedrock 都行。
  • 透過 E2B、Blaxel、Modal 與 Docker 支援沙箱,為產生的程式碼提供真正的隔離。
  • Hub 整合讓你能發布並重用代理與工具,不必從頭重做。

缺點

  • 它是給開發者的函式庫,不是應用程式,不懂 Python 的人無法直接使用。
  • 內建的本地執行器不是安全沙箱,在沒有 E2B 或 Docker 的情況下執行不受信任的程式碼是實實在在的風險。
  • 抽象層極薄,部分串接得自己來,不像較厚重的框架附帶更多現成零件。
  • 設定遠端沙箱或本地模型,都得先花一番工夫調整,代理才會第一次跑起來。

常見問題

SmolAgents 是一套用來打造 AI 代理的 Python 函式庫,代理靠撰寫與執行程式碼來完成任務。開發者用它自動化研究、上網、工具呼叫這類多步驟工作,也在不背負厚重框架的前提下測試各種代理設計。