OlympHill
smolagents logo

smolagentsHugging Face's minimalist Python library för att bygga kodförsta AI-agenter på några linjer

5.0 (4)
Daniel NikulshynGranskat av Daniel Nikulshyn·Uppdaterad maj 2026

Översikt

smolagents är en öppen källkodsbaserad agentramverk från Hugging Face som fokuserar på enkelhet och en liten ytarea. Istället för att orkestrera agenter genom klibbig JSON-verksamhet gör det agenterna uttrycka actions som Python-kod, vilket tenderar att vara mer uttrycksfullt och reducerar antalet LLM-steg som krävs för att slutföra ett uppgift. Biblioteket är modelleringsoberoende, som fungerar med modeller som är värdar på Hugging Face Hub, lokala inferensservrar och större API-leverantörer som OpenAI och Anthropic. Det levereras med isolerade körningsalternativ, såsom E2B och Docker, så att genererad kod kan köras säkert, och det integrerar med gemensamma verktygs-ekosystem, inklusive Hub Spaces och LangChain-verktyg. Det är riktat till utvecklare som vill ha ett transparent och hackbart grundpunkt för projekten mot agenter istället för ett tungt, personligen meningssatt ramverk, vilket gör det anpassat för prototypering, forskning och ljusa produktionsanvändningsfall.

Nyckelfunktioner

  • KodAgent som skriver och exekverar Python för att lösa uppgifter
  • Stöd för Hugging Face, OpenAI, Anthropic och lokala modeller
  • Isolerad kodkörning med E2B- och Docker-backends
  • Verktygsintegration med Hub, LangChain och anpassade Python-funktioner
  • Inbyggd ToolCallingAgent för traditionellt JSON-stil verktygsanvändande
  • Lättviktig, minimalberoende design

Priser

Modell
Free
Betyg
5.0 / 5 (4)

Användningsfall

Bygg kodförsta AI-agenter snabbt

Utvecklare kan skapa agenter som löser uppgifter genom att skriva och exekvera Python-kod, vilket minskar antalet LLM-steg jämfört med JSON-verktygsanrop.

Kör agenter med vilken LLM-leverantör som helst

Prototyper agenter med hjälp av Hugging Face Hub-modeller, lokala inferensservrar eller API:er som OpenAI och Anthropic utan att förändra ramverket.

Säkert exekvera genererad kod

Använd E2B eller Docker-isolerade backends för att körnings agentgenererad Python i isolerade miljöer, vilket minskar säkerhetsrisken under automatiserad uppgiftshantering.

Integrera befintliga verktygssystem

Kombinera anpassade Python-funktioner med Hub Spaces och LangChain-verktyg för att utöka agentförmågan medan koden förblir minimal och läsbar.

Fördelar och nackdelar

Fördelar

  • Mycket liten, läsbar kodbas som är lätt att utöka
  • Kodbaserade åtgärder minskar steg och förbättrar agentuttrycksfullhet
  • Fungerar med många LLM-leverantörer och lokala modeller
  • Isolerad körning via E2B eller Docker för säkare kodkörning
  • Gratis och helt öppen källkod

Nackdelar

  • Kräver Python-kunskap för att använda effektivt
  • Fewer inbyggda integreringar än större agentramverk
  • Kodkörning introducerar säkerhets överväganden att hantera
  • Mindre lämpat för komplext multi-agent orkestrering utanför boksen

Stridsrekord

I 1 strid i Pantheon.

0
1:a
0
2:a
0
3:e

Last battle

Recensioner

5.0

Genomsnitt från 4 betyg.

5
4
4
0
3
0
2
0
1
0

Logga in för att lämna en recension.

Naomi Suzuki

Naomi Suzuki

Apr 15, 2026

Use it every day

Honestly didn't expect to like it this much. Tool integration with Hub, LangChain, and custom Python functions is exactly what I needed, and code-based actions reduce steps and boost agent expressiveness. I do wish requires Python knowledge to use effectively, but I reach for it almost every day now and it just clicks.

WC

Wei Chen

Dec 18, 2025

Does the job

