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

smolagents

4 | 256 | 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"

GitHub Next
Imagen no disponible
86 0

GitHub Next explora el futuro del desarrollo de software mediante la creación de prototipos de herramientas y tecnologías que cambiarán nuestro oficio. Identifican nuevos enfoques para construir equipos de ingeniería de software saludables y productivos.

IA para código
Superagent
Imagen no disponible
135 0

Superagent proporciona protección en tiempo de ejecución para agentes de IA con modelos entrenados específicamente. Protege contra ataques, verifica salidas y redacta datos confidenciales en tiempo real, garantizando la seguridad y el cumplimiento.

Seguridad de IA
cumplimiento de IA
Botpress
Imagen no disponible
203 0

Botpress es una plataforma completa de agentes de IA impulsada por los últimos LLM. Le permite construir, implementar y administrar agentes de IA para atención al cliente, automatización interna y más, con capacidades de integración perfectas.

Agente de IA
chatbot
LLM
Phala Cloud
Imagen no disponible
178 0

Phala Cloud ofrece una infraestructura de nube de código abierto y sin confianza para implementar agentes de IA y aplicaciones Web3, impulsada por TEE. Garantiza la privacidad, la escalabilidad y se rige por el código.

computación confidencial
TEE
Agent Zero
Imagen no disponible
283 0

Agent Zero es un framework AI open source para construir agentes autónomos que aprenden y crecen orgánicamente. Cuenta con cooperación multiagente, ejecución de código y herramientas personalizables.

agentes-autónomos
Maxim AI
Imagen no disponible
330 0

Maxim AI es una plataforma integral de evaluación y observabilidad que ayuda a los equipos a implementar agentes de IA de manera confiable y 5 veces más rápido con herramientas completas de prueba, monitoreo y garantía de calidad.

evaluación de IA
Flowise
Imagen no disponible
425 0

Flowise es una plataforma de desarrollo de IA generativa de código abierto para construir visualmente agentes de IA y orquestación LLM. Construye aplicaciones LLM personalizadas en minutos con una interfaz de usuario de arrastrar y soltar.

IA sin código
orquestación LLM
Fynite
Imagen no disponible
296 0

Fynite es una plataforma de automatización empresarial con IA que unifica datos, entrena modelos específicos de dominio y despliega agentes de IA autónomos para ejecutar resultados con velocidad, escala y confianza.

automatización-empresarial
Alan AI
Imagen no disponible
272 0

Alan AI es una plataforma de IA adaptable para aplicaciones que permite la inteligencia de autocodificación para aplicaciones empresariales. Ofrezca funciones bajo demanda con un sistema de autocodificación, reduciendo el esfuerzo del desarrollador y transformando las experiencias del usuario.

IA de autocodificación
Soverin
Imagen no disponible
286 0

Soverin es el mercado definitivo de IA para descubrir, comprar y aprovechar las mejores apps y agentes de IA. Automatiza más de 10,000 tareas, desde construir agentes hasta escalar soporte al cliente, y aumenta la productividad con herramientas de automatización trending.

mercado de IA
H2O.ai
Imagen no disponible
309 0

Solo H2O.ai proporciona una plataforma GenAI de extremo a extremo donde posees cada parte de la pila. Construida para despliegues airgapped, on-premises o VPC en la nube.

IA Soberana
Agentes IA
Potpie
Imagen no disponible
249 0

Construye agentes personalizados orientados a tareas para tu base de código que realizan tareas de ingeniería con alta precisión impulsadas por inteligencia y contexto de tus datos. Crea agentes para casos de uso como diseño de sistemas, depuración, pruebas de integración, incorporación, etc.

agentes de base de código
Roo Code
Imagen no disponible
326 0

Roo Code es un asistente de codificación impulsado por IA de código abierto para VS Code, con agentes de IA para edición de múltiples archivos, depuración y arquitectura. Soporta varios modelos, garantiza privacidad y se personaliza para tu flujo de trabajo eficiente.

agentes IA
edición multi-archivo
Qwen3 Coder
Imagen no disponible
241 0

Explora Qwen3 Coder, el avanzado modelo de generación de código IA de Alibaba Cloud. Aprende sobre sus características, benchmarks de rendimiento y cómo usar esta herramienta open-source poderosa para el desarrollo.

generación de código
AI agentica