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

smolagents

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

Chatsistant
Imagem não disponível
NextReady
Imagem não disponível
243 0

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.

Next.js
TypeScript
Prisma
Nuanced
Imagem não disponível
20 0

CSM
Imagem não disponível
CSM
262 0

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

Geração 3D
IA
imagem para 3D
Magnet
Imagem não disponível
10 0

16x Prompt
Imagem não disponível
266 0

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.

Geração de código AI
Dify
Imagem não disponível
302 0

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.

fluxo de trabalho de IA
RAG
Grimo
Imagem não disponível
14 0

CodeDefender
Imagem não disponível
270 0

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.

análise de código
Qubinets
Imagem não disponível
226 0

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.

Implantação de IA
Magic Loops
Imagem não disponível
Code Snippets AI
Imagem não disponível
212 0

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!

snippets de código
assistente de IA
Openlayer
Imagem não disponível
321 0

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.

Observabilidade de IA
Machina Sports
Imagem não disponível
202 0

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.

IA esportiva
plataforma de IA