Pretty happy overall. Tool integration with Hub, LangChain, and custom Python functions just works and very small, readable codebase that is easy to extend. Code execution introduces security considerations to manage can be annoying, but no dealbreakers — I'd recommend it to a friend without hesitating.

Jamal Carter

Jamal Carter

Nov 25, 2025

Does the job

Pretty happy overall. Sandboxed code execution with E2B and Docker backends just works and sandboxed execution via E2B or Docker for safer code running. but no dealbreakers — I'd recommend it to a friend without hesitating.

SG

Sanjay Gupta

Jul 11, 2025

Skeptical, then convinced

I went in skeptical — most tools in this space overpromise. It actually delivers on codeAgent that writes and executes Python to solve tasks, and code-based actions reduce steps and boost agent expressiveness caught me off guard. still, I'd recommend giving it a real trial.

Frågor

Hur starka är publika modeller för agensiska flöden?

Vi har skapat CodeAgent-instanser med några ledande modeller, och jämfört dem på ett benchmark som samlar frågor från några olika benchmarks för att föreslå en varierad blandning av utmaningar. Hittar ni benchmark-koden här för mer detalj för agensisk setup, och se en jämförelse mellan att använda kodagenter med LLM jämfört med vanliga (spoilers: kodagenter fungerar bättre). Denna jämförelse visar att öppna källkodsmodeller nu kan ta itu med de bästa stängda modellerna!

Asked by Diego Fernández · Feb 16, 2026

Hur litet är detta bibliotek?

Vi har strävat efter att hålla abstraktioner till minimalistisk nivå: den huvudsakliga koden i agents.py har mindre än 1 000 rader. För det mesta implementerar vi ändå flera typer av agenter: CodeAgent skriver sina handlingar som Python-kodsnippen, och mer klassiska ToolCallingAgent utnyttjar byggda-in metoder för att kommunicera med verktygen. Vi har även multi-agenter hierarkier, import från verktygskollektioner, fjärrkodkörning, seansmodeller... Så varför använda en ramverk alls? Jo, eftersom en större del av detta är svårt. Till exempel har koden för den agenskoden att hålla en konsekvent format för koden genom hela dess systemfråga, dess parser, utförande... Därmed hanterar vårt ramverk denna komplexitet åt er. Men såklart uppmuntrar vi er fortfarande att hacka i källkoden och använda bara de bitarna ni behöver, till undvikande av allt annat!

Asked by Ludovic Girard · Nov 27, 2025

Hur fungerar Code-agenter?

Vår Code-agent fungerar mestadels som traditionella ReAct-agenter - utom i den meningen att det LLMmotor skriver sina åtgärder som Python-kodklipp. Åtgärder är nu Python-kodklipp. Därför kommer verktygsanrop att ske som Python-funktionssamtal. För exemplet kan agenter utföra webbsökning över flera hemsidor i en enda åtgärd: Skrivning av åtgärder som kodklipp visar sig fungera bättre än det närvarande industrinäralaget av att låta LLM-utdata ge dikotariorn av verktyg som använder den vill: Använder 30% färre steg (och därmed 30% färre LLM-anrop) och når högre prestanda på svåra benchmark-klasser. Titta på vårt high-level-introduktion till agenter för att lära dig mer om det. Eftersom kördning av kod kan vara ett viktigt säkerhetsproblem (arbiträr kodkörning!), bör du köra agentkod i ett sandlåda. Vi stödjer flera alternativ: E2B, Blaxel, Modal - hanterade moln-sandlådor, enklast att konfigurera Docker - självvärdd kontainer-avskiljning. Den inbyggda LocalPythonExecutor är inte en säkerhets-sandlåda. Den tillämpar vissa begränsningar, men kan kringgås och bör inte användas som en säkerhetsgräns. Självfallet erbjuder vi också standard-ToolCallingAgent som skriver åtgärder som JSON/text-blobar. Du kan välja den stil som passar bäst för ditt bruk.

Asked by Greta Nowak · Oct 31, 2025

Ställ en fråga

Alternativ till Framework för AI-agenter