huggingface/smolagentsView GitHub Homepage for Latest Official Releases
Framework ligero de agentes de IA que automatiza tareas inteligentes mediante la ejecución de código Python.
Apache-2.0Pythonsmolagentshuggingface 23.0k Last Updated: September 25, 2025
smolagents - Marco de Desarrollo de Agentes de IA Ligeros
Resumen del Proyecto
smolagents es una biblioteca de Python de código abierto desarrollada por Hugging Face, centrada en la construcción de agentes de IA simples pero potentes. La idea central del proyecto es lograr la máxima funcionalidad con la mínima cantidad de código, implementando toda la lógica del agente con aproximadamente 1000 líneas de código.
Características Principales
✨ Diseño Minimalista
- La lógica central de todo el marco se controla en ~1000 líneas de código
- Minimización de la abstracción, acercándose a las operaciones de código nativo
- Creación de agentes completamente funcionales con pocas líneas de código
🧑💻 Agentes Prioritarios en Código
- Soporte para Agentes de Código (Code Agents) como ciudadanos de primera clase
- Los agentes completan tareas escribiendo y ejecutando fragmentos de código Python
- En comparación con las operaciones tradicionales en formato JSON/texto, la ejecución de código ofrece mayor flexibilidad y capacidad de combinación
🔧 Rica Integración de Herramientas
- Múltiples herramientas prácticas incorporadas, como búsqueda en DuckDuckGo, generación de imágenes, etc.
- Soporte para la expansión de herramientas personalizadas
- Profunda integración con el ecosistema de Hugging Face
Componentes Principales
Tipos de Agentes
CodeAgent (Agente de Código)
- Ejecuta tareas generando y ejecutando código Python
- Soporte para la expresión de lógica compleja y la combinación de tareas
- Posee un mecanismo de ciclo de observación-acción
ToolCallingAgent (Agente de Llamada a Herramientas)
- Especialmente diseñado para escenarios de llamada a herramientas
- Soporte para múltiples herramientas predefinidas y personalizadas
Soporte de Modelos
- HfApiModel: Soporte para varios modelos en Hugging Face Hub
- Modelos OpenAI: Compatible con la API de OpenAI
- Modelos Locales: Soporte para modelos de lenguaje implementados localmente
Herramientas Incorporadas
DuckDuckGoSearchTool
: Funcionalidad de búsqueda en la webPythonInterpreterTool
: Entorno de ejecución de código PythonImageGenerationTool
: Funcionalidad de generación de imágenes- Soporte para el desarrollo de herramientas personalizadas
Ejemplos de Uso
Creación de Agente Básico
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel
# Crear agente
agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=HfApiModel()
)
# Ejecutar tarea
result = agent.run("Calcular el vigésimo número de la secuencia de Fibonacci")
Agente Multi-Herramienta
from smolagents import CodeAgent, DuckDuckGoSearchTool, PythonInterpreterTool
agent = CodeAgent(
tools=[
DuckDuckGoSearchTool(),
PythonInterpreterTool()
],
model=HfApiModel()
)
# Ejecución de tarea compleja
result = agent.run("Buscar las últimas noticias de IA y contar la frecuencia de las palabras clave")
Arquitectura Técnica
Flujo de Trabajo
- Recepción de Tareas: Recibe instrucciones del usuario en lenguaje natural
- Generación de Código: El modelo de lenguaje grande genera el código Python correspondiente
- Ejecución de Código: Ejecuta el código generado en un entorno seguro
- Observación de Resultados: Observa los resultados de la ejecución y realiza el procesamiento posterior
- Optimización Iterativa: Ajusta y optimiza las acciones posteriores en función de los resultados
Mecanismos de Seguridad
- Aislamiento del entorno de ejecución de código
- Detección y bloqueo de código malicioso
- Limitación del uso de recursos
Comparación con Otros Marcos
En Comparación con los Marcos de Agentes Tradicionales
- Más Conciso: Menos cantidad de código, curva de aprendizaje más suave
- Más Flexible: La ejecución de código es más expresiva que el formato JSON
- Más Intuitivo: El código Python es más fácil de entender que la configuración abstracta
En Comparación con LangChain/LangGraph
- Más Ligero: Se centra en la funcionalidad central, evitando la abstracción excesiva
- Más Eficiente: Mayor eficiencia de ejecución, menor ocupación de recursos
- Más Fácil de Usar: Diseño de API más simple e intuitivo
Escenarios de Aplicación
Desarrollo y Diseño de Prototipos
- Construcción rápida de prototipos de asistentes de IA
- Educación y aprendizaje del desarrollo de agentes de IA
- Investigación y experimentación de nuevas arquitecturas de agentes
Entorno de Producción
- Automatización de flujos de trabajo
- Procesamiento y análisis de datos
- Generación y procesamiento de contenido
- Web scraping y extracción de información
Integración del Ecosistema
Integración con Hugging Face
- Acceso directo a modelos en Hugging Face Hub
- Soporte para el ajuste fino y la implementación de modelos
- Colaboración con bibliotecas como Datasets, Transformers, etc.
Soporte de la Comunidad
- Comunidad de código abierto activa
- Abundantes ejemplos y tutoriales
- Actualizaciones y mejoras continuas de funciones
Ventajas del Proyecto
- Bajo Costo de Aprendizaje: Diseño de API simple, fácil de empezar
- Fuerte Escalabilidad: Soporte para herramientas y modelos personalizados
- Excelente Rendimiento: Diseño ligero, alta eficiencia de ejecución
- Comunidad Activa: Respaldo de Hugging Face, buen soporte de la comunidad
- Código Abierto y Gratuito: Completamente de código abierto, se puede usar y modificar libremente
Instalación y Primeros Pasos
# Instalar smolagents
pip install smolagents
# Uso básico
python -c "
from smolagents import CodeAgent, HfApiModel
agent = CodeAgent(model=HfApiModel())
print(agent.run('¡Hola, Mundo!'))
"
Resumen
smolagents representa una dirección importante en el desarrollo de agentes de IA: lograr una funcionalidad más potente simplificando la complejidad. Proporciona a los desarrolladores una solución ligera pero completa, adecuada para una variedad de necesidades, desde principiantes hasta desarrolladores profesionales.