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

關於 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
- 用
pip install "smolagents[toolkit]"安裝套件,順便帶入一組預設工具。 - 選擇模型:本地的 transformers 或 Ollama 模型、Hugging Face Hub 上的供應商,或任何能透過 LiteLLM 與相容 OpenAI 的介面接上的模型。
- 建立一個 CodeAgent,把工具與模型交給它,再用自然語言呼叫
agent.run下任務。 - 先讓代理在 E2B 或 Docker 這類沙箱中執行,再讓它碰任何重要的東西。
- 用
push_to_hub把完成的代理分享到 Hub,讓其他人也能載入重用。
產品資訊
快速了解 SmolAgents 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- 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 函式庫,代理靠撰寫與執行程式碼來完成任務。開發者用它自動化研究、上網、工具呼叫這類多步驟工作,也在不背負厚重框架的前提下測試各種代理設計。
相關內容
探索與 SmolAgents 相關的工具、技能與文章。
SmolAgents 替代方案
Base Code
Base44 (Wix) · 程式設計 · 生產力Base Code 是 Base44 推出的共享雲端開發環境。團隊在對話中描述對既有 GitHub 儲存庫的修改,看著預覽確認結果,再以 Pull Request 交回工程團隊。
Google EmbeddingGemma 2
Google DeepMind · 寫作 · 圖片 · 程式設計Google EmbeddingGemma 2 是 7.4 億參數的開源模型,能把文字、程式碼、圖片、音訊與影片畫面轉成同一個 768 維空間裡的向量,在手機與筆電上就能執行。
GitGlow
GitGlow · 程式設計 · 生產力GitGlow 是桌面版 Git 用戶端,把你自己的程式碼與 AI 代理程式的變更集中在同一份審查裡,讓你在交付前看清楚機器上究竟要送出什麼。
