smolagents: Leichte Bibliothek für Code-denkende KI-Agenten

smolagents

4 | 22 | 0
Typ:
Open-Source-Projekte
Letzte Aktualisierung:
2025/10/03
Beschreibung:
Smolagents ist eine minimalistische Python-Bibliothek zum Erstellen von KI-Agenten, die durch Code reasoning und handeln. Sie unterstützt LLM-agnostische Modelle, sichere Sandboxes und nahtlose Hugging Face Hub-Integration für effiziente, codebasierte Agent-Workflows.
Teilen:
Code-Agenten
LLM-Integration
Sandbox-Ausführung
Agent-Framework
ReAct-Agenten

Übersicht von smolagents

Was ist Smolagents?

Smolagents ist eine leichte, open-source Python-Bibliothek, die entwickelt wurde, um die Erstellung von KI-Agenten zu vereinfachen, die hauptsächlich durch Code reasoning und Aktionen ausführen. Entwickelt vom Hugging Face-Team, zeichnet sie sich durch ihren minimalistischen Ansatz aus und integriert leistungsstarke agentische Fähigkeiten in nur etwa 1.000 Zeilen Kerncode. Im Gegensatz zu aufgeblähten Frameworks entfernt smolagents unnötige Abstraktionen und konzentriert sich auf reine Effizienz, während sie fortschrittliche Funktionen wie sichere Code-Ausführung und nahtlose Integration mit Large Language Models (LLMs) unterstützt.

Im Kern ermöglicht smolagents Entwicklern, Agenten zu bauen, die "in Code denken", was bedeutet, dass die KI Python-Snippets generiert, um Aufgaben auszuführen, anstatt auf starre JSON-Tool-Aufrufe angewiesen zu sein. Dieses code-zentrierte Paradigma hat sich bewährt, um Schritte in komplexen Workflows um bis zu 30 % zu reduzieren, was es ideal für Aufgaben macht, die mehrstufiges Reasoning erfordern, wie Web-Suchen, Datenanalysen oder die Planung von Reiserouten. Ob Sie ein Forscher sind, der mit offenen Modellen experimentiert, oder ein Ingenieur, der Produktionsagenten deployt – smolagents bietet eine flexible Grundlage für agentische KI-Systeme.

Wie funktioniert Smolagents?

Smolagents basiert auf einer ReAct-inspirierten Schleife (Reasoning and Acting), jedoch mit einem Twist: Das LLM generiert Python-Code-Snippets als Aktionen anstelle strukturierter Ausgaben. Hier ist eine Aufschlüsselung des Kernmechanismus:

  • Agent-Initialisierung: Sie beginnen damit, einen Agenten zu definieren, wie den Flaggschiff-CodeAgent, und rüsten ihn mit Tools (z. B. Web-Suche, Datei-I/O) und einem Model-Backend aus.

  • Reasoning-Phase: Das LLM (jedes unterstützte Modell) erhält den Task-Prompt, vergangene Beobachtungen und verfügbare Tools. Es reasoningt schrittweise und gibt einen Python-Code-Block aus, der die beabsichtigte Aktion beschreibt.

  • Ausführungs-Phase: Der Code-Snippet wird in einer kontrollierten Umgebung ausgeführt. Aus Sicherheitsgründen unterstützt smolagents Sandboxes wie E2B, Modal, Docker oder sogar browser-basierte Pyodide mit Deno WebAssembly. Dies verhindert, dass beliebiger Code Ihr System schädigt.

  • Beobachtung und Iteration: Ergebnisse aus der Ausführung werden in die Schleife zurückgeführt, was dem Agenten ermöglicht, seinen Ansatz zu verfeinern, bis die Aufgabe abgeschlossen ist.

Zum Beispiel, um eine Abfrage wie "Wie viele Sekunden würde es einem Leopard in Volllaufgeschwindigkeit dauern, den Pont des Arts zu durchlaufen?" zu beantworten, könnte der Agent Code generieren, um nach Leopard-Geschwindigkeit, Brückenlänge und der Berechnung zu suchen – alles in einem effizienten Snippet. Dies steht im Kontrast zu traditionellen Agenten, die mehrere Tool-Aufrufe erfordern könnten, was zu mehr LLM-Aufrufen und höheren Kosten führt.

Smolagents enthält auch ToolCallingAgent für klassische JSON-basierte Aktionen, was Nutzern Flexibilität bietet. Multi-Agent-Hierarchien werden unterstützt, bei denen ein Agent an andere delegiert, um die Skalierbarkeit für komplexe Anwendungen zu verbessern.

Kernfunktionen von Smolagents

