🔒SecurityRepoIndex

Smolagents

HuggingFace's minimal agent framework that runs Code Agents — agents that plan by writing and executing Python, not by calling tools

4.1/ 512,000 GitHub starsPythonApache-2.0

⚡ TL;DR

What
HuggingFace's minimal agent framework that runs Code Agents — agents that plan by writing and executing Python, not by calling tools
Who
ML engineers, Data scientists, Researchers who want a readable, hackable agent, Anyone who values simplicity over magic
Catch
Code execution is powerful and dangerous (sandbox carefully)
Verdict
⭐⭐⭐⭐ Essential

🎯 The Problem It Solves

Most agents work by selecting tools (search, then read, then write). Smolagents flips this: the agent plans by *writing Python code* and executing it, with direct access to any library or function. This Code Agent paradigm (from the ReAct/CodeGen line of research) is dramatically more flexible and often more accurate — especially for data manipulation, math, or multi-step reasoning — than tool-calling agents. And the whole framework is ~1,000 lines of Python. It's the lightest, most readable way to build a capable agent.

🔧 How It Works

Smolagents is a tiny Python library from HuggingFace. You pick an agent type: CodeAgent (writes and executes Python code) or ToolCallingAgent (JSON-based tool calls). You give it a list of tools (functions, or models hosted on HuggingFace), a model (any OpenAI/HuggingFace/local LLM), and let it run. Code agents work by generating a Python program that calls your tools, executing it in a sandbox, and inspecting the result — naturally supporting loops, branches, and multi-step computation without any graph definition. Available integrations include Gradio UI, LangChain tools, OpenAI/Anthropic/local models via transformers.

🚀 Installation & Quick Start

Installation

pip install smolagents
# Optional UI:
pip install smolagents[gradio]

Quick Start

  1. pip install smolagents
  2. export OPENAI_API_KEY=sk-...
  3. python -c "from smolagents import CodeAgent, DuckDuckGoSearchTool; agent = CodeAgent(tools=[DuckDuckGoSearchTool()]); agent.run('What is the top AI news today?')"

✅ Pros

  • Simplest, most readable multi-agent framework available
  • Code agents outperform tool-callers on reasoning and math
  • Tiny codebase (~1k lines) — you can read the whole thing in an hour
  • HuggingFace integration: share tools and models on the Hub
  • No vendor lock-in — any LLM backend works

❌ Cons

  • Code execution is powerful and dangerous (sandbox carefully)
  • No built-in memory or long-term state (you build it)
  • No enterprise features (monitoring, no-code UI) — it's a library, not a platform
  • Smaller community than CrewAI/AutoGen/LangGraph

💬 Practitioner Verdict

"Smolagents is the "I want to understand and control my agent" framework. Read the entire codebase in an hour, hack it to do exactly what you want, and serve it yourself. It's not a platform — no UI, no monitoring, no enterprise features — and that's the point. For research, prototyping, and deployment where simplicity matters, it's my favorite."
Emmanuel, Security Reviewer

📊 Specifications

Language
Python
License
Apache-2.0
Platform
Linux, macOS, Windows
Kill Chain
Research / Lightweight code agents
MITRE ATT&CK
T1595, T1592

💰 Pricing Reality

Smolagents is free (Apache-2.0). Costs: LLM API usage (or local GPU). No paid tier.

👥 Community Health

Stars12,000
Forks900
Contributors90
Health Score9/10

🏷️ Tags

AgentsLLM