Construindo Agentes Autônomos com Smolagents e Novita AI

Construindo Agentes Autônomos com Smolagents e Novita AI

Principais Destaques

1. Agente de IA:
Permite a tomada de decisão autônoma além de fluxos de trabalho rígidos e predefinidos.
Utiliza raciocínio iterativo, execução adaptativa e aprendizado contínuo.

2. Smolagents:
Biblioteca Python leve (~1.000 linhas), simplificando a criação de agentes de IA.
Gera diretamente trechos de código Python acionáveis, executados com segurança em ambientes isolados.
Suporta diversos modelos, modalidades (texto, imagens, áudio, vídeo) e integração com ferramentas externas.

3. Suporte da Novita AI:
Compatível com Smolagents, suportando modelos poderosos como DeepSeek R1 Turbo com desempenho aprimorado e acessibilidade.

A inteligência artificial evoluiu de reconhecer padrões para gerar conteúdo criativo. O próximo salto significativo é o surgimento da IA agentiva, sistemas capazes de tomada de decisão autônoma e ação para resolver problemas complexos de múltiplas etapas. Este artigo explora o conceito de agentes de IA, aprofunda-se nas especificidades dos agentes de código, descreve como um poderia ser construído, discute o desempenho de diferentes modelos subjacentes e aborda perguntas frequentes sobre essa tecnologia transformadora.

O que é um Agente de IA?

A IA agentiva enfrenta os desafios apresentados por tarefas que fluxos de trabalho tradicionais e rígidos têm dificuldade em lidar de forma eficaz. Muitos cenários do mundo real envolvem processos complexos e cheios de nuances que não podem ser totalmente capturados por estruturas estáticas pré-definidas de if-else. A IA agentiva introduz flexibilidade e adaptabilidade nos fluxos de trabalho, capacitando os sistemas a determinar e executar dinamicamente a sequência ideal de ações com base em contextos em evolução.

https://youtu.be/-pqzyvRp3Tc

Como funciona?

A IA agentiva opera através de um loop iterativo e dinâmico de percepção, raciocínio, ação e aprendizado. Em seu núcleo, os agentes de IA utilizam Grandes Modelos de Linguagem (LLMs) como motores de raciocínio para analisar situações, planejar respostas, coordenar modelos especializados e executar tarefas. O fluxo de trabalho geralmente envolve as seguintes etapas:

  • Ingestão e Percepção de Dados: Os agentes coletam e processam dados de múltiplas fontes, obtendo consciência contextual para informar seus processos de tomada de decisão.
  • Raciocínio e Planejamento: Usando LLMs, os agentes interpretam dados, raciocinam sobre possíveis soluções, geram planos estratégicos e determinam as ações necessárias para alcançar seus objetivos.
  • Ação e Execução: Os agentes integram-se com ferramentas externas e funções predefinidas, executando tarefas com base em seus resultados de raciocínio. Eles realizam ações iterativamente, observam os resultados e ajustam conforme necessário até alcançar o resultado desejado.
  • Aprendizado Contínuo: Através de loops de feedback e técnicas como Geração Aumentada por Recuperação (RAG), os agentes acessam fontes de dados proprietárias, refinam sua compreensão e melhoram continuamente seu desempenho, precisão e relevância.

Ao combinar essas capacidades — tomada de decisão autônoma, raciocínio iterativo, integração de ferramentas externas e melhoria contínua — a IA agentiva preenche efetivamente a lacuna entre o raciocínio baseado em LLM e a execução e adaptação no mundo real.

da Nvidia

O que é smolagents?

Smolagents é uma biblioteca Python leve projetada para simplificar a construção de agentes de IA poderosos. Com uma abordagem minimalista, sua lógica central cabe em aproximadamente 1.000 linhas de código, fornecendo abstrações mínimas e maior controle direto para os desenvolvedores. Smolagents é posicionado como o sucessor de transformers.agents, que será eventualmente descontinuado. Você pode saber mais detalhes no github!

amolagents

Principais Recursos e Mecanismo Chave

✨ Simplicidade

  • Smolagents implementa lógica de agente de IA poderosa em cerca de 1.000 linhas de código, mantendo as abstrações mínimas para maior flexibilidade do desenvolvedor (veja agents.py).