Smolagents packt trotz seiner geringen Größe einen starken Schlag. Wichtige Funktionen umfassen:

  • Einfachheit und Minimalismus: Die Kernlogik in agents.py umfasst weniger als 1.000 Zeilen, was es einfach macht, zu verstehen, zu modifizieren und zu erweitern. Keine steile Lernkurve – nur reines Python.

  • Model-Agnostisches Design: Funktioniert mit jedem LLM über Integrationen wie Hugging Face's InferenceClient, LiteLLM (100+ Provider), OpenAI, Anthropic, lokalen Transformers, Ollama, Azure oder Amazon Bedrock. Modelle mühelos wechseln, ohne Code umzuschreiben.

  • Modalitätsunterstützung: Handhabt Text-, Vision-, Video- und Audio-Eingaben. Zum Beispiel können vision-fähige Agenten Bilder zusammen mit Text-Prompts verarbeiten, wie in dedizierten Tutorials gezeigt.

  • Tool-Flexibilität: Tools von überall integrieren – LangChain-Bibliotheken, MCP-Server oder sogar Hugging Face Spaces. Das Standard-Toolkit umfasst Essentials wie Web-Suche und Code-Ausführung.

  • Hub-Integration: Agenten direkt vom Hugging Face Hub teilen und laden. Ihren benutzerdefinierten Agenten als Space-Repository pushen für Zusammenarbeit: agent.push_to_hub("username/my_agent").

  • Sichere Ausführung: Priorisiert Sicherheit mit Sandbox-Optionen. E2B und Modal bieten cloud-basierte Isolation, während Docker für lokale Setups geeignet ist. Ein integrierter sicherer Python-Interpreter fügt eine extra Schicht für weniger riskante Umgebungen hinzu.

  • CLI-Tools: Agenten über die Kommandozeile ausführen mit smolagent für allgemeine Aufgaben (z. B. Reiseplanung mit Web-Suche und Datenimporten) oder webagent für Browser-Automatisierung mit Helium.

Diese Funktionen machen smolagents vielseitig für Prototyping und Produktion, mit Betonung auf Leistung ohne Komplexität.

Wie man Smolagents verwendet: Schritt-für-Schritt-Anleitung

Der Einstieg ist unkompliziert. Installieren Sie über pip: pip install "smolagents[toolkit]", um Standard-Tools einzuschließen.

Basis-Code-Agent-Beispiel

from smolagents import CodeAgent, WebSearchTool, InferenceClientModel

model = InferenceClientModel(model_id="microsoft/DialoGPT-medium")  # Or any LLM
agent = CodeAgent(tools=[WebSearchTool()], model=model, stream_outputs=True)
result = agent.run("Plan a trip to Tokyo, Kyoto, and Osaka between Mar 28 and Apr 7.")
print(result)

Dieses Setup nutzt Code-Generierung für Multi-Tool-Aktionen, wie Batch-Suchen oder Berechnungen.

CLI-Nutzung

Für schnelle Ausführungen ohne Scripting:

  • smolagent "Query here" --model-type InferenceClientModel --model-id Qwen/Qwen2.5-Coder-32B-Instruct --tools web_search --imports pandas numpy
  • Web-spezifisch: webagent "Navigate to site and extract details" --model-type LiteLLMModel --model-id gpt-4o

Erweitert: Sandbox-Ausführung

Um E2B-Sandbox zu aktivieren:

agent = CodeAgent(..., executor="e2b")  # Or "modal", "docker"

Dies stellt sicher, dass Code isoliert ausgeführt wird, was für unzuverlässige LLM-Ausgaben entscheidend ist.

Teilen und Laden von Agenten

Exportieren zum Hub für Wiederverwendung:

agent.push_to_hub("my_agent_space")
loaded_agent = CodeAgent.from_hub("my_agent_space")

Ideal für Team-Projekte oder öffentliche Benchmarks.

Benchmarks zeigen, dass offene Modelle wie Qwen2.5-Coder mit geschlossenen (z. B. GPT-4) in Agent-Aufgaben rivalisieren, wobei Code-Agenten Vanilla-LLMs übertreffen, indem sie vielfältige Herausforderungen wie Mathe, Suche und Planung handhaben.

Haupt-Use-Cases und praktischer Wert

Smolagents glänzt in Szenarien, die effiziente, code-getriebene Automatisierung erfordern:

  • Forschung und Entwicklung: Prototypen agentischer Workflows mit offenen LLMs. Forscher können Modelle auf benutzerdefinierten Aufgaben benchmarken, unter Nutzung der Transparenz der Bibliothek.

  • Datenanalyse und Planung: Agenten handhaben Web-Scraping, Berechnungen und Routenbau – z. B. Reiseplanung mit Echtzeit-Suchen und pandas für Datenverarbeitung.

  • Web-Automatisierung: webagent für E-Commerce, Inhalts-Extraktion oder Testing verwenden, um Benutzerinteraktionen sicher zu simulieren.

  • Multi-Modal-Aufgaben: Vision-Modelle für Bildanalyse mit Code-Ausführung kombinieren, wie das Verarbeiten von Video-Frames oder das Generieren von Berichten aus Visuellen.

  • Produktions-Deployment: In Apps über Hub Spaces oder CLI integrieren für skalierbare, latenzarme Agenten.

