smolagents
Descripción general de smolagents
¿Qué es Smolagents?
Smolagents es una biblioteca ligera y de código abierto en Python diseñada para simplificar la creación de agentes de IA que razonan y ejecutan acciones principalmente a través de código. Desarrollada por el equipo de Hugging Face, se destaca por su enfoque minimalista, empaquetando capacidades agenticas potentes en solo alrededor de 1.000 líneas de código principal. A diferencia de frameworks hinchados, smolagents elimina abstracciones innecesarias, enfocándose en la eficiencia pura mientras soporta características avanzadas como la ejecución segura de código e integración fluida con modelos de lenguaje grandes (LLMs).
En su núcleo, smolagents permite a los desarrolladores construir agentes que "piensan en código", lo que significa que la IA genera fragmentos de Python para realizar tareas en lugar de depender de llamadas de herramientas JSON rígidas. Este paradigma centrado en código ha demostrado reducir los pasos hasta en un 30% en flujos de trabajo complejos, lo que lo hace ideal para tareas que requieren razonamiento multi-paso, como búsquedas web, análisis de datos o planificación de itinerarios. Ya seas un investigador experimentando con modelos abiertos o un ingeniero implementando agentes de producción, smolagents ofrece una base flexible para sistemas de IA agenticos.
¿Cómo funciona Smolagents?
Smolagents opera en un bucle inspirado en ReAct (Razonamiento y Acción), pero con un giro: el LLM genera fragmentos de código Python como acciones en lugar de salidas estructuradas. Aquí hay un desglose de su mecanismo principal:
Inicialización del Agente: Comienzas definiendo un agente, como el buque insignia
CodeAgent
, y lo equipas con herramientas (por ejemplo, búsqueda web, E/S de archivos) y un backend de modelo.Fase de Razonamiento: El LLM (cualquier modelo compatible) recibe el prompt de la tarea, observaciones pasadas y herramientas disponibles. Razona paso a paso y genera un bloque de código Python que describe la acción pretendida.
Fase de Ejecución: El fragmento de código se ejecuta en un entorno controlado. Por seguridad, smolagents soporta sandboxes como E2B, Modal, Docker o incluso Pyodide basado en navegador con Deno WebAssembly. Esto previene que código arbitrario dañe tu sistema.
Observación e Iteración: Los resultados de la ejecución retroalimentan el bucle, permitiendo al agente refinar su enfoque hasta que la tarea se complete.
Por ejemplo, para responder a una consulta como "¿Cuántos segundos tardaría un leopardo a toda velocidad en correr a través del Pont des Arts?", el agente podría generar código para buscar la velocidad del leopardo, la longitud del puente y realizar el cálculo, todo en un fragmento eficiente. Esto contrasta con agentes tradicionales que podrían requerir múltiples llamadas de herramientas, lo que lleva a más invocaciones de LLM y costos más altos.
Smolagents también incluye ToolCallingAgent
para acciones clásicas basadas en JSON, dando flexibilidad a los usuarios. Se soportan jerarquías multi-agente, donde un agente delega a otros, mejorando la escalabilidad para aplicaciones complejas.
Características Principales de Smolagents
Smolagents empaqueta un gran impacto a pesar de su pequeño tamaño. Las características clave incluyen:
Simplicidad y Minimalismo: La lógica principal en
agents.py
está bajo 1.000 líneas, lo que la hace fácil de entender, modificar y extender. No hay curva de aprendizaje empinada, solo Python puro.Diseño Agnóstico de Modelos: Funciona con cualquier LLM a través de integraciones como el InferenceClient de Hugging Face, LiteLLM (más de 100 proveedores), OpenAI, Anthropic, Transformers locales, Ollama, Azure o Amazon Bedrock. Cambia modelos sin esfuerzo sin reescribir código.
Soporte de Modalidades: Maneja entradas de texto, visión, video y audio. Por ejemplo, agentes habilitados para visión pueden procesar imágenes junto con prompts de texto, como se muestra en tutoriales dedicados.
Flexibilidad de Herramientas: Integra herramientas de cualquier lugar: bibliotecas de LangChain, servidores MCP o incluso Hugging Face Spaces. El toolkit predeterminado incluye esenciales como búsqueda web y ejecución de código.
Integración con Hub: Comparte y carga agentes directamente desde el Hugging Face Hub. Empuja tu agente personalizado como un repositorio Space para colaboración:
agent.push_to_hub("username/my_agent")
.Ejecución Segura: Prioriza la seguridad con opciones de sandbox. E2B y Modal proporcionan aislamiento basado en la nube, mientras que Docker se adapta a configuraciones locales. Un intérprete de Python seguro integrado añade una capa extra para entornos menos riesgosos.
Herramientas CLI: Ejecuta agentes vía línea de comandos con
smolagent
para tareas generales (por ejemplo, planificación de viajes con búsqueda web e importaciones de datos) owebagent
para automatización de navegador usando Helium.
Estas características hacen que smolagents sea versátil tanto para prototipado como para producción, enfatizando el rendimiento sin complejidad.
Cómo Usar Smolagents: Guía Paso a Paso
Empezar es sencillo. Instala vía pip: pip install "smolagents[toolkit]"
para incluir herramientas predeterminadas.
Ejemplo Básico de Code Agent
from smolagents import CodeAgent, WebSearchTool, InferenceClientModel
model = InferenceClientModel(model_id="microsoft/DialoGPT-medium") # O cualquier 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)
Este setup aprovecha la generación de código para acciones multi-herramienta, como búsquedas en lote o cálculos.
Uso CLI
Para ejecuciones rápidas sin scripting:
smolagent "Query here" --model-type InferenceClientModel --model-id Qwen/Qwen2.5-Coder-32B-Instruct --tools web_search --imports pandas numpy
- Específico para web:
webagent "Navigate to site and extract details" --model-type LiteLLMModel --model-id gpt-4o
Avanzado: Ejecución en Sandbox
Para habilitar sandbox E2B:
agent = CodeAgent(..., executor="e2b") # O "modal", "docker"
Esto asegura que el código se ejecute en aislamiento, crucial para salidas de LLM no confiables.
Compartir y Cargar Agentes
Exporta al Hub para reutilización:
agent.push_to_hub("my_agent_space")
loaded_agent = CodeAgent.from_hub("my_agent_space")
Ideal para proyectos en equipo o benchmarks públicos.
Los benchmarks muestran que modelos abiertos como Qwen2.5-Coder rivalizan con los cerrados (por ejemplo, GPT-4) en tareas agenticas, con agentes de código superando a LLMs vanilla al manejar desafíos diversos como matemáticas, búsqueda y planificación.
Casos de Uso Principales y Valor Práctico
Smolagents brilla en escenarios que demandan automatización eficiente impulsada por código:
Investigación y Desarrollo: Prototipa flujos de trabajo agenticos con LLMs abiertos. Los investigadores pueden benchmarkear modelos en tareas personalizadas, aprovechando la transparencia de la biblioteca.
Análisis de Datos y Planificación: Los agentes manejan scraping web, cálculos y construcción de itinerarios, por ejemplo, planificación de viajes con búsquedas en tiempo real y pandas para procesamiento de datos.
Automatización Web: Usa
webagent
para e-commerce, extracción de contenido o testing, simulando interacciones de usuario de manera segura.Tareas Multi-Modales: Combina modelos de visión para análisis de imágenes con ejecución de código, como procesar frames de video o generar reportes de visuales.
Despliegue en Producción: Integra en apps vía Hub Spaces o CLI para agentes escalables y de baja latencia.
El valor práctico radica en su eficiencia: menos llamadas a LLM significan costos más bajos y respuestas más rápidas. Por ejemplo, fragmentos de código habilitan acciones paralelas (por ejemplo, múltiples búsquedas en una sola vez), impulsando el throughput en un 30%. Está licenciado bajo Apache-2.0, fomentando contribuciones comunitarias: más de 185 colaboradores han añadido características como docs multilingües y ejecutores remotos.
La seguridad está integrada, abordando riesgos de ejecución de código con sandboxes y mejores prácticas, lo que lo hace adecuado para uso empresarial.
¿Para quién es Smolagents?
Desarrolladores e Ingenieros de IA: Aquellos cansados de frameworks sobreingenierizados apreciarán el núcleo hackeable. Personaliza agentes para herramientas específicas o jerarquías.
Investigadores: Prueba modelos abiertos vs. cerrados en benchmarks agenticos; cítalo en papers con el BibTeX proporcionado.
Startups y Equipos: Configuración rápida para prototipos, compartición en Hub para colaboración.
Aficionados: Las herramientas CLI bajan la barrera para experimentar con agentes de IA.
Si estás construyendo sistemas agenticos y valoras la simplicidad sobre el bloat, smolagents es tu opción principal. ¿Por qué elegirlo? Democratiza agentes avanzados, probando que modelos abiertos pueden igualar el poder propietario mientras mantienen las cosas ligeras y seguras.
Para más, consulta la documentación completa en huggingface.co/docs/smolagents o sumérgete en el repositorio de GitHub. ¡Contribuye vía la guía para moldear su futuro!
Mejores herramientas alternativas a "smolagents"

