Introdução
A construção de agentes inteligentes está se tornando uma das aplicações mais relevantes da Inteligência Artificial. Esses agentes são capazes de automatizar tarefas complexas como coleta, análise e interpretação de dados.
Neste artigo, mostramos como criar um agente simples utilizando a biblioteca smolagents — uma ferramenta leve e simples para o desenvolvimento de agentes de IA.
Você aprenderá a criar um agente que:
- Busca notícias de finanças.
- Analisa o sentimento do texto dessas notícias.
Essa aplicação é útil para analistas financeiros, economistas e cientistas de dados que desejam automatizar o monitoramento de eventos de mercado.
Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.
O que é smolagents?
smolagents é uma biblioteca open-source e leve de agentes de IA que permite aos desenvolvedores criar agentes poderosos com um código mínimo. Com um núcleo de aproximadamente 1.000 linhas no arquivo agents.py
, smolagents elimina abstrações desnecessárias, tornando o desenvolvimento mais simples e acessível. Ao focar em simplicidade e eficiência, smolagents permite que LLMs interajam facilmente com tarefas e dados do mundo real.
Principais Características do smolagents
1. Simplicidade e Facilidade de Uso
- Design Minimalista: smolagents prioriza um código limpo e conciso, permitindo que os desenvolvedores entendam e usem a estrutura sem se perderem em complexidades.
- Configuração Rápida: Basta definir os agentes, fornecer as ferramentas necessárias e executá-los. Não há necessidade de configurações elaboradas ou muito código boilerplate.
- Interface Intuitiva: O design facilita o uso tanto para iniciantes quanto para desenvolvedores experientes.
2. Suporte para Agentes de Código
- Foco em Agentes de Código: Diferente de agentes tradicionais que geram ações como JSON ou texto, o smolagents enfatiza agentes que escrevem e executam snippets de código Python para realizar ações, aproveitando a capacidade dos LLMs de gerar e interpretar código.
- Maior Eficiência: Agentes de código aumentam a eficiência e precisão, reduzindo etapas e chamadas ao LLM em aproximadamente 30%. São excelentes para lidar com tarefas e benchmarks complexos.
- Execução Segura: smolagents suporta a execução de código em ambientes isolados (sandbox), como o E2B, garantindo segurança e isolamento.
3. Ampla Compatibilidade com Modelos de Linguagem
- Integração Flexível: smolagents se integra facilmente com qualquer LLM, incluindo modelos hospedados no Hugging Face Hub via Transformers, e modelos da OpenAI, Anthropic e outros, através da integração com o LiteLLM.
- Escolha de Modelos: Os desenvolvedores têm a liberdade de escolher o LLM mais adequado às necessidades do projeto, sem se preocupar com problemas de compatibilidade.
- Design Preparado para o Futuro: À medida que surgem novos modelos, smolagents pode incorporá-los, garantindo acesso contínuo a tecnologias de ponta.
4. Integração Profunda com o Hugging Face Hub
- Compartilhamento de Ferramentas: smolagents permite que desenvolvedores compartilhem e carreguem ferramentas diretamente do Hugging Face Hub, promovendo uma comunidade colaborativa.
- Crescimento do Ecossistema: Essa integração impulsiona a expansão contínua das funcionalidades e ferramentas disponíveis no smolagents, aumentando suas capacidades.
- Engajamento da Comunidade: Desenvolvedores podem contribuir para o ecossistema, compartilhar insights e colaborar em projetos de desenvolvimento de agentes.
5. Suporte para Agentes Tradicionais com Chamada de Ferramentas
- Versatilidade: Além dos agentes de código, smolagents suporta agentes tradicionais que geram ações como blocos de texto ou JSON.
- Casos de Uso Específicos: Essa flexibilidade permite escolher o tipo de agente mais apropriado para cada necessidade do projeto.
Vantagens de Usar smolagents
- Maior Composabilidade: Agentes de código facilitam a aninhamento e reutilização de funções, permitindo expressar lógicas complexas de forma mais simples.
- Manipulação Eficiente de Objetos: Trabalhar e passar objetos é mais direto com código do que com estruturas em JSON.
- Flexibilidade Ilimitada: O código pode representar qualquer operação computacional, oferecendo possibilidades infinitas para as capacidades dos agentes.
- Aproveitamento de Dados de Treinamento: Como os LLMs são treinados com grandes volumes de código, eles são altamente proficientes em gerar e entender snippets de código.
Como usar smolagents?
SmolAgents é uma estrutura modular que permite criar agentes de inteligência artificial de forma simples, combinando funções reutilizáveis, chamadas de tools, com tarefas organizadas (tasks). O desenvolvedor define as funções e as regras de uso; depois, o agente executa tudo automaticamente, interpretando as instruções e resolvendo as tarefas sem necessidade de arquiteturas complexas.
As tools são funções independentes com nome e descrição, criadas com o decorator @tool
, que facilita sua identificação e uso pelo agente. O tools calling é o mecanismo que permite ao agente escolher e executar automaticamente as ferramentas certas conforme as instruções da tarefa. O CodeAgent é uma aplicação específica dessa estrutura, voltada para automação de tarefas computacionais e geração de código.
Na prática, se o usuário perguntar “Qual o último preço da ação da Petrobras?”, o agente analisará a solicitação, acionará automaticamente a tool que consulta uma API financeira e apresentará o preço atualizado. Todo esse fluxo ocorre sem intervenção manual, apenas com base na definição prévia das tools e das regras de execução, tornando o processo eficiente e automatizado.
Exemplo minímo com smolagents
Neste exemplo pedimos o agente buscar o último preço da ação PETR4 disponível usando a biblioteca yfinance. O agente realiza a tarefa criando um código em Python (sem intervenção humana), e entrega o resultado.
Abaixo o resultado da chamada pelo prompt do pedido. O agente gera códigos para a execução da tarefa e entrega ao usuário. Caso o código não seja aquilo que se espera, o próprio agente refaz o código até que o pedido seja concluído.
Passo a Passo: Criando um Agente para Análise de Notícias Financeiras
Neste segundo agente pedimos a tarefa de não somente buscar uma notícia relaciona a finanças da empresa NVIDIA, mas também de analisar o sentimento da notícia em positivo, neutro ou negativo.
Para facilitar o trabalho do agente, solicitamos não somente o pedido em um prompt, mas entregamos as ferramentas (tools) necessárias para a tarefa (ferramenta de busca e leitura de notícias e análise de sentimentos).
Abaixo, as bibliotecas utilizadas no exercício, e também o resultado da tarefa do agente.
Código
smolagents
: para construção do agente.
newspaper3k
: para extração automática de notícias da web.
textblob
: para análise de sentimento.
'
Sentimento Positivo
Resultados
Após a execução, o agente busca automaticamente a notícia, processa o texto e retorna uma classificação de sentimento como:
- Sentimento Positivo
- Sentimento Negativo
- Sentimento Neutro
Esse tipo de agente pode ser facilmente expandido para monitorar múltiplas fontes, criar alertas automatizados ou alimentar dashboards analíticos.
Conclusão
A utilização de SmolAgents facilita significativamente a criação de agentes inteligentes para aplicações financeiras. Neste tutorial, demonstramos como combinar coleta de dados e processamento de linguagem natural para análise automatizada de notícias — uma tarefa crítica na análise macroeconômica e financeira.
Se você deseja incorporar inteligência artificial aos seus fluxos de trabalho de análise de mercado, agentes como este são um excelente ponto de partida.
Quer aprender mais?
Conheça nossa Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e Inteligência Artificial. Aprenda do ZERO a coletar, tratar, construir modelos e apresentar dados econômicos e financeiros com o uso de Python e IA.