Der praktische Wert liegt in seiner Effizienz: Weniger LLM-Aufrufe bedeuten niedrigere Kosten und schnellere Antworten. Zum Beispiel ermöglichen Code-Snippets parallele Aktionen (z. B. mehrere Suchen auf einmal), was den Durchsatz um 30 % steigert. Es ist Apache-2.0-lizenziert und fördert Community-Beiträge – über 185 Mitwirkende haben Funktionen wie mehrsprachige Docs und remote Executor hinzugefügt.

Sicherheit ist integriert und adressiert Code-Ausführungsrisiken mit Sandboxes und Best Practices, was es für Enterprise-Use geeignet macht.

Für wen ist Smolagents?

  • Entwickler und AI-Ingenieure: Diejenigen, die übermäßig konstruierte Frameworks satt haben, werden den hackbaren Kern schätzen. Agenten für spezifische Tools oder Hierarchien anpassen.

  • Forscher: Offene vs. geschlossene Modelle in Agent-Benchmarks testen; es in Papieren zitieren mit dem bereitgestellten BibTeX.

  • Startups und Teams: Schneller Setup für Prototypen, Hub-Sharing für Zusammenarbeit.

  • Hobbyisten: CLI-Tools senken die Hürde für Experimente mit AI-Agenten.

Wenn Sie agentische Systeme bauen und Einfachheit über Bloat schätzen, ist smolagents Ihr Go-to. Warum wählen? Es demokratisiert fortschrittliche Agenten und beweist, dass offene Modelle proprietäre Power erreichen können, während alles leichtgewichtig und sicher bleibt.

Für mehr, schauen Sie in die vollständigen Docs unter huggingface.co/docs/smolagents oder tauchen Sie in das GitHub-Repo ein. Tragen Sie über den Guide bei, um seine Zukunft zu gestalten!

Beste Alternativwerkzeuge zu "smolagents"

Chatsistant
Kein Bild verfügbar
Skywork.ai
Kein Bild verfügbar
98 0

Skywork - Skywork wandelt einfache Eingaben in multimodalen Inhalt um - Docs, Slides, Sheets mit tiefer Recherche, Podcasts & Webseiten. Perfekt für Analysten, die Berichte erstellen, Pädagogen, die Folien gestalten, oder Eltern, die Hörbücher machen. Wenn du es dir vorstellen kannst, macht Skywork es wahr.

DeepResearch
Super Agents
Nuanced
Kein Bild verfügbar
20 0

NextReady
Kein Bild verfügbar
243 0

NextReady ist eine sofort einsatzbereite Next.js-Vorlage mit Prisma, TypeScript und shadcn/ui, die Entwicklern helfen soll, Webanwendungen schneller zu erstellen. Beinhaltet Authentifizierung, Zahlungen und Admin-Panel.

Next.js
TypeScript
Prisma
AskNews
Kein Bild verfügbar
191 0

AskNews überdenkt den Nachrichtenkonsum mit KI-gestützten Erkenntnissen und minimiert Verzerrungen für transparente Ansichten. Integrieren Sie Premium-Daten über die API, greifen Sie auf Analysen zu und monetarisieren Sie Inhalte weltweit.

KI-Nachrichten
Nachrichten-API
Rierino
Kein Bild verfügbar
26 0

Magic Loops
Kein Bild verfügbar
ChatBetter
Kein Bild verfügbar
14 0

fima AI
Kein Bild verfügbar
220 0

fima AI ist eine KI-gestützte Kollaborationssuite, die darauf abzielt, effiziente Arbeitssysteme neben dem menschlichen Wohlbefinden aufzubauen. Bietet Data-Ground für Datenanalysen und ein Open-Source-KI-Agent-Framework.

KI-gestützte Zusammenarbeit
PixieBrix
Kein Bild verfügbar
361 0

PixieBrix ist eine KI-Plattform für die Belegschaft, die als Browsererweiterung und Web-App bereitgestellt wird und sich mit Ihren bestehenden Tools verbindet, um Arbeitsabläufe zu automatisieren und KI-Unterstützung sicher bereitzustellen. Steigern Sie die Produktivität mit KI-Produktivitätswerkzeugen.

Workflow-Automatisierung
Tolgee
Kein Bild verfügbar
12 0

InfraNodus
Kein Bild verfügbar
11 0

Composio
Kein Bild verfügbar
352 0

Composio: APIs, SDKs, Integrationen für KI-Agenten zur Interaktion mit Apps wie Slack, HubSpot, GitHub. Erstellen Sie Agenten, die mehr können.

KI-Agent
Integrationen
Flowith
Kein Bild verfügbar
237 0

Flowith rationalisiert Aufgaben mit einer Multithread-Oberfläche, die von einem fortschrittlichen Agenten-Framework angetrieben wird. Die intuitive Leinwand steigert die Produktivität und hilft Benutzern, im Fluss zu bleiben.

KI-Arbeitsbereich
Aufgabenmanagement