🧑‍💻 Suporte de Primeira Classe para Agentes de Código

  • O CodeAgent do Smolagents gera diretamente as ações do agente como trechos de código Python em vez de JSON ou texto, melhorando eficiência e desempenho. Ele executa código com segurança em ambientes isolados (E2B, Docker) e mantém suporte para agentes tradicionais baseados em JSON/texto.

🤗 Integrações com o Hub

  • Smolagents permite compartilhar e carregar facilmente ferramentas Python reutilizáveis via Hugging Face Hub, simplificando a colaboração e o reuso de ferramentas.

🌐 Agnóstico a Modelos

  • Smolagents suporta praticamente qualquer Grande Modelo de Linguagem (LLM) — modelos locais transformers ou ollama, modelos hospedados no Hugging Face e provedores externos como OpenAI ou Anthropic via LiteLLM.

👁️ Agnóstico a Modalidades

  • Agentes criados com Smolagents podem lidar perfeitamente com diversas modalidades de entrada, incluindo texto, imagens, vídeos e áudio.

🛠️ Agnóstico a Ferramentas

  • Smolagents integra-se flexivelmente com ferramentas de vários ecossistemas, como LangChain, MCP da Anthropic ou Spaces do Hugging Face Hub.

como o smolagents funciona

Como Construir um Agente usando smolagents com a API Novita AI?

Novita AI é uma plataforma de nuvem de IA que oferece aos desenvolvedores uma maneira fácil de implantar modelos de IA usando nossa API simples, além de fornecer a nuvem GPU acessível e confiável para construir e escalar.

Smolagents suporta vários Grandes Modelos de Linguagem (LLMs), incluindo Novita AI! A seguir, usaremos o deepseek r1 turbo como exemplo para mostrar o poder do smolagents e da Novita AI!

Vale notar que a Novita AI lança uma versão Turbo com 3x de throughput e um desconto limitado de 60%!

novita ai no1

Experimente DeepSeek R1 Turbo Agora!

Um Exemplo

Entrada:

import os
from smolagents import OpenAIServerModel, CodeAgent, DuckDuckGoSearchTool

model = OpenAIServerModel(
    model_id="deepseek/deepseek-r1-turbo",
    api_base="https://api.novita.ai/v3/openai",
    api_key="Sua Chave API" # Substitua pela chave da API do servidor de destino.
)

agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)

agent.run("Por favor, planeje uma viagem de fim de semana de Xangai a Pequim, incluindo opções de transporte, roteiro e uma lista de itens essenciais")

Saída:

