导语
聊够了拖拽式平台,今天换个硬核的:HuggingFace 官方出品的 smolagents,一个让 Agent「用代码思考」的开源轻量库。GitHub 快 3 万星(约 29K,Apache 2.0),人狠话不多,几行 Python 就能把一个能上网、能查资料、能算数的智能体跑起来。搞本地模型省钱党,这玩意儿值得你多看一眼。
项目介绍
smolagents 的定位很明确——不是一个「平台」,而是一个 barebones 库,官方原话「agents that think in code」,让智能体用代码来思考。它把 Agent 最核心的地方重新设计了一遍:
- CodeAgent:默认玩法。LLM 生成的每一步「动作」是 Python 代码,代码即工具调用。做复杂任务时能自然组合(函数嵌套、循环、条件判断),比一个个 JSON 调用灵活太多,适合解题、串联推理和写代码。
- ToolCallingAgent:走 OpenAI 那套结构化 JSON 工具调用,输出严格校验、更可靠更安全,但表达力弱,适合「就是个控制器」的简单场景。
模型完全无关——HuggingFace Inference 接口、OpenAI/Anthropic(走 LiteLLM)、本地 Transformers、Ollama、甚至 mlx-lm 都能接。对本地党友好到没话说。
上手
装起来就是一条 pip:
pip install 'smolagents[litellm]'
跑一个能上网搜信息的 Agent,核心代码就这几行:
from smolagents import CodeAgent, LiteLLMModel
agent = CodeAgent(
tools=[], # 记得装 smolagents[toolkit] 才有 WebSearchTool
model=LiteLLMModel(model_id="gpt-4"),
add_base_tools=True,
)
agent.run("帮我查一下 gpt-5 最新公开的上下文长度,并算个平方。")
官方还带了 smolagent、webagent 两个命令行工具,几行配置就能快速跑 demo。写好的 Agent 和工具能直接传到 HuggingFace Hub 分享。
实话
-
别被「小程序」骗了:库虽小,心智负荷不低。它默认让 LLM 生成并执行代码,这对懂 Python、可控安全模型的人是真香;对只想拖拽小白用户,门槛比 Flowise、Dify 这些高(不过那些早有专文,可以翻历史)。
-
安全是真问题:官方明说了,没有任何本地沙箱是绝对安全的。用
LocalPythonExecutor比裸 Python 强,但万一你放了 Pillow 这类包,模型能生成代码填满你硬盘。要真正隔离就得上 Docker、E2B、Modal 这类远程沙箱。 -
强在哪:和 CrewAI 那种「角色组队」不同,smolagents 是「代码即动作」的实用派,单 Agent 深度任务极顺手,和 HuggingFace 生态(Hub、Gradio Spaces)无缝。
署名
横向 Agent 平台多如牛毛,smolagents 靠「让代码来思考」这一手差异化站稳了脚。本地模型省钱党、Python 玩家想认真玩 Agent,它是绕不开的一课。我是数码罗记,下期接着拆。
本文实测数据来自 smolagents 官方 GitHub 与文档,仅供硬核玩家少走弯路。