smolagents
Visão geral de smolagents
O que é Smolagents?
Smolagents é uma biblioteca leve e de código aberto em Python projetada para simplificar a criação de agentes de IA que raciocinam e executam ações principalmente através de código. Desenvolvida pela equipe do Hugging Face, ela se destaca por sua abordagem minimalista, embalando capacidades agenticas poderosas em apenas cerca de 1.000 linhas de código principal. Diferente de frameworks inchados, smolagents remove abstrações desnecessárias, focando em eficiência pura enquanto suporta recursos avançados como execução segura de código e integração perfeita com modelos de linguagem grandes (LLMs).
Em seu cerne, smolagents permite que desenvolvedores construam agentes que "pensam em código", significando que a IA gera trechos de Python para realizar tarefas em vez de depender de chamadas de ferramentas JSON rígidas. Esse paradigma centrado em código provou reduzir etapas em até 30% em fluxos de trabalho complexos, tornando-o ideal para tarefas que exigem raciocínio multi-etapa, como buscas na web, análise de dados ou planejamento de itinerários. Seja você um pesquisador experimentando com modelos abertos ou um engenheiro implantando agentes de produção, smolagents oferece uma base flexível para sistemas de IA agenticos.
Como Smolagents Funciona?
Smolagents opera em um loop inspirado em ReAct (Raciocínio e Ação), mas com uma torção: o LLM gera trechos de código Python como ações em vez de saídas estruturadas. Aqui vai um breakdown de seu mecanismo principal:
Inicialização do Agente: Você começa definindo um agente, como o carro-chefe
CodeAgent
, e o equipa com ferramentas (ex.: busca na web, E/S de arquivos) e um backend de modelo.Fase de Raciocínio: O LLM (qualquer modelo suportado) recebe o prompt da tarefa, observações passadas e ferramentas disponíveis. Ele raciocina passo a passo e gera um bloco de código Python descrevendo a ação pretendida.
Fase de Execução: O trecho de código é executado em um ambiente controlado. Por segurança, smolagents suporta sandboxes como E2B, Modal, Docker ou até Pyodide baseado em navegador com Deno WebAssembly. Isso previne que código arbitrário danifique seu sistema.
Observação e Iteração: Os resultados da execução alimentam de volta o loop, permitindo que o agente refine sua abordagem até que a tarefa esteja completa.
Por exemplo, para responder a uma consulta como "Quantos segundos levaria um leopardo em velocidade máxima para correr pelo Pont des Arts?", o agente pode gerar código para buscar a velocidade do leopardo, o comprimento da ponte e realizar o cálculo—tudo em um trecho eficiente. Isso contrasta com agentes tradicionais que podem exigir múltiplas chamadas de ferramentas, levando a mais invocações de LLM e custos mais altos.
Smolagents também inclui ToolCallingAgent
para ações clássicas baseadas em JSON, dando flexibilidade aos usuários. Hierarquias multi-agente são suportadas, onde um agente delega para outros, melhorando a escalabilidade para aplicações complexas.
Recursos Principais do Smolagents
Smolagents tem um impacto forte apesar de seu tamanho pequeno. Recursos chave incluem:
Simplicidade e Minimalismo: A lógica principal em
agents.py
tem menos de 1.000 linhas, tornando-a fácil de entender, modificar e estender. Sem curva de aprendizado íngreme—apenas Python puro.Design Agnóstico de Modelos: Funciona com qualquer LLM via integrações como InferenceClient do Hugging Face, LiteLLM (mais de 100 provedores), OpenAI, Anthropic, Transformers locais, Ollama, Azure ou Amazon Bedrock. Mude modelos sem esforço sem reescrever código.
Suporte a Modalidades: Lida com entradas de texto, visão, vídeo e áudio. Por exemplo, agentes habilitados para visão podem processar imagens junto com prompts de texto, como mostrado em tutoriais dedicados.
Flexibilidade de Ferramentas: Integre ferramentas de qualquer lugar—bibliotecas LangChain, servidores MCP ou até Hugging Face Spaces. O toolkit padrão inclui essenciais como busca na web e execução de código.
Integração com Hub: Compartilhe e carregue agentes diretamente do Hugging Face Hub. Empurre seu agente personalizado como um repositório Space para colaboração:
agent.push_to_hub("username/my_agent")
.Execução Segura: Prioriza segurança com opções de sandbox. E2B e Modal fornecem isolamento baseado em nuvem, enquanto Docker se adequa a setups locais. Um interpretador Python seguro integrado adiciona uma camada extra para ambientes menos arriscados.
Ferramentas CLI: Execute agentes via linha de comando com
smolagent
para tarefas gerais (ex.: planejamento de viagens com busca na web e importações de dados) ouwebagent
para automação de navegador usando Helium.
Esses recursos tornam smolagents versátil tanto para prototipagem quanto para produção, enfatizando performance sem complexidade.
Como Usar Smolagents: Guia Passo a Passo
Começar é direto. Instale via pip: pip install "smolagents[toolkit]"
para incluir ferramentas padrão.
Exemplo Básico de Code Agent
from smolagents import CodeAgent, WebSearchTool, InferenceClientModel
model = InferenceClientModel(model_id="microsoft/DialoGPT-medium") # Ou qualquer 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)
Esse setup aproveita geração de código para ações multi-ferramenta, como buscas em lote ou cálculos.
Uso CLI
Para execuções rápidas sem 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
Avançado: Execução em Sandbox
Para habilitar sandbox E2B:
agent = CodeAgent(..., executor="e2b") # Ou "modal", "docker"
Isso garante que o código rode em isolamento, crucial para saídas de LLM não confiáveis.
Compartilhando e Carregando Agentes
Exporte para Hub para reutilização:
agent.push_to_hub("my_agent_space")
loaded_agent = CodeAgent.from_hub("my_agent_space")
Ideal para projetos em equipe ou benchmarks públicos.
Benchmarks mostram que modelos abertos como Qwen2.5-Coder rivalizam com os fechados (ex.: GPT-4) em tarefas agenticas, com agentes de código superando LLMs vanilla ao lidar com desafios diversos como matemática, busca e planejamento.
Casos de Uso Principais e Valor Prático
Smolagents brilha em cenários que demandam automação eficiente impulsionada por código:
Pesquisa e Desenvolvimento: Prototipe fluxos de trabalho agenticos com LLMs abertos. Pesquisadores podem benchmarkar modelos em tarefas personalizadas, aproveitando a transparência da biblioteca.
Análise de Dados e Planejamento: Agentes lidam com scraping web, cálculos e construção de itinerários—ex.: planejamento de viagens com buscas em tempo real e pandas para crunching de dados.
Automação Web: Use
webagent
para e-commerce, extração de conteúdo ou testes, simulando interações de usuário de forma segura.Tarefas Multi-Modais: Combine modelos de visão para análise de imagens com execução de código, como processar frames de vídeo ou gerar relatórios de visuais.
Implantação em Produção: Integre em apps via Hub Spaces ou CLI para agentes escaláveis e de baixa latência.
O valor prático reside em sua eficiência: menos chamadas de LLM significam custos menores e respostas mais rápidas. Por exemplo, trechos de código habilitam ações paralelas (ex.: múltiplas buscas de uma vez), impulsionando o throughput em 30%. É licenciado sob Apache-2.0, fomentando contribuições comunitárias—mais de 185 contribuidores adicionaram recursos como docs multilíngues e executores remotos.
A segurança está embutida, abordando riscos de execução de código com sandboxes e melhores práticas, tornando-o adequado para uso empresarial.
Para Quem é Smolagents?
Desenvolvedores e Engenheiros de IA: Aqueles cansados de frameworks superengenhariados apreciarão o núcleo hackeável. Personalize agentes para ferramentas específicas ou hierarquias.
Pesquisadores: Teste modelos abertos vs. fechados em benchmarks agenticos; cite-o em papers com o BibTeX fornecido.
Startups e Equipes: Configuração rápida para protótipos, compartilhamento em Hub para colaboração.
Hobbistas: Ferramentas CLI baixam a barreira para experimentar com agentes de IA.
Se você está construindo sistemas agenticos e valoriza simplicidade sobre inchaço, smolagents é sua escolha principal. Por quê? Ele democratiza agentes avançados, provando que modelos abertos podem igualar o poder proprietário enquanto mantêm as coisas leves e seguras.
Para mais, confira a documentação completa em huggingface.co/docs/smolagents ou mergulhe no repo do GitHub. Contribua via guia para moldar seu futuro!
Melhores ferramentas alternativas para "smolagents"