NextReady es una plantilla Next.js lista para usar con Prisma, TypeScript y shadcn/ui, diseñada para ayudar a los desarrolladores a crear aplicaciones web más rápido. Incluye autenticación, pagos y panel de administración.



Openlayer es una plataforma de IA empresarial que proporciona evaluación, observabilidad y gobernanza de IA unificadas para sistemas de IA, desde ML hasta LLM. Pruebe, supervise y gestione los sistemas de IA durante todo el ciclo de vida de la IA.


Hackerman es un editor de código nativo de IA moderno y hackeable que se lanzará para macOS y Linux en 2025. Una alternativa a Emacs con integración LLM.

VectorShift es una plataforma para construir aplicaciones impulsadas por IA y automatizar flujos de trabajo con una interfaz sin código y un SDK de código, integrándose con varias fuentes de datos y LLM.

fima AI es una suite de colaboración impulsada por IA que tiene como objetivo construir sistemas de trabajo eficientes junto con el bienestar humano. Cuenta con Data-Ground para análisis de datos y un marco de agente de IA de código abierto.

Qubinets es una plataforma de código abierto que simplifica la implementación y gestión de la infraestructura de IA y big data. Construye, conecta e implementa con facilidad. Concéntrate en el código, no en las configuraciones.

PageLlama convierte páginas web a markdown limpio para avisos de IA, simplificando la transformación de datos para desarrolladores y entusiastas de la IA.

Continue es una plataforma de IA continua de código abierto que ayuda a los desarrolladores a crear y ejecutar agentes de código de IA personalizados en su IDE, terminal y CI para un desarrollo de software más rápido.

Composio: API, SDK, integraciones para que los agentes de IA interactúen con aplicaciones como Slack, HubSpot, GitHub. Construye agentes que hagan más.

