smolagents: Biblioteca Ligera para Agentes AI que Piensan en Código

smolagents

4 | 28 | 0
Tipo:
Proyectos de Código Abierto
Última actualización:
2025/10/03
Descripción:
Smolagents es una biblioteca Python minimalista para crear agentes IA que razonan y actúan a través de código. Soporta modelos LLM agnósticos, sandboxes seguros e integración con Hugging Face Hub para flujos de trabajo de agentes basados en código eficientes.
Compartir:
agentes de código
integración LLM
ejecución en sandbox
marco de agentes
agentes ReAct

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) o webagent 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
Imagen no disponible
243 0

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.

Next.js
TypeScript
Prisma
Chatsistant
Imagen no disponible
Nuanced
Imagen no disponible
20 0

Openlayer
Imagen no disponible
321 0

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.

Observabilidad de la IA
Soul Machines Studio
Imagen no disponible
Hackerman
Imagen no disponible
108 0

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.

editor de código
asistente de IA
LLM
VectorShift
Imagen no disponible
245 0

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.

Desarrollo de aplicaciones de IA
fima AI
Imagen no disponible
220 0

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.

colaboración impulsada por IA
Qubinets
Imagen no disponible
226 0

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.

Implementación de IA
PageLlama
Imagen no disponible
219 0

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.

web a markdown
LLM
IA
Continue
Imagen no disponible
247 0

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.

Codificación de IA
Composio
Imagen no disponible
352 0

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

Agente de IA
integraciones
UsageGuard
Imagen no disponible
13 0

Magic Loops
Imagen no disponible