NextReady é um template Next.js pronto para usar com Prisma, TypeScript e shadcn/ui, projetado para ajudar os desenvolvedores a criar aplicações web mais rapidamente. Inclui autenticação, pagamentos e painel de administração.


CSM da Common Sense Machines é uma plataforma que transforma imagens, texto e esboços em ativos e mundos 3D prontos para jogos.


16x Prompt é uma ferramenta de codificação de IA para gerenciar o contexto do código, personalizar prompts e lançar recursos mais rapidamente com integrações de API LLM. Ideal para desenvolvedores que buscam codificação eficiente assistida por IA.

Dify é uma plataforma de código aberto para construir aplicações de IA prontas para produção, fluxos de trabalho agentic e pipelines RAG. Capacite a sua equipa com IA sem código.


CodeDefender é um assistente de IA para desenvolvedores que melhora a qualidade do código através de uma melhor DX, suporte IDE (VS Code, Visual Studio, IntelliJ) e recursos de segurança. Implantável on-premise ou na nuvem.

Qubinets é uma plataforma de código aberto que simplifica a implantação e o gerenciamento da infraestrutura de IA e big data. Construa, conecte e implemente com facilidade. Concentre-se no código, não nas configurações.


Code Snippets AI melhora a codificação com o gerenciamento de snippets com tecnologia de IA, integrando perfeitamente LLMs para geração, depuração e colaboração de código eficientes. Experimente grátis!

Openlayer é uma plataforma de IA empresarial que fornece avaliação, observabilidade e governança de IA unificadas para sistemas de IA, desde ML até LLM. Teste, monitore e governe os sistemas de IA durante todo o ciclo de vida da IA.

Machina Sports é uma plataforma de agentes de IA sem servidor para esportes, permitindo a integração perfeita de IA para copilotos de apostas e engajamento de fãs. Acesse dados esportivos ao vivo e implante agentes de IA poderosos com facilidade.