huggingface/smolagents
🤗 smolagents: a barebones library for agents that think in code.
解決的問題
smolagents 是一個輕量級的程式庫,專為建構能透過撰寫與執行 Python 程式碼來執行任務的強大 AI 代理而設計。它簡化了建立模型無關、工具無關、模態無關代理的流程,降低維持程式碼執行與系統提示格式一致性的複雜度。
工作原理
此程式庫提供兩種主要代理類型:CodeAgent 將其動作以 Python 程式碼片段形式撰寫(使用 ReAct 迴圈),而 ToolCallingAgent 則使用標準的 JSON/文字區塊作為動作。CodeAgent 將工具呼叫視為 Python 函數呼叫,允許其在單一動作中執行複雜操作(如迴圈),據報告可減少 30% 的 LLM 呼叫,並在困難基準測試中提升效能。
為確保安全性,此程式庫支援在沙箱環境(如 E2B、Blaxel、Modal 或 Docker)中執行程式碼,因為內建的本機執行器並非安全邊界。
適用對象
希望使用最小化、無術語的框架建構代理系統,而無需複雜抽象的開發者,以及希望利用開源模型進行代理工作流程的開發者。
主要特色
- 以程式碼為先的動作:代理可撰寫 Python 程式碼與工具互動,提升效率與效能。
- 模型無關:支援任何 LLM,透過 Hugging Face Hub、本地
transformers或ollama模型、OpenAI、Anthropic 等,皆可透過 LiteLLM 實現。 - 工具無關:可與 MCP 伺服器、LangChain 工具及 Hugging Face Hub Spaces 集成。
- 多模態支援:支援文字、視覺、影片與音訊輸入。
- Hub 集成:可直接從 Hugging Face Hub 共享與拉取工具或代理。
- CLI 工具:包含用於通用任務的
smolagent與使用 Helium 進行網頁瀏覽任務的webagent。
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案