smolagents: Biblioteca Leve para Agentes de IA que Pensam em Código

smolagents

4 | 260 | 0
Tipo:
Projetos de Código Aberto
Última atualização:
2025/10/03
Descrição:
Smolagents é uma biblioteca Python minimalista para criar agentes de IA que raciocinam e agem por meio de código. Suporta modelos LLM agnósticos, sandboxes seguros e integração perfeita com o Hugging Face Hub para fluxos de trabalho de agentes baseados em código eficientes.
Compartilhar:
agentes de código
integração LLM
execução em sandbox
framework de agentes
agentes ReAct

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) ou webagent 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"

GitHub Next
Imagem não disponível
88 0

GitHub Next explora o futuro do desenvolvimento de software, prototipando ferramentas e tecnologias que mudarão nosso ofício. Eles identificam novas abordagens para construir equipes de engenharia de software saudáveis e produtivas.

IA para código
C1 by Thesys
Imagem não disponível
161 0

C1 by Thesys é um middleware de API que aumenta os LLMs para responder com IU interativa em tempo real em vez de texto, transformando as respostas do seu modelo em interfaces ao vivo usando React SDK.

IU generativa
Superagent
Imagem não disponível
136 0

Superagent fornece proteção em tempo de execução para agentes de IA com modelos treinados especificamente. Ele protege contra ataques, verifica saídas e redige dados confidenciais em tempo real, garantindo segurança e conformidade.

Segurança de IA
conformidade de IA
Freeplay
Imagem não disponível
208 0

Freeplay é uma plataforma de IA projetada para ajudar as equipes a construir, testar e melhorar os produtos de IA por meio do gerenciamento de prompts, avaliações, observabilidade e fluxos de trabalho de revisão de dados. Ele agiliza o desenvolvimento de IA e garante alta qualidade do produto.

Avaliações de IA
Observabilidade LLM
Botpress
Imagem não disponível
203 0

Botpress é uma plataforma completa de agentes de IA alimentada pelos LLMs mais recentes. Ele permite que você construa, implemente e gerencie agentes de IA para suporte ao cliente, automação interna e muito mais, com recursos de integração perfeitos.

Agente de IA
chatbot
LLM
Phala Cloud
Imagem não disponível
178 0

Phala Cloud oferece uma infraestrutura de nuvem de código aberto e sem confiança para implementar agentes de IA e aplicações Web3, alimentada por TEE. Garante privacidade, escalabilidade e é regido por código.

computação confidencial
TEE
Agent Zero
Imagem não disponível
283 0

Agent Zero é um framework AI open source para construir agentes autónomos que aprendem e crescem organicamente. Possui cooperação multiagente, execução de código e ferramentas personalizáveis.

agentes-autónomos
Flowise
Imagem não disponível
425 0

Flowise é uma plataforma de desenvolvimento de IA generativa de código aberto para construir visualmente agentes de IA e orquestração LLM. Crie aplicativos LLM personalizados em minutos com uma interface de usuário de arrastar e soltar.

IA sem código
orquestração LLM
Fynite
Imagem não disponível
303 0

Fynite é uma plataforma de automação empresarial com IA que unifica dados, treina modelos específicos de domínio e implanta agentes de IA autônomos para executar resultados com velocidade, escala e confiança.

automação-empresarial
Soverin
Imagem não disponível
289 0

Soverin é o mercado definitivo de IA para descobrir, comprar e aproveitar os melhores apps e agentes de IA. Automatize mais de 10.000 tarefas, desde construir agentes até escalar suporte ao cliente, e aumente a produtividade com ferramentas de automação em alta.

mercado de IA
agentes de automação
Potpie
Imagem não disponível
253 0

Construa agentes personalizados orientados a tarefas para sua base de código que executam tarefas de engenharia com alta precisão, impulsionadas por inteligência e contexto de seus dados. Crie agentes para casos de uso como design de sistemas, depuração, testes de integração, onboarding, etc.

agentes de base de código
Roo Code
Imagem não disponível
329 0

Roo Code é um assistente de codificação open-source impulsionado por IA para VS Code, com agentes de IA para edição de múltiplos arquivos, depuração e arquitetura. Suporta vários modelos, garante privacidade e se personaliza para um fluxo de trabalho eficiente.

agentes IA
edição multi-arquivo
Qwen3 Coder
Imagem não disponível
242 0

Explore o Qwen3 Coder, o modelo avançado de geração de código IA da Alibaba Cloud. Aprenda sobre seus recursos, benchmarks de desempenho e como usar esta ferramenta open-source poderosa para desenvolvimento.

geração de código
IA agentica
Warp
Imagem não disponível
386 0

Warp é uma plataforma de agentes de IA que permite executar vários agentes em paralelo para concluir qualquer tarefa de desenvolvimento. O agente de codificação número 1.

Codificação de IA
geração de código