transport = web_search(query="transporte Xangai para Pequim viagem fim de semana 2024")                                                                                                                                                                                                                                                            
  print("Opções de transporte:", transport)                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                 
  attractions = web_search(query="roteiro 2 dias Pequim atrações principais 2024")                                                                                                                                                                                                                                                                 
  print("Recomendações de atrações:", attractions)                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                 
  details = web_search(query("itens essenciais para viajar para Pequim 2024")                                                                                                                                                                                                                                                                                   
  print("Itens essenciais e dicas:", details)                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                 
  weekend_plan = {                                                                                                                                                                                                                                                                                                                               
      "Transporte": {                                                                                                                                                                                                                                                                                                                        
          "Opção Recomendada": "Trem G12 sexta à noite (18:00-22:30) de Xangai Hongqiao para Pequim Sul",                                                                                                                                                                                                                                
          "Alternativa": "Voo de sábado de manhã (07:00-09:00+tempo de trânsito)"                                                                                                                                                                                                                                                                    
      },                                                                                                                                                                                                                                                                                                                                         
      "Roteiro": {                                                                                                                                                                                                                                                                                                                             
          "Dia 1 (Sábado)": [                                                                                                                                                                                                                                                                                                                  
              "08:30 - Praça Tiananmen (entrada gratuita)",                                                                                                                                                                                                                                                                                           
              "10:00 - Cidade Proibida (ingresso agendado, tour de 3-4h)",                                                                                                                                                                                                                                                                              
              "14:00 - Templo do Céu",                                                                                                                                                                                                                                                                                                        
              "Noite: Jantar no Lago Houhai + exploração dos hútongs"                                                                                                                                                                                                                                                                                
          ],                                                                                                                                                                                                                                                                                                                                     
          "Dia 2 (Domingo)": [                                                                                                                                                                                                                                                                                                                    
              "07:00 - Partida para Muralha Mutianyu (reservar traslado/táxi)",                                                                                                                                                                                                                                                                      
              "09:00-12:00 - Visita à Muralha (teleférico recomendado)",                                                                                                                                                                                                                                                                          
              "14:00 - Palácio de Verão",                                                                                                                                                                                                                                                                                                           
              "18:00 - Retorno à cidade, pegar trem G27 (19:00-23:18) de volta a Xangai"                                                                                                                                                                                                                                                            
          ]                                                                                                                                                                                                                                                                                                                                      
      },                                                                                                                                                                                                                                                                                                                                         
      "Itens Essenciais": [                                                                                                                                                                                                                                                                                                                            
          "Ingresso pré-agendado para a Cidade Proibida (¥60)",                                                                                                                                                                                                                                                                                              
          "Sapatos confortáveis para caminhada",                                                                                                                                                                                                                                                                                           
          "Roupas em camadas (ver previsão do tempo)",                                                                                                                                                                                                                                                                                           
          "WiFi portátil/power bank",                                                                                                                                                                                                                                                                                                            
          "Saldo no WeChat Pay/Alipay",                                                                                                                                                                                                                                                                                                           
          "RG/passaporte para retirada do bilhete de trem"                                                                                                                                                                                                                                                                                              
      ]                                                                                                                                                                                                                                                                                                                                          
  }                                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                                                 
  final_answer(weekend_plan)                                       

Resposta Final

Resposta final: {'Transporte': {'Opção Recomendada': 'Trem G12 sexta à noite (18:00-22:30) de Xangai Hongqiao para Pequim Sul', 'Alternativa': 'Voo de sábado de manhã (07:00-09:00+tempo de trânsito)'}, 'Roteiro': {'Dia 1 (Sábado)': ['08:30 - Praça Tiananmen (entrada gratuita)', '10:00 - Cidade Proibida (ingresso agendado, tour de 3-4h)', '14:00 - Templo do Céu', 'Noite: Jantar no Lago Houhai + exploração dos hútongs'], 'Dia 2 (Domingo)': ['07:00 - Partida para Muralha Mutianyu (reservar traslado/táxi)', '09:00-12:00 - Visita à Muralha (teleférico recomendado)', '14:00 - Palácio de Verão', '18:00 - Retorno à cidade, pegar trem G27 (19:00-23:18) de volta a Xangai']},         
'Itens Essenciais': ['Ingresso pré-agendado para a Cidade Proibida (¥60)', 'Sapatos confortáveis para caminhada', 'Roupas em camadas (ver previsão do tempo)', 'WiFi portátil/power bank', 'Saldo no WeChat Pay/Alipay', 'RG/passaporte para retirada do bilhete de trem']}

Comparando o Desempenho dos Modelos no smolagents

ranking de llms no smolagents

Você pode ver mais detalhes no Hugging Face

A IA agentiva representa um grande avanço na inteligência artificial, capacitando a resolução autônoma de problemas e a execução de tarefas. A biblioteca Smolagents fornece uma estrutura leve, porém poderosa, projetada especificamente para construir agentes inteligentes, enfatizando ações diretas baseadas em código e compatibilidade com uma ampla variedade de Grandes Modelos de Linguagem (LLMs). À medida que os modelos de código aberto continuam a melhorar rapidamente, o Smolagents oferece aos desenvolvedores um kit de ferramentas acessível e versátil para explorar e implementar o empolgante potencial da IA agentiva em diversos domínios.

Perguntas Frequentes

Qual é a principal diferença entre IA agentiva e IA generativa?

A IA generativa foca em criar novos conteúdos como texto e imagens, enquanto a IA agentiva foca em tomar decisões e realizar tarefas autônomas para atingir objetivos.

A execução de código no smolagents é segura?

O smolagents oferece opções para execução segura de código, incluindo um ambiente isolado usando E2B ou Docker, o que elimina o risco para o seu sistema local.

Onde posso encontrar mais informações sobre o smolagents?

Você encontra documentação completa, tutoriais e exemplos no repositório GitHub do smolagents e no espaço Hugging Face dedicado à biblioteca.

Novita AI é a plataforma completa em nuvem que impulsiona suas ambições de IA. APIs integradas, serverless, Instância GPU — as ferramentas econômicas que você precisa. Elimine a infraestrutura, comece gratuitamente e torne sua visão de IA realidade.

Leitura